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

内容发布更新时间 : 2024/4/20 0:42:29星期一 下面是文章的全部内容请认真阅读。

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

103.设(SP)=0028H,执行段内返回指令RET 6后,SP的内容是 3 ① 0036H ② 0022H ③ 0030H ④ 0020H

104.汇编语言语句格式中,根据对符号名的规定,错误的解释是 2

① 名字的第一个字符只可以是大小写英文字母及?、@、_等 ② 名字的第一个字符可以是数字 ③ 名字的有效长度≤31个字符 ④ 名字的最后一个字符可以是数字

105. 下列语句中能实现留空8个字节单元的语句是 4

① DATA1 DT ? ② DATA2 DW ? ③ DATA3 DD ? ④ DATA4 DQ ?

106.已知AX=0078H,BX=0408H SHR BX,1 AND BX,0F0FH MOV CX,4 LOP:XCHG BH,BL

DIV BL SAL AX,1 LOOP LOP

上述程序段执行后,AX= 2 BX=

① 30和0402H ② 30和 0204H ③ 35和0400H ④ 35和 0400H

107. yeqianyi DW 10H DUP(3 DUP(2,50),3,5)

上述语句汇编后,为变量yeqianyi分配的存储单元字节数是 2

① 80H ② 100H ③ 50H ④ 124H

108. 在汇编语言源程序中,每个语句可以由四项组成,如语句要完成一定功能,那么该

语句中不可省略的项是 2

① 名字项 ② 操作项 ③ 操作数项 ④ 注释项

109. 在汇编语言源程序中,对END语句的叙述正确的是 3

① END语句是一可执行语句 ② END语句表示程序执行到此结束 ③ END语句表示源程序到此结束 ④ END语句在汇编后产生机器代码

110. 设数据段中有:

DATA1 DB 10H,00H DATA2 DW 20H,30H

在下面指令中,使用变量有错误的是 1

① MOV DATA1,AX ② MOV BYTE PTR DATA2,AL ③ ARRD DW DATA1 ④ MOV WORD PTR DATA1,AX

111. 下面对伪指令语句的说明,正确的是 3

共28页 第 16 页

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

① 汇编程序将伪指令翻译成机器代码。 ② 伪指令在执行时完成其功能。

③ 伪指令的功能是指示、引导汇编程序在汇编过程中所完成的不同操作。 ④ 当汇编结束后,目标程序中仍保留伪指令。

112. 条件转移指令JNBE 产生转移的条件是 1

① CF=0 AND ZF=0 ② CF=0 AND ZF=1 ③ CF=1 AND ZF=0 ④ CF=1 AND ZF=1

113. 设定义BUF DW 100 DUP(0),则指令“MOV CX,SIZE BUF”的等效指令是 2

① MOV CX,100 ② MOV CX,200

③ MOV CX,400 ④ MOV CX,100 DUP(0)

114. AR1 DB‘ABCDEFGH’

AR2 DB O

? ? ? MOV AH,1 INT 21H AND AL,0FH DEC AL

LEA BX,AR1 XLAT AR1 MOV AR2,AL

假设键盘输入数字4,则执行后(AR2)= 1 ; 执行后CF=

① 44H(或‘D’),0 ② 43H(或‘C’),1 ③ 44H(或‘D’),1 ④ 43H(或‘C’),0

115.ADR DW 1234H,5678H

? ? ?

LEA SI,ADR LDS BX,ADR

设变量ADR的偏移地址是100H,上述两条指令执行后:SI= 2 ,DS=

① 100H 和1234H ② 100H 和5678H ③ 000H 和1234H ④ 000H和5678H

116. NUMBER EQU 81H DATA DB 49H

? ? ?

XOR DATA,NUMBER

上述语句执行后DATA中的内容是 3

① 81H ② 49H ③ C8H ④ 89H

共28页 第 17 页

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

117. 现有一数据定义伪指令在DA单元定义一数据: DA DW 0123H

能与上述语句等效的语句是 2

① MOV WORD PTR DA,‘123H’ ② MOV DA,123H ③ MOV Byte PTR DA,0123H ④ MOV DA,‘123H’

118. DATA SEGMENT

DA1 DB 64H DUP(?) DA2 DW 0100H,0200H DA3 DW DA2

? ? ?

MOV SI,DA3

上述指令执行后,SI中的内容是 3

① 100H ② 200H ③ 100 ④ 300H

119. 一数据段定义如下: DATA SEGMENT ORG 0134H

DA DB 12H,63,26H ARRD DW DA DATA ENDS

能够使BX中的数据为奇数的语句是 4

① MOV BX,ARRD ② MOV BL,DA+2 ③ MOV BX,WORD PTR DA ④ MOV BL,DA+1 120.已知DX=0A476H,CX=0203H,CF=1 OR DX,DX RCR DX,CL XCHG CH,CL RCL DX,CL

上述程序段执行后DX= 2 CF= ① 523BH 和1 ② 523BH和0 ③ 423CH 和1 ④ 423CH 和0

121. 在同一程序段中,定义下面伪指令,错误的是 4 ① PORT1 EQU AL ② PORT2=AL ③ PORT2=2A50H AND 0FFH ④ PORT3 EQU 2A50H

PORT3 EQU 2A50H AND 0FFH

122. 设ADRT=100H,不符合语法规则的语句是 3

① MOV AX,ADRT ② MOV AX,[ADRT+SI] ③ MOV [ADRT],AX ④ MOV ADRT[SI],AX

指出下面哪组伪指令使用是错误的 3

共28页 第 18 页 ④ Cod Segment ? ? ?

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

① DAT Segment ② Extra Segment ③ Stack Segment

? ? ? ? ? ? ? ? ?

DAT Ends Extra Ends Stack Ends

124. MOV AX,8 SHL AX,1 SHL AX,1 MOV BX,AX MOV CL,2 SHL AX,CL ADD AX,BX

上述程序段执行后,BX= 1 AX=

① 0020H 和 00A0H ② 0028H和 00A0H ③ 0028H 和 00C8H ④ 0020H和 00C8H

三、程序填空

1. 在以BCD为首地址的字节单元中存放了3个压缩BCD码x、y、z本程序用以计算x+y-z,并将结果存放在SS字节单元中。试在程序的空格处填入适当的指令。 BCD DB x,y,z SS DB ?

? ? ?

MOV AL, BCD ADD AL, BCD+1 DAA SUB AL, BCD+2 DAS MOV SS, AL

2. DA1 DB ‘01234’ DA2 DB 5 DUP(0) ?

?

?

MOV SI,0 MOV CX,5

LOP: MOV AL,DA1[SI]

ADD AL,11H OR AL,01H

MOV DA2[SI],AL INC SI

共28页 第 19 页

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

LOOP LOP

试问: (1) 程序段执行后,DA2各字节中的数据是 41H,43H,43H,45H,45H

(2) 程序中MOV AL,DA1[SI]指令的源操作数寻址方式是 寄存器相对寻址

3.下面程序段用以统计AX中为“0”的位数,统计结果放在CONT单元中,试在程序段的空格处填上缺少的指令。

MOV CONT, 0 MOV CX, 16

NEXT: SHR AX, 1

JC DWE INC CONT

DONE: DCE CX JNZ NEXT

4.下面程序段用以统计SUM字单元中含有多少个“5” 统计结果存放在AL中,试在程

序段的空格处填上缺少的指令。 XOR AX, AX NEXT: CMP SUM, 5 JL DONE

SUB SUM,5 INC AC JMP NEXT DONE: ?

? ?

5.在主程序中,采用调用子程序方式求一个字数组中的元素之和,并将之送入SUM单元。试在下面程序段中填补上空缺的指令。

? ? ?

MOV BX, OFFSET ARRAY

MOV CX,NN CALL yeqianyi

? ? ?

yeqianyi PROC PUSH AX

XOR AX,AX NEXT: ADD AX,[BX] ADD BX,2 LOOP NEXT

MOV SUM,AX POP AX RET

共28页 第 20 页