汇编语言程序设计 综合复习
73.MOV AL,-1 NEG AL XOR AL,65
上述程序段执行后,AL的内容是 1
① 40H ② 64H ③ 01H ④ 61H
74. 设数据段中定义语句 DA1 DB 12H,34H DA2 DW 12H,34H
下面有语法错误的语句是 2
① BUF1 DW DA1 ② MOV DA1+1,AX
③ MOV BYTE PTR DA2+1,AL ④ MOV WORD PTR DA1,AX
75. DA1 DW 2A05H DA2 DB 0FAH ?
?
?
MOV AL,BYTE PTR DA1 SUB DA2,AL
上述指令执行后,DA2中的内容是 3 ① 0DAH ② 0FAH
③ 0F5H ④ 0D0H
76.在执行POP [BX]指令,寻找目的操作数时,段地址和偏移地址分别是 1
① 在DS和BX中 ② 在ES和BX中 ③ 在SS和BX中 ④ 在CS和BX中
77.MOV AL,79 ADD AL,0B1H
执行上述指令后,标志位CF和OF的值是 3 ① (CF)=0,(OF)=0 ② (CF)=0,(OF)=1 ③ (CF)=1,(OF)=0 ④ (CF)=1,(OF)=1
78.DA1 EQU WORD PTR DA2 DA2 DB 0ABH,0CDH
? ?
?
SHL DA1,1 SHR DA2,1
上述两条指令执行后,DA2中两字节单元内容分别是 2 ① 0ABH,0CDH ② 2BH,9BH ③ 4DH,57H ④ 56H,9BH
79. TEST VAR,55H
JE ZER0
11 共28页 第 页
汇编语言程序设计 综合复习
? ? ?
ZER0:??
上述程序段执行JE ZER0指令后能够产生分支的条件是 4 ① VAR=0 ② VAR=55H
③ VAR中第1,3,5,7位均为0 ④ VAR中第0,2,4,6位均为0
80. XOR AX,AX MOV AL,90H CWD
执行上述指令后,结果为 4
① (DX)=0000, (AX)=FF90H ② (DX)=FFFFH,(AX)=0090H ③ (DX)=FFFFH,(AX)=FF90H ④ (DX)=0000, (AX)=0090H
81. 在程序采用DOS系统功能调用退出用户程序时,在使用INT 21H指令前,应选用 3 指令
① MOV AX,4CH ② MOV AL,4CH ③ MOV AH,4CH ④ RET
82.设(AH)=0,(AL)=6H,(BL)=9H, 执行下面指令: ADD AL,BL AAA
之后,其结果是 1
① (AH)=1,(AL)=5 ② (AH)=0,(AL)=0FH ③ (AH)=1,(AL)=15 ④ (AH)=0,(AL)=5
83.STR1 DB ‘BeiJing 2009’ SCA DB ‘J’
? ? ?
LEA DI,STR1 MOV AL,SCA MOV CX,0CH CLD
REPNE SCASB NEXT:??
程序运行到NEXT时 CX= 1 ZF=
① 8和1 ② 7和1 ③ 10和0 ④ 10和1
84.VAR1 DW 1234H,89,255,-2,-0AH VAR2 DB 34,78H,44,22,19,-12
? ? ?
MOV AH,23H
共28页 第 12 页
汇编语言程序设计 综合复习
LEA BX,VAR1+4
MOV AL,BYTE PTR [BX+1] MOV SI,WORD PTR VAR2+3
程序段执行后 AX= 2300H SI= 1316H
① AX=23FEH SI=1317H ② AX=23FEH SI=1316H ③ AX=23FFH SI=1316H ④ AX=23FFH SI=1317H
85.测试BL的内容是否与数据5AH相等,若相等则转移到NEXT处,可实现的方法是 ① TEST BL,5AH ② XOR BL,5AH JZ NEXT JZ NEXT ③ AND BL,5AH ④ OR BL,5AH JZ NEXT JZ NEXT
86. 使用DOS系统功能调用时,子程序编号(功能号)应先放入 1 寄存器中。
① AH ② AL ③ DL ④ AX
87.设(AL)=03H,能够完成将AL中的低4位代码变反,而其高4位代码不变的指令是 2
① AND AL,0FH ② XOR AL,0FH ③ OR AL,0FH ④ SUB AL,0FH
88. 下列指令能够使AX中的数据必为奇数的是 3
① AND AX,0001H ② XOR AX,0001H ③ OR AX,0001H ④ ADD AX,0001H
89. 下列指令中有语法错误的是 1
① MOV CS,AX ② MOV DS,AX ③ MOV SS,AX ④ MOV ES,AX
90. BUFF单元开始,连续存放了十个字节数据,欲找出与AL中内容不同的数,并将不
同数据的地址偏移量送ADR单元,应选用的指令序列是 3 ① REPZ CMPSB ② REPNZ CMPSB
JZ K1 JZ K1
MOV ADR,DI MOV ADR,DI K1: ?? K1: ??
③ REPZ SCASB ④ REPNZ SCASB JZ K1 JNZ K1 DEC DI DEC DI MOV ADR,DI MOV ADR,DI K1: ?? K1: ??
91.已知AX=0FFFFH,DX=0001H MOV CX,2 LOP:SHL AX,1 RCL DX,1 LOOP LOP
共28页 第 13 页
汇编语言程序设计 综合复习
上述程序段执行后DX= 4 AX=
① DX=0006H AX=0FFFDH ② DX=0006H AX=0FFFCH ③ DX=0007H AX=0FFFDH ④ DX=0007H AX=0FFFCH
92. ARRAY DW 6,9,$+4,10H,$+4
? ? ?
MOV AX,ARRAY+4
设变量ARRAY的偏移量是0084H,上述指令执行后AX中的内容是
① 0009H ② 008CH ③ 0090H ④ 0010H
93. 已知AX=7865H,BX=89AAH
CLC
ADD AX,BX OR BX,AX RCR AX,1 RCL BX,1
程序执行后,AX= 3 BX= CF=
① (AX)=0107H (BX)=175FH (CF)=1 ② (AX)=0106H (BX)=175EH (CF)=1 ③ (AX)=0107H (BX)=175EH (CF)=0 ④ (AX)=0106H (BX)=175FH (CF)=0
94.设(SS)=338AH,(SP)=450H,执行 PUSH BX和 PUSHF两条指令后,堆栈顶部的物理地址是 1
① 33CECH ② 33CF2H ③ 33CF4H ④ 33CE8H
95.不能表示存储单元逻辑地址是 4
① 变量名 ② 标号名 ③ 段名 ④ 符号名
96.VAY1 DW ?
VAY2 EQU Byte PTR VAY1
经过以上定义后,VAY1与VAY2之间的关系是
① 段地址相同,偏移地址不同 ② 段地址不同,偏移地址相同 ③ 段地址不同,偏移地址不同 ④ 段地址相同,偏移地址相同
97. 不合法的变量类型是 3
① 一字节 ② 二字节 ③ 三字节 ④ 四字节
98. 在存储器中定义20个字长的数据缓冲区的伪指令是 2
① Buffer EQU 20 ② Buffer DW 20 DUP(?) ③ Buffer DW 20 ④ Buffer DB 20 DUP(?)
99. 下列操作中允许段超越前缀的是 1
① 取指令 ② 存目的串 ③ 以BP为基址存取操作数 ④ 堆栈操作
100.下面程序段是判断两个存储单元是否同为负数,若是,则AX置全1,否则AX置0
共28页 第 14 页
汇编语言程序设计 综合复习
试在空白处各填上适当的条件转移指令(两空白处要利用不同的标志位选用不同的条件转移指令)。 VAR1 DW ×××× VAR2 DW ××××
? ? ?
MOV AX,VAR1 MOV BX,VAR2 XOR AX,BX
1 TEST BX,8000H
MOV AX,0FFFFH NEXT:MOV AX,0
? ? ?
① JNS NEXT ② JS NEXT JE NEXT JE NEXT
③ JC NEXT ④ JNC NEXT JZ NEXT JNZ NEXT
101. VARY1 EQU BYTE PTR VARY2 VARY2 DW 0ABCDH
? ? ?
SHL VARY1,1 SHR VARY2,1
上述两条指令执行后,VARY2字存储单元内容是 3
① 0ABCDH ② 0BCDEH ③ 55CDH
102.DEC2 DB ‘56’
? ? ?
XOR DI,DI
MOV BL,DEC2[DI+1] AND BL,0FH
MOV AL,DEC2[DI] AND AL,0FH MOV DL,10
MUL DL ADD AL,BL
上述程序段执行后,AL= 3 BL=
① AL=56 BL=7 ② AL=55 BL=6 ③ AL=56 BL=6 共28页 第 15 页
④ 0AB55H ④ AL=55 BL=7