第二章 练习题及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章练习题及答案
一、填空题
1、MOV AX,DISP[BX][SI]指令中原操作数的物理地址计算表达式是:______ 答案:(DS)*10H+(BX)+(SI)+DISP
2、已知(AL)=7EH,(BL)=0FDH,执行指令SUB AL,BL后,(AL)=______H。答案:81H
3、8086存储空间中,把________字节的存储空间称为一节,要求各个逻辑段从节的整数开始. 答案:16
4、执行STD指令后,串操作地址采用按______方向修改。答案:地址递减
5、一个有16个字的数据区,它的起始地址为70AO:DDF6,那么该数据区的最后一个字单元的物理地址为____. 答案:7E814
6、在基址寻址方式中,基址寄存器提供_____,指令提供_________. 答案:基准量偏移量
7、在变址寻址方式中,变址寄存器提供_________,指令提供__________. 答案:偏移量基准量
8、带符号数乘以2使用______指令. 答案:SAL
9、假定(AX)=96H,(BX)=65H,依次执行ADD AX,BX和DAA指令后,(AL)=______ 答案:161H
10、程序控制类指令的功能是__________ 答案:改变程序执行的顺序
11、无符号数除以2使用______指令. 答案:SHR
12、无符号数乘以2使用______指令. 答案:SHL
13、除法指令DIV的格式中,只有一个源操作数.若其类型属性为字节,则目的操作数在_______中. 答案:AX
14、SUB AX,BX与CMP AX,BX指令的区别是______。
答案:SUB AX,BX结果回送;CMP AX BX结果不回送,AX值不变。
二、选择题
1、使用8086/8088CPU汇编语言的伪操作命令定义:
VAL DB 2 DUP(1,2,3 DUP(3),2 DUP(1,0))
则在VAL存储区内前十个字节单元的数据据是( ). D
A、1,2,3,3,2,1,0,1,2,3
B、1,2,3,3,3,3,2,1,0,1
C、2,1,2,3,3,2,1,0,2,1
D、1,2,3,3,3,1,0,1,0,1
2、LDS SI,ES:[2000H]指令的全部功能是:( ) D
A、把地址2000上送SI
B、把地址2000H字单元的内容送SI
C、把地址2000H字单元内容送SI,把2002H字单元内容送DS
D、把地址2000H字单元内容送DS,把2002H字单元内容送SI
3、使得JB指令执行转移操作的条件是( ). B
A、DF=1
B、CF=1且ZF=0
C、ZF=0
D、CF=0且ZF=1
4、下面指令序列执行后完成的运算,正确的算术表达式应是 C
MOV AL,BYTE PTR X
SHL AL,1
DEC AL
MOV BYTE PTR Y,AL
A、Y=X*X+1
B、X=Y*Y+1
C、Y=X*X-1
D、X=Y*Y-1
5、在8086/8088汇编程序中,两个有符号的整数A和B比较后,为了判定A是否大于B,使用下列哪条指令较好?( ). A
A、JG
B、JA
C、JNB
D、JNBE
6、假设某子程序使用的返回指令是RET4,则返回地址为( ). B
A、CALL指令下面第二条指令的地址
B、 (SP+1)和(SP)中存放的地址
C、 (SP+5)和(SP+4)中存放的地址
D、CALL指令下面第四条指令的地址
7、已知指令序列为:
ADD AL,BL
JNO L1
JNC L2
若AL和BL的内容有以下四组给定值,其中哪一组给定值使该指令序列转向L2执行?( ) C
A、(AL)=05H,(Bl)=0F8H
B、 (AL)=81H,(BL)=0A2H
C、 (AL)=68H,(BL)=74H
D、 (AL)=0B6H,(BL)=87H
三、问答题
1、写出下面程序段的功能:
XOR DX,DX
L1: MOV AH,1
INT 21H
CMP AL,'$'
JZ BACK
CMP AL,30H
JB L1
CMP AL,39H
JA L1
AND AL,0FH
ADD DL,AL
ADC DH,0
JMP L1
BACK: HLT
答案:
程序的功能是:从键盘输入0~9数,加到DX中,直到从键盘输入$为止.DX中存放所有从键盘输入的数之后.
2、如果要检查BX寄存器中的第13位是否为1,应该用什么指令?
答案:
TEST BX,2000H
JNZ YES
3、写出完成下述功能的程序段:
(1)传送25H到AL寄存器.
(2)将AL的内容乘以2.
(3)传送15H到BL寄存器.
(4)AL的内容乘以BL的内容.
答案:
(1)MOV AL,25H
(2)SHL AL,1
(3)MOV BL,15H
(4)MUL BL,AL
4、假设VAR1和VAR2为字变量,LAB为程序中的一个标号,试找出下列指令的错误之处:
(1)ADD VAR1,VAR2
(2)JNZ VAR1
(3)JMP NEAR LAB
答案:
(1)应有一个操作数为寄存器.
(2)转向地址应为标号,不能是变量.
(3)少PTR
5、假定(BX)=11100011B,变量VALUE的值为01111001B,确定下列各条指令单独执行后的结果.
(1)XOR BX,VALUE
(2)OR BX,VALUE
(3)AND BX,0
答案:
(1)10011010
(2)11111011
(3)0