《汇编语言程序设计》期末复习题 下载本文

内容发布更新时间 : 2024/5/3 11:40:52星期一 下面是文章的全部内容请认真阅读。

汇编语言程序设计 综合复习

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