( )1. 指令MOV AL,[BX]的源操作数的寻址方式为?
A. 基址寻址 B. 寄存器间接寻址
C. 变址寻址 D.基址变址寻址
( )2.确定下列哪些数据在汇编语言中的表示是错误的?
A. 2 AND 3*5 B. 2+10B
C. AX+3 D. 10H SHL 2
( )3.若栈顶指针SP的值为100H,当执行完指令CALL AX后,SP的值为?
A. 00FCH B. 0098H
C. 00FEH D. 0102H
( )4. 已知在寄存器 AX和 BX 中分别存放着一个带符号数据,在满足条件 AX≥BX 时转到标号OK去执行,能实现该功能的程序段是?
A. CMP AX,BX B. CMP AX,BX
JAE OK JNB OK
C. CMP AX,BX D. CMP AX,BX
JG OK JGE OK
( )5. 下列程序段在语法上是正确的是?
A. X1 DB ‘ABCD’ B. X1 DW ‘ABCD’
C. X1 DD ‘ABCD’ D. X1 DB 1234H
( )6. 已知AL=87H,BL=34H, 则指令ADD AL,BL执行后,OF和CF的值分别为?
A. 0,0 B. 0,1
C. 1,0 D. 1,1
( )7. 已知AL,BX中各存放一个无符号数,计算AL和BX的乘积,用下述哪个程序段?
A. MUL BX B. IMUL BX
C. CBW D. XOR AH,AH
MUL BX MUL BL
( ) 8. NEXT是程序中某指令语句标号,下述哪个程序段不能实现转移到NEXT语句执行。
A. JMP NEXT B. MOV BX, OFFSET NEXT
JMP BX
C. MOV BX, NEXT D. LEA AX, NEXT
JMP BX JMP AX
( )9. 初始化8259A时,ICW2的值为18H,当IR3端有中断请求时,8259A送出的中断方式码是什么?
A. 10H B. 13H C. 18H D. 1BH
( )10. 在两个8259A级联的中断系统中,从8259A连接在主8259A的IR5上,主8259A和从8259A的ICW3应设置为多少?
A. 20H,05H B. 10H,05H C. 05H,05H D. 20H,20H
4.依据下述子程序说明文件把子程序补充完整。(6分)
(1)子程序名:MSUB
(2)子程序功能:求两个多字节数据之差
(3)入口条件:两个数据的低字节地址分别在SI和DI中,数据长度在CL中
(4)出口条件:差的低字节地址在SI中
(5)受影响的寄存器:F
MSUB PROC NEAR
PUSH AX
PUSH DI
PUSH SI
PUSH CX
CLC
AGAIN:MOV AL,[DI]
( )
( )
( )
DEC CL
JNZ AGAIN
POP CX
POP SI
POP DI
POP AX
RET
MSUB ENDP
四、改错题。(10分)
下列程序有错, 请将它们找出并改正过来。已知程序欲完成的功能是从两个带符号数中选出较大者送入MAX单元, 若二者相同, 将MAX清0。
要求:不必抄题,直接在试题上修改。在错误的部分下面划一条线,然后在本行的后面给出正确的答案即可。
1. SEGA SEGMENT
4. DAX: DB A0H
8. DAY DB 1000H
12. MAX DB 0
15. SEGA ENDS
18. CSEG SEGMENT
21. ASSUME CS:CSEG; DS:SEGA
25. BEGIN:MOV DS,SEGA
27. MOV AL,DAX
29. CMP AL, DAY
33. JA XGY
35. JZ ZERO
40. MOV AL,DAY
43. XGY: MOV MAX,AL
47. ZERO MOV AL,4CH
49. INT 21
50. CSEG END
56. END START