东北大学汇编期末试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
汇编语言程序设计试题
注意:本试卷的一、二大题的答案涂在答题卡上,三、四、五、六大题的答案答在答题纸上。并且要正确地书写站点、班级、学号及姓名。
一、单项选择题(从四个备选答案中选出一个正确的答案涂在答题卡上)(20分)
1. 指令MOV AL,100H[SI]的源操作数的寻址方式为()。
A. 基址寻址
B. 寄存器间接寻址
C.变址寻址
D.基址变址寻址
2.确定下列哪些数据在汇编语言中的表示是合法的()。
A. AL+3
B. 25D AND 36H
C. 108Q
D. 102B
3.若栈顶的物理地址为20100H,当执行完指令PUSH AX后,栈顶的物理地址为()。
A. 20098H
B. 20102H
C. 200FEH
D. 20100H
4. JMP WORD PTR[SI] 的目标地址偏移量为()。
A. SI的内容
B. SI所指向的内存字单元的内容
C. IP+SI的内容
D. IP+[SI]
5. NEXT是程序中某指令语句标号,下述哪个程序段不能实现转移到NEXT语句执行()。
A. JMP NEXT
B. MOV BX,OFFSET NEXT
JMP BX
C. MOV BX,NEXT
D. LEA AX,NEXT
JMP BX JMP AX
6. 已知AX=8065H,BX=103AH,则指令ADD BL,AL执行后,OF和CF的值分别为()。
A. 0,0
B. 0,1
C. 1,0
D. 1,1
7. 已知AL,BX中各存放一个带符号数,计算AL*BX的积,用下述程序段()。
A. XOR AH,AH
B. CBW
MUL BX MUL BX
C. XOR AH,AH
D. CBW
IMUL BX IMUL BX
8. 当CX=0时,REP MOVSB执行的次数为。 ( )
A. 1次
B. 0次
C. 25535次
D. 25536次
9. 已知CALL DWORD PTR[BX]执行前SP=100H, 执行后SP的内容为 ( )
A. 0FEH
B. 0FCH
C. 104H
D. 96H
10. 下面各组语句在语法上正确的是()
A. X EQU 100
B. X EQU 100
X EQU X+X X = X+X
C. X = 100
D. X = 100
X EQU X+X X = X+X
二、判断题(判断每题正误,并在答题卡上涂上所选的答案)。(10分)
11. MOV DS,2000H
A. 正确
B. 错误
12. ADD AL,BX
A. 正确
B. 错误
13. MOV BX,[BX]
A. 正确
B. 错误
14. AND 10, AL
A. 正确
B. 错误
15. MOV CS,AX
A. 正确
B. 错误
16. SHL AL,CL
A. 正确
B. 错误
17. MOV [SI],10H
A. 正确
B. 错误
18. RET 4
A. 正确
B. 错误
19. POP AL
A. 正确
B. 错误
20. CALL 10H
A. 正确
B. 错误
三、填空题。(20分)
1.已知:BX=100H,BP=200H,SI=300H,DS=1000H,SS=2000H,CS=3000H,指出下述指令中存储器操作数的有效地址及实际地址。(6分)
指令有效地址实际地址
MOV AL,[SI+50H] ⑴⑵
MOV AL,[BP] ⑶⑷
MOV CS:[BX+SI-30H],AL ⑸⑹
2. 执行下列指令后,AX寄存器中的内容是什么?(4分)
(1)TABLE DB 10,20,30,40,50 (2)TABLE DW 10,20,30,40,50
ENTRY DW 3 ENTRY DW 3
::
::
MOV BX,OFFSET TABLE MOV BX,OFFSET TABLE
ADD BX,ENTRY ADD BX,ENTRY
MOV AX,[BX] MOV AX,[BX]
AX=__⑺____ AX=__⑻____
3. 写出下述两条数据定义伪指令语句经过汇编后的内存分配情况。(4分)
DATA1 DB -35,‘34’
DATA2 DW -35,‘34’
4.依据下述子程序说明文件把子程序补充完整。(6分)
(1)子程序名:MADD
(2)子程序功能:求两个多字节数据之和
(3)入口条件:两个数据的低字节地址分别在SI和DI中,数据长度在CL中
(4)出口条件:和的低字节地址在SI中
(5)受影响的寄存器:F
MADD PROC NEAR
PUSH AX
PUSH DI
PUSH SI
PUSH CX
()
AGAIN: MOV AL,[DI]
()
INC SI
INC DI
DEC CL
JNZ AGAIN
POP CX
POP SI
POP DI
POP AX
()
MADD ENDP
四、改错题。(10分)
下列程序有错,请将它们找出并改正过来。已知程序欲完成的功能是从两个无符号数中选出较大者送入MAX单元,若两者相同,则将MAX单元清0。
要求:不必操题,将错误的行号及正确的答案写在答题纸上;如果要删除某一行,则写出本行的行号,并在后面表明删除字样;若需要在某两行之间插入,则在两行的行号之间自选一个作为行号,并在后面写出插入的内容。
1. DSEG SEGMENT
3. DAX DB 300
5. DAY:DB A3H
7. MAX DB 0
9. DSEG END
11.CSEG SEGMENT
13.ASSUME CS:CSEG;DS:DSEG
15.BEGIN: MOV DS,DSEG
19.CMP AL,DAY