第三章 8086汇编语言程序格式
汇编语言程序格式

汇编语言程序格式编程语言是计算机与人之间交流的桥梁,通过编写程序代码,我们可以指导计算机执行特定的任务。
汇编语言是一种底层的编程语言,它直接与计算机硬件进行交互,并提供了对机器指令的精细控制。
在编写汇编语言程序时,我们需要遵循一定的格式,以确保程序的正确性和可读性。
本文将介绍汇编语言程序的格式要求。
一、程序结构在编写汇编语言程序时,需要明确的程序结构是很重要的。
一个典型的汇编语言程序由如下几个部分组成:1. 数据段(.data):用于定义程序中使用的数据,如变量、常量等。
2. 代码段(.text):包含实际的机器指令,用于执行特定的任务。
3. 其他段(如堆栈段):根据需要定义的其他段。
二、指令格式每个汇编指令都有特定的格式,以便告诉计算机应该执行什么操作。
一个标准的汇编指令格式通常包含如下几个部分:1. 操作码(Opcode):用于指定要执行的操作,如“mov”用于将数据从一个位置移动到另一个位置。
2. 操作数(Operand):操作数描述了要对其进行操作的数据。
操作数可以是立即数、寄存器或内存地址等。
3. 注释(Comment):注释用于解释指令的作用和目的,提高程序的可读性。
三、指令的排列在编写汇编语言程序时,指令的排列很重要。
正确的指令排列可以提高程序执行效率和可读性。
一般而言,指令按照执行的顺序排列,具有逻辑关系的指令可以分组编写。
四、标签和跳转在程序中,我们常常需要使用标签和跳转指令来实现条件执行和循环等功能。
标签是程序中的一个标记,用于标识某个位置,而跳转指令则会根据一定的条件,跳转到指定的标签处继续执行。
在使用标签和跳转指令时,需要注意以下几点:1. 标签需要以冒号(:)结尾,以便与其他变量或指令进行区分。
2. 跳转指令一般以条件代码作为前缀,如“je”(等于跳转)、“jne”(不等于跳转)等。
五、宏定义宏定义是一种将一段常用代码片段定义为简单的符号表示的方式。
在汇编语言中使用宏定义可以提高代码的可读性和重用性。
微机原理8086汇编程序设计.ppt

MOV BL,05H OR 30H
;35H→BL
MOV CX,NOT 00FFH
;0FF00H→CX
MOV DX,789AH XOR 000FH
;7895H→DX
13/),不等(NE),小于(LT),大于(GT), 小于等于(LE)及大于等于(GE)。
•运算结果成立时逻辑值为真,用0FFFFH表示;
汇编程序不区分大小写
3/96
汇编语言语句统一格式规定
指令性语句、伪指令语句和宏指令语句的统一格式:
[名字项] 操作项 [操作数项] [;注释项]
1.名字项:最多由21个字符组成。可由下列字符组成。
①字母A~Z、a~z
②数字0~9
③特殊符号?、·、@ 、- 、$等
注意:
➢ 名字项的第一个字符不可以是数字,必须是字母或特殊字
符,但是问号本身不能单独作为名字;
➢ 如果用到特殊符号,则它必须是首字符。
➢ 汇编语言的专用保留字、寄存器名、8088/8086汇编语言中
的指令助记符、伪指令名、表达式中使用的运算符和属性
运算符等均不能作为名字项,否则汇编会给出错误信息;
➢ 名字项在程序中不能重复定义。
4/96
名字项属性
(1) 段属性:可用SIG伪指令求出 此属性用于定义标号和变量的段起始地址。标号通常在代码 段CS中定义,变量通常在DS、ES和SS段中定义。
2 DATA SEGMENT;
数据段
┇
3 DATA ENDS ;…………………………………堆栈段说明 4 STACK SEGMENT PARA STACK′STACK′;堆栈段
┇
5 STACK ENDS
;……………………………………………………………代码段说明
3-3 8086指令格式

9
微机原理与接口技术
Chapter 3 8086寻址方式和指令系统
3.2.3 指令系统的设计与编码
问题描述:给出指令字长(总位长)、指令条数(操作码位数)、可访问的主
存范围(地址码位长)、寻址方式种类(方式码位长)、寄存器数量 (寄存器编码位长)等要求,按照一定的指令格式设计出每条 指令的编码形式。
① 目的操作数与源操作数应有相同的类型。 ② 目的操作数不能是立即操作数。 ③ 操作结束后,运算结果送入目的地址,源操作数并不改变。 ④ 源操作数和目的操作数不能同时为存储器操作数。
18
微机原理与接口技术
Chapter 3 8086寻址方式和指令系统
3.3 8086的指令系统
(2)某些单操作数指令也有相同的语句格式和操作规 定, 格式:[标号:] 操作符 OPD [;注释] 指令:算术运算和位操作 操作规定: ① 操作对象为目的地址中的操作数,操作结束 后,将结果送入目的地址。 ② 单操作数的类型一定要明确。 ③ 操作数不能是立即操作数。
24
微机原理与接口技术
Chapter 3 8086寻址方式和指令系统
非法指令--两个操作数都是存储器
8086指令系统除串操作指令外,不允许两个操作数
都是存储单元(存储器操作数)
例:将字变量BUF0中的内容传送至字变量BUF1中,采用 指令:
MOV buf2, buf1 ;非法指令,修正: ;假设buf2和buf1是两个字变量 ;mov ax,buf1 ;mov buf2,ax ;假设buf2和buf1是两个字节变量 ;mov al,buf1 ;mov buf2,al
第三章 8086寻址方式和指令系统
——微机原理与接口技术 2010.春
emu8086汇编代格式

emu8086汇编代格式汇编语言是一种底层的编程语言,基于机器指令的表示形式,用来控制计算机硬件的运行。
emu8086是一个PC上的x86模拟器,可以在Windows 系统上运行,提供了一个很好的学习环境。
本文将一步一步回答关于emu8086汇编代格式的问题。
1. 什么是emu8086汇编代格式?emu8086汇编代格式是一种特定的语法形式,用来编写汇编语言程序。
它定义了代码的结构、指令的格式和操作数的使用方法。
2. emu8086汇编代格式的基本结构是什么?emu8086汇编代格式的基本结构包括标签、指令和注释。
一般情况下,一行代码只能包含一个标签或指令或注释,但可以使用分号“;”添加多个注释。
3. 标签在emu8086汇编代格式中有什么作用?标签是用来标识程序中的特定位置或指令的起始位置的。
它由一个冒号“:”后跟一个名称构成,名称可以是任意字符串,但通常使用有意义的名称。
标签可以用作跳转指令的目标。
4. 在emu8086汇编代格式中如何定义指令?指令描述了计算机硬件执行的操作。
在emu8086汇编代格式中,指令由操作码和操作数组成。
操作码是一个代表特定操作的关键字,而操作数指定操作的数据。
5. 指令的操作数在emu8086汇编代格式中有哪些类型?在emu8086汇编代格式中,操作数可以是寄存器、内存地址、立即数、偏移量或程序名。
每个操作数都有特定的表示形式和使用规则。
6. 如何使用寄存器作为操作数?在emu8086汇编代格式中,寄存器有8位和16位之分。
寄存器的名称由一个字母和一个数字构成,如AX、BX等。
要使用寄存器作为操作数,只需在指令中直接引用寄存器的名称即可。
7. 如何使用内存地址作为操作数?内存地址指的是计算机内存中的存储位置。
在emu8086汇编代格式中,使用方括号“[]”来表示内存地址。
例如,[BX]表示使用BX寄存器中的值作为内存地址。
8. 如何使用立即数作为操作数?立即数是指直接出现在指令中的数值。
第三节 80868088汇编语言

三、汇编语言语句格式汇编语言程序由若干语句组成。
汇编语言语句类型:指令语句—完成操作功能,能编排(比翻译简单)成机器语言代码(即80x86指令系统的指令);伪指令语句—为汇编程序在编排源程序时提供有关信息;宏指令语句—分为宏定义和宏调用语句,编排时用宏定义代替宏调用语句。
汇编语言语句通用格式:[名字项] 操作项[操作数项] [;注释项]1、名字项组成:可由字母、数字、特殊字符(?、.、@、_、$)组成,数字不能作首字符,.只能作首字符。
类型:标号、变量。
(1)标号组成:①语句标号--由名字+冒号(“:”)组成;②过程名、段名等—只由名字组成。
属性:段属性—标号(定义时)所在段的起始地址;偏移属性—标号与所在段起始地址间字节数;类型属性—表明引用它时的特性,段内引用为NEAR,段间引用为FAR。
(2)变量组成:在除代码段外的段中定义,只由名字组成。
属性:段属性—变量(定义时)所在段的起始地址;偏移属性—变量与所在段起始地址间字节数;类型属性—表明为它所保留的主存字节数,DB/DW/DD/DQ/DT对应1/2/4/8/10字节。
思考:标号与变量的主要区别?指令中变量的数据类型如何表示?2、操作项组成:可为指令、伪指令或宏指令的助记符。
说明:指令助记符可带指令前缀。
示例:D_SEG SEGMENTNUM1 DB 10 DUP(10) ;数据定义NUM2 DW 20 DUP(0, 4 DUP(2))NUM3 DB 10H, 5 DUP(?)NUM4 DB ‘STRING’D_SEG ENDS ;假设DS指向D_SEG段MOV AX, SEG NUM1 ;等价于AX←(DS)MOV BX, SEG NUM2 ;AX与BX值相同MOV SI, OFFSET NUM1 ;NUM1相对于段的偏移量→SI MOV DI, OFFSET NUM2 ;等价于LEA DI, NUM2MOV AH,TYPE NUM2 ;2→AHMOV BH,LENGTH NUM2 ;20→BH(指最外层参数)MOV AL,LENGTH NUM3 ;1→AL(指第一个参数)MOV CL, SIZE NUM2 ;20*2→CLMOV CH, SIZE NUM4 ;1*1→CH(4)属性运算符PTR格式:<类型> PTR表达式PTR功能:用新类型取代表达式默认的数据类型PTR说明:①表达式为MEM操作数或变量时,类型可为BYTE、WORD、DWORD,表达式为标号时,类型可为NEAR、FAR;②仅改变数据类型属性,且仅在本语句有效。
第三章 8086的指令系统

机器指令 B0 56 04 78 CB
操作码 操作数
计算机执行的指令是机器指令,是一串二进制代码。 MOV、ADD 是机器指令操作码 B0、04 的助记词。
2. 8086的机器指令格式
B1 OP D W MOD B2 B3 REG R/M B4 B5 B6
操作码 (6)
方 0-字节 寻址 向 1-字操作 方式
立即数→通用寄存器、内存单元
立即数→通用寄存器 MOV AX,2356H; MOV BH,33H; 立即数→内存单元 MOV [BX+SI],0F080H; MOV BYTE PTR [BX],12H; 源操作数、目的操作数的类型要匹配。 源操作数是单字节,目的操作数是间址、变址、基址+ 变址的内存操作数,后者必须用PTR说明是字节型。
三. 标志寄存器
1. 格式 2. 含义
1. 格式
记录当前指令执行后的特征信息,16位数据用9位
D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 O D I T S Z A P C
溢出
8位无符号数相加大于255,有符号数相加大于127或小于 -128 16位无符号数相加大于65535,有符号数相加大于32767 或者 小于-32768; 判断 操作数是有符号数,运算后O标志为1表示溢出。
寄存 器号
寻址 方式
① ② ③ ④ ⑤ ⑥
8086 指令是 1~6字节的变字节指令格式。 指令的长度:最少一个字节,最多六个字节。 B1、B2为基本字节,B3-B6 根据指令取舍。 B1字节-称作操作码字节,必不可少的。 B2-操作数寻址方式。一条指令最多可用两个操作数。 B3~B6- 一般为存储器操作地址位移量或立即操作数。
汇编语言(微机)第三章

汇编语言源程序的格式
一般情况下,定位类型、组合类型和类别说明可以 不用。 注意:SEGMENT和ENDS语句必须成对使用。 例:定义一数据段DATA
DATA SEGMENT A DB '1234' B DW 12H
DATA ENDS
22
汇编语言源程序的格式
(2)偏移地址定位语句 ORG 格式:ORG 数值表达式 功能:指定在它之后的程序段或数据块所存放的起始地 址的偏移量。
SUB1: ?
RESU: ?
?
31
汇编语言源程序的格式
④ 用DUP重复因子初始化一个数据区
格式:N DUP (表达式)
?、数值、
数值表达式
重复次数 重复装入的内容
字符等
例1: DA1 DB 2 DUP(0) DA2 DB 2 DUP(‘AB’) DA3 DW 2 DUP(1)
DA1
00
00
DA2
41
LOP: ADD AL,[BX] ADC AH,0 INC BX LOOP LOP MOV [DI] ,AX MOV AH ,4CH INT 21H
CODE ENDS END START
9
汇编语言源程序的格式
汇编语言源程序的格式
二、指令性语句 [标号:] 操作码 [操作数] [;注释项]
操作码:指明操作的性质,说明计算机要执行的具体操 作。用助记符表示。
第三章:8086汇编语言程序设计
主讲教师:范新民
整理ppt
1
8086汇编语言程序设计
1 3.2.1 汇编语言源程序的格式 2 3.2.2 常量、标识符和表达式 3 3.2.3 指示性语句 4 3.2.4 指令性语句 5 3.2.5 宏指令
华中科技大学8086汇编讲义第三章宏汇编语言

第三章宏汇编语言每种计算机语言都规定了自己的字符、基本词汇、典型语句和语法规则。
同样,汇编语言也有自己的字符、基本词汇、典型语句和语法规则。
字符:ASCII字符基本词汇:符号指令(MOV、ADD)伪指令(DB、SEGMENT等)典型语句:●机器指令语句——对应机器指令的一种操作。
●伪指令语句——无机器语言与之对应,不生成机器指令。
●宏指令语句——一条宏指令对应多条机器指令,产生一组目标代码。
语法规则:基本语法单位(常量、变量、标号、表达式)前面的例子已介绍了源程序的基本结构、格式、名字的定义、语句格式,下面将更深入地介绍有关语法规则。
3.1表达式汇编程序的语句及程序格式都比较固定,语句中除正确选择操作符之外,主要问题在于正确表示操作数地址,这涉及到寻址方式,可以归结到地址表达式的使用。
表达式:由常数、寄存器、标号、变量加上运算符构成的式子。
3.1.1.常量与数值表达式一.常量常量:从源程序翻译成目标程序期间已经有确定数值的量。
用途:赋值、作立即数、位移量。
由常量与运算符组成的式子。
数值表达式在汇编期间进行运算,结果为常量。
汇编期间允许对常量进行3种运算:1.算术运算包括:+、–、*、/、模除(MOD,取余数)、右移、左移。
2.逻辑运算●逻辑乘:AND(与)●逻辑加:OR(或)●按位加:XOR(异或)●逻辑非:NOT(非)3.关系运算包括:相等(EQ)、不等(NE)、小于(L T)、大于(GT)、小于等于(LE)、大于等于(GE)。
运算结果:关系不成立,结果为0;关系成立,结果为–1(0FFFFH)。
如:N = 50M = (N EQ 50)该关系成立,M =–1。
3.1.2.变量、标号与地址表达式一.变量变量:数据存贮单元的名字。
(存放地址的符号表示)。
变量有三个属性:段、EA、类型。
其中类型由定义时的伪指令确定(DB、DW、DD、DT)。
变量的定义:格式:[变量名] 数据定义伪指令表达式[,…]数据定义伪指令:DB、DW、DD、DQ、DT等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章8086汇编语言程序格式练习题3.4.1 单项选择题1.下列选项中不能作为名字项的是()。
A.FH B.A3 C.3B D.FADC2.下列指令不正确的是()。
A.MOV AL,123 B.MOV AL,123QC.MOV AL,123D D.MOV AL,123H3.下列指令不正确的是()。
A.MOV BL,OFFSET A B.LEA BX,AC.MOV BX,OFFSET A D.MOV BX,A4.若定义“BUF DB 1,2,3,4”,执行MOV AL,TYPE BUF 后AL=()。
A.0 B.1 C.2 D.35.若定义“A EQU 100”,执行“MOV AX,A”后,AX=()。
A.A的偏移地址B.A单元中的内容C.100 D.A的段地址6.若定义“B DW 1,2,10 DUP(0)”,则该伪指令分配()字节单元。
A.10 B.20 C.22 D.247.若定义“C DD 2,4”,则该伪指令分配()个字节单元。
A.2 B.4 C.6 D.88、伪指令是()规定的汇编说明符,它在源程序汇编时进行说明。
A、DEBUGB、LINKC、MASMD、EDIT9.在上机操作过程中,MASM命令执行后,除了生成一个目标文件外,根据选择还可以生成一个()文件。
A..LST B..EXE C..MAP D..ASM10.LINK命令执行后可以生成一个以()为扩展名的文件。
A.ASM B.EXE C.OBJ D.COM11.一个段最大可定义()字节。
A.1M B.64K C.32K D.16K12.若要求一个段的起始位置能被256整除的单元开始,在定位方式选项中应选()。
A.BYTE B.WORD C.PARA D.PAGE13.宏指令与子程序相比,在多次调用时,宏指令调用的目标程序长度比子程序调用的()。
A.相同B.长C.短D.不定14.宏指令与子程序相比,子程序调用的执行速度比宏指令的()。
A.相同B.快C.慢D.不定15.ASSUME伪指令说明了汇编程序所定义段与段寄存器的关系,它只影响()的设定。
A.源程序B.目标程序C.汇编程序D.连接程序16.设A和B为字变量,C为标号,下列指令中不正确的是()。
A.MOV AX,A B.MOV AX,BC.JNE A D.JMP C17.代码段中的语句()表示该段结束。
A.ASSUME B.CODE ENDSC.START:MOV AX,DATA D.END START18.过程定义语句以“过程名PROC”开始,以过程名()结束。
A.ENDS B.ENDP C.ENDM D.END19.一个段可以放在内存的任何地方,但起始地址应该从一个能被()整除的单元地址开始。
A.16 B.32 C.64 D.12820.在数据定义语句中,下列描述不正确的是()。
A.存放存储单元的地址可以用字节表示B.存放存储单元的地址可以用字表示C.存放存储单元的地址可以用双字表示D.存放存储单元的地址可以用四字表示3.4.2 多项选择题1.在8086汇编语言中,语句的种类有()。
A.指令性语句B.指示性语句C.汇编语句D.说明语句2.在下列的选项中,不能作为名字的有()。
A.AX B.3MA C.ABCD D.MOV3.在下列的选项中,作为变量的类型有()。
A.字节B.字C.双字D.近程4.在下列的选项中,作为标号的类型有()。
A.DB B.DD C.NEAR D.FAR5.在运算符OFFSET后可以是()。
A.标号B.变量C.表达式D.数字6.在指令“LEA BX,X”中的X可以是()。
A.标号B.变量C.表达式D.数字7.不能分配内存单元的伪指令语句有()。
A.EQU B.DW C.= D.DD8.定义一个段的伪指令语句有()。
A.NAME SEGMENT B.NAME PROCC.NAME ENDP D.NAME ENDS9.定义一个过程的伪指令语句有()。
A.NAME SEGMENT B.NAME PROCC.NAME ENDP D.NAME ENDS10.宏指令与子程序的主要区别在于()。
A.完成的功能完全不同B.目标程序的长度不同C.执行程序的速度不同D.汇编时处理的方式不同3.4.3 填空题1.汇编语言的语句有指令语句和,宏指令是的另一种形式。
2.标号的三个属性是段地址、和类型。
3.变量的三个属性是段地址、和类型。
4.标号的类型有和。
5.变量的类型有、、、四字(八字节)和十字节。
6.等价语句不能重复定义、等号语句重复定义。
7.等价语句和等号语句内存单元。
8.语句“MOV BX,OFFSET A”可用一条指令代替。
9.若定义“A DW 1234H”,指令“MOV AL,BYTE PTR A”执行后,AL= 。
10.若定义“B DW 1,2,30 DUP(5)”,则B分配的内存单元数是字节。
11.若定义C DW ‘AB’,则“MOV AL,BYTE PTR C”执行后,AL= 。
12.在程序的操作数项中使用的段名、标号名、变量名和符号名都必须在源程序中先,否则汇编程序进行汇编时就会。
13.使用伪指令和定义一个段。
14.使用伪指令和定义一个过程。
利用过程定义语句可以把程序分成小段,以便于、、调试和修改。
15.伪指令表示整个程序结束。
16.宏展开就是用宏定义取代源程序中的宏指令。
若实元个数大于变元个数,则多余的实元。
若实元个数少于变元个数,则多余的变元用代替。
17.汇编语言源程序经产生目标文件,它直接在机器上运行,还必须经过后形成可执行文件。
18.在数据段中使用字符串时,该字符必须用括起来。
当定义含有多个字符的字符串时,只能使用伪指令。
19.用汇编语言编写的程序称为,其扩展名为。
20.在源程序中只要对某一独立功能的程序段进行一次宏定义,就可以次调用它。
3.4.4 简答题1.按照下列题目要求写出每小题的伪指令。
(1)将12H、34H、56H、78H存放在字节变量A的存储单元中。
(2)将12、1638H、0E52H存放在字变量B的存储单元中。
(3)将字符串COMPUTER存放在C变量的存储单元中。
(4)将D字节变量的100个单元设置为0。
(5)将D的偏移地址存放在E变量中。
2.设数据段定义如下:DATA SEGMENTBUF1 DB 2,3BUF2 DW 4,5,6BUF3 DB 2,100 DUP(0)BUF4 DB ‘ABCDE’BUF5 DW BUF3BUF6 EQU $-BUF3DATA ENDS请回答:(1)该数据段占用的内存有多少字节?(2)BUF5单元中的值是多少?(3)BUF6的值是多少?(4)执行“MOV AL,BUF4+2”指令后,AL= 。
(5)执行“MOV AX,WORD PTR BUF1”指令后,AX= 。
3.设数据段定义如下:DATA SEGMENTA DW 23,45B DW ‘EF’C = $+5D DB 10 DUP(?)E EQU $-DF DW DDATA ENDS请回答:(1)该数据段占用的内存有多少字节?(2)C的值为多少?(3)E的值为多少?(4)执行“MOV AX,F”指令后,AX= 。
(5)执行“MOV AL,BYTE PTR B”指令后,AL= 。
4.设数据段定义如下:DATA SEGMENTBUF1 DB 36H,3,2BUF2 DW 1364H,253HBUF3 DB 30 DUP(‘ABC’)BUF4 DW $—BUF3BUF5 DB 100 DUP(0)DATA ENDS请回答:(1)执行“MOV AX,WORD PTR BUF1”后,AX= 。
(2)执行“LEA BX,BUF3”后,BX= 。
(3)执行“MOV CX,BUF4”后,CX= 。
(4)执行“MOV AL,BUF3+2”后,AL= 。
(5)执行“MOV AX,BUF2+1”后,AH= 。
5.设数据段定义如下:DATA SEGMENTA1 DB 10 DUP(‘’)A2 DW 1234H,5678H,341HA3 DW $—A2A4 DW A2A5 DB 7,3,2DATA ENDS请回答:(1)用一条指令将A2的偏移地址送BX。
(2)将A1的第6个字节送字符‘A’的ASCII码(3)将A2的第3个字节的内容送AL。
(4)将A2的第3个单元开始的字内容送AX。
(5)用一条伪指令求出A1和A2所占字节数(设伪指令的变量为C)。
6.设数据段定义如下:DATA SEGMENTA DW 2,3B DB 100 DUP(0)C DD 12345678HD DB $—BE DW BDATA ENDS请回答:(1)用一条指令将C的第2个字节的内容取出并送AL。
(2)执行完“MOV AL,LENGTH B”后,AL= 。
(3)执行完“MOV AL,TYPE C”后,AL= 。
(4)执行完“MOV AL,LENGTH A”后,AL= 。
(5)执行完“MOV AL,SIZE B”后,AL= 。
(6)执行完“MOV AL,D”后,AL= 。
(7)执行完“MOV BX,E”后,BX= 。
(8)执行完“MOV AL,A+2”后,AL= 。
7.设数据段定义如下:DATA SEGMENTA DW 1,2,3B DB ‘ABCDEF’C DW ‘AB’D DB 12H,34H,56HE = $+5DATA ENDS请回答:(1)用一条指令将B字符串中的字符‘E’送AL。
(2)用一条指令将D变量中的第2个、第3个字节的内容送AX。
(3)用一条指令将A变量中的第3个字节送AL。
(4)“MOV AX,C”执行后,AX= 。
(5)“MOV AL,E”执行后,AL= 。
8.按下列要求写出数据段DA TA的相应内容。
(1)TAB是0~9的ASCII码表。
(2)STR是字符串变量,字符串为COMPUTER。
(3)BUF是100个空格的缓冲区。
(4)COUNT是计算BUF缓冲区中字节数的常量变量。
(5)AD是存放TAB的偏移地址变量。
(6)D是字节变量,数值为15H,2,39.按下列要求写出数据段DSEG的相应内容。
(1)STR是存放字符ABCDE的字符串变量。
(2)D是存放十进制BCD数据372,2673,6852的字变量。
(3)BUF是存放10个0的字节缓冲区。
(4)E是存放BUF偏移地址和段地址的双字变量。
(5)F是常量,其值为5。
10.简述宏指令与子程序的主要区别。
11.在操作系统状态下,执行MASM程序对某一汇编语言源程序进行汇编后,除产生目标文件外,通过对答方式还可以产生对应源程序的另外两个文件。
请指出:(1)这两个文件的扩展名是什么?(2)这两个文件的功能是什么?12.简述汇编程序对宏调用作宏展开的过程。
13.设数据段定义如下:DA TA SEGMENTA DW 1,2B DB 3,4C DB ‘ABCD’D = $—CE DB 3 DUP(0)DA TA ENDS请回答:(1)画出该数据段在内存中的分配示意图。