为 。如果又从堆栈中取出3个数据,则栈顶的物理地址为 。
9.在SUB AX,BX指令执行后,CF=1,说明最高有效位 ;对 数,操作结果溢出。
10.计算机中的指令由 和 两部分组成。
11.条件码中最主要的是 、 、 、 。
12.对于乘法、除法指令,其目的操作数存放在 或 中,而其源操作数可以用除 以外的任一种寻址方式。
13.指令SAR可用来对 数除2,而指令SHR则可用来对 数除2。 14.假设(DS)=0B000H,(BX)=080AH,(0B080AH)=05AEH,(0B080CH)=4000H,当执行指令“LES DI,[BX]”后(DI)= ,(ES)= 。 15.对于指令XCHG BX,[BP+SI],如果指令执行前,(BX)=6F30H,(BP)=0200H,(SI)=0046H,(SS)=2F00H,(2F246H)=4154H,则执行指令后: (BX)= ,(2F246H)= 。
16.在1000H单元中有一条二字节指令JMP SHOUT LAB,如果其中偏移量分别为30H、6CH、0B8H,则转向地址LAB的值分别为 , , 。 17.数据段中有以下定义:
ARRAY1 EQU 16H ARRAY2 DW 16H
请指出下面两条指令的寻址方式:
MOV AX, ARRAY1 ;寻址方式: 。 MOV AX, ARRAY2 ;寻址方式: 。
18.下面两条语句的区别在于 、 。
X1 EQU 1000H X2=1000H
19.指令“AND AX, STR1 AND STR2”中,STR1和STR2是两个已赋值的变量,两个AND的区别是 。
20.条件转移指令的目标地址应在本条件转移指令的下一条指令地址的 字节范围内。
21.指令LOOPZ/LOOPE是结果 或 发生转移的指令。而指令LOOPNZ/LOOPNE是结果 或 发生转移的指令。
22.调用指令CALL可分为 、 、 和 等四种调用。 23.换码指令XLAT完成的操作是 。它经常用于把一种代码转换为另一种代码。如果执行此操作,应首先建立一个字节表格,但表格的长度不能超过 。 24.下面两条指令执行后,(AH)= ,(AL)= ;
MOV AH, 10H MOV AL, 10
25.在汇编语言中,一个过程有NEAR和FAR两种属性。NEAR属性表明主程序和子程序 ,FAR属性表示主程序和子程序 。
26.如果TABLE为数据段中0032单元的符号名,其中存放的内容为1234H,当执行指令“MOV AX, TABLE”(AX)= ;而执行指令“LEA AX, TABLE”后,则(AX)= 。
27.串处理指令规定源寄存器使用 ,源串在 段中;目的寄存器使用 ,目的串必须在 段中。
28.宏的使用要经过三个步骤: 、 和 。
29.8086/8088CPU允许的最大存储空间为 ,其地址编号从 H到 H。
30.8086/8088的存储器是分段的,因此存储单元的物理地址是由 和 组合而成的。
31.标号和变量(名字)均有三种属性,它们是 、 和 属性。
32.判断无符号数运算是否溢出应根据 标志位;而判断有符号数运算是否溢出应根据 标志位。
33.在16位存储单元中能存储的最大无符号数为65535,能表示的有符号数的范围是 H到 H。
三、程序分析题
1.分析下面程序段,回答指定问题:
MOV AH, 0123H MOV BX, 0321H PUSH AX PUSH BX POP AX POP BX
问:AX= ,BX= 。 2.分析下面程序段,回答指定问题:
MOV AX, 0099H MOV BL, 88H ADD AL, BL DAA
ADC AH, 0
问:AX= ,CF= 。 3.分析下面程序段,回答指定问题:
MOV AX, 5C8FH MOV BX, 0AB8FH XOR AX, BX XOR AX, BX
问:AX= ,BX= ,CF= 。 4.分析下面程序段,回答指定问题:
MOV CX, DX NOT CX
ADD CX, DX INC CX
问:CX= ,ZF= 。
5.分析下面程序段指出程序完成的功能和运行结果:
MOV AL, 28H MOV AH, 0
SAL AX,1 MOV BX,AX SAL AX,1 SAL AX,1 ADD AX,BX
问:(1)该程序段完成的功能是 。 (2)程序运行应AX= 。 6.现有如下程序段:
DATA SEGMENT ORG 0020H DA1 DW 12H,23H DA2 DB 11H,21H DA3 EQU 1234H
DA4 EQU $-DA2 DA5 DB 31H,32H DATA ENDS
请回答:(1)该程序段已占有的存储字节数是多少?
(2)符号名DA4的值是多少?符号名DA5的值是多少? 7.阅读如下程序:
ADRR DB XXH,XXH,??,XXH NUM EQU $ -ADRR RETT DB? ?
MOV BL,OFFH
MOV CX,NUM MOV BX,-1 DON:INC BX
CMP ADRR[BX],0 LOOPZ DON JNZ NEXT NEXT:MOV RETT,BL HLT
请问:(1)该程序完成的功能是什么?
(2)程序执行后指出RETT字节单元中的内容是什么? 8.执行下列程序段后,回答问题。 ORG 1221H NUM DW 12H
?
MOV AX,NUM
MOV BX,OFFSET NUM
MOV CL,BYTE PTR NUM+1 MOV CH,TYPE NUM HLT
请问:(AX)=______,(BX)=______,(CX)=______。 9.阅读程序段:
BLOCK DB 20H,1FH,08H,81H,OFFH? RESULT DB? ?
START:LEA SI,BLOCK NEXT:INC SI
MOV CX,[SI]
INC SI
MOV AL,[SI] LOP1:CMP AL,[SI+1]
JNG NEXT MOV AL,[SI+1] LOOP LOP1 MOV RESULT,AL
HLT
请问:(1)该程序完成的功能是什么? (2)该程序循环的次数是多少?
5.阅读如下程序段,回答所提出的问题,假定X1,X2,XN为无符号数。 ORG 100H
BLOK DW X1,X2,?,XN COUNT EQU($-BLOLOK)/2 RESULT DW COUNT,? LEA BX,BLOK-2 MOV CX,RESULT XOR AX,AX GOON:ADD BX,2 CMP AX,[BX] JAE NEXT MOV AX,[BX]
NEXT:LOOP GOON MOV RESULT+2,AX
程序段执行完,回答下述问题
RESULT+2字存储单元的内容= ,BX= , 程序循环次数=
四、程序填空题
1.下面程序段完成将字变量OPR1转换成反码分别存入变量COMP和NEGA单元。请将语句补充完整。
OPR1 DW XXXXH COMP DW ? NEGA DW ? ………
MOV AX,OPR1
MOV COMP,AX
MOV NEGA,AX HLT
2.下面程序完成将字节存储单元BUF中两个压缩BCD码拆成两个非压缩BCD码并转换成两个对应的ASCII码分别存放在ASC1和ASC2单元中。请将程序补充完整。 BUF DB XXH ASC1 DB ? ASC2 DB ?
START:MOV AL,BUF MOV CL,4 OR AL,30H MOV ASC1,AL MOV AL,BUF OR AL,30H MOV ASC2,AL HLT
3.有两个有符号字数据分别存放在BUF1和BUF2单元中,下面的程序段完成将较小的数据送MIN单元,请将程序补充完整。 ……..
BUF1 DW XXXXH BUF2 DW XXXXH MIN DW ? …….
BEGIN:MOV AX,BUF1 LEA BX,BUF2 CMP AX, NEXT