汇编第四章 习题及参考答案

  • 格式:pdf
  • 大小:49.26 KB
  • 文档页数:4

第四章习题及参考答案
1. 在8086CPU中,如果SS的内容设置为1A4BH,堆栈的长度为100H字节,问:SP寄存器的初始化值为多少?SP初始指向哪个主存物理地址?
参考答案:
SP寄存器的初始化值为:100H
SP初始指向的主存物理地址是:1A5B0H
2.分别指出下列指令源操作数与目的操作数的寻址方式:
(1)MOV ES, AX
(2)ADD DS:[12H],AL
(3)SUB BX,1200H
(4)SHR AX,1
(5)AND -28H[BP][DI], AX
(6)MOV CX,LAB1[BX]
(7)SBB AX, [BX]
(8) OR DX,-360H[SI]
(9) ADC VAR1,CX
(10) XOR [DI],AX
参考答案:
(1)寄存器,寄存器
(2)直接, 寄存器
(3)寄存器,立即
(4)寄存器,立即
(5)基址变址,寄存器
(6)寄存器,相对
(7)寄存器,寄存器间接
(8)寄存器,相对
(9)直接,寄存器
(10)寄存器间接,寄存器
3.指出下列指令的语法是否错误,若错误请改正。

(1)MOV DS, 1234H
(2)ADD AH,AL
(3)SUB CS,AX
(4)MOV BX,[BX][SI]
(5)ADC VAR1,[BP][DI]
(6) SBB [BX][BP],AX
(7)PUSH 5678H
(8)SHL [BP][SI],CL
(9)ROR AX,2
(10)NEG AX,BX
(11)LEA CS,AX
(12)MOV AL,BX
(13)ADD DS:200H,AX
(14)AND [BX][BP],AH
(15)OR BH,-16H[BP]
(16)CLC AX
(17)MUL AX,BX
(18)DIV 12H
参考答案:
(1) 错误,立即数不能直接传送到段寄存器中
(2) 正确
(3) 错误,不能对CS直接操作
(4) 正确
(5) 错误,两个操作数不能同时都在存储器中
(6) 错误, 基址变址寻址方式中不能两个寄存器都是基址寄存器
(7) 错误,立即数不能作为源操作数直接压入堆栈
(8) 错误,目的操作数没有明确指明是字还是字节
(9) 错误,移位次数大于1时,需将其提前存入CL中
(10) 错误,操作数个数错误
(11) 错误,目的操作数只能是16位通用寄存器
(12) 错误, 操作数位数不一致
(13) 正确
(14) 错误, 基址变址寻址方式中不能两个寄存器都是基址寄存器
(15) 正确
(16) 错误,操作数个数错误
(17) 错误,操作数个数错误
(18) 错误,源操作数不能是立即数
4. MOV BX, 2345H
MOV CX, 2H
CL
ROL BX,
0FFH
AND BX,
CMP BX,
045H
执行上述程序段后,(BX)= 14H , ZF= 0 . 5. XOR AX, AX
5H
MOV AL,
9H
MOV BL,
BL
ADD AL,
AAA
执行上述程序段后,(AX)= 104H , CF= 1 .
6. 假设(DS)=1234H,(SI)=124H,(12464)=30ABH,(12484H)=464H,有以下程序段:
[SI]
LEA SI,
[SI]
MOV AX,
1200H
MOV [SI+22H],
[SI+20H]
LDS SI,
[SI]
ADD AX,
执行上述程序段后,(AX)= 6156H , (SI)= 464H .
7. MOV AX, 0EF23H
0B5A7H
MOV BX,
INC AX
NEG AX
DEC BX
NEG BX
执行上述程序段后,(AX)= 10DCH ,(BX)= 4A5AH .。