《80X86/Pentium微型计算机原理及应用》教材课后习题参考答案
第三章
3-5
(1)MOV SI, 2100H 源:立即数;目标:寄存器
(2)MOV CX, DISP[BX] 源:基址,EA=BX+DISP,PA=DS×16+BX+DISP;目标:寄存器
(3)源:寄存器;目标:寄存器间接寻址 EA=SI,PA=DS×16+SI
(4)源:基址加变址,EA=BX+SI,PA=DS×16+BX+SI;目标:寄存器
(5)源:寄存器;目标:寄存器
(6)源:基址,EA=BX+10H,PA= DS×16+BX+10H;目标:寄存器
(7)源:寄存器间接,EA=BX,PA= ES×16+BX;目标:寄存器
(8)源:带位移量的基址加变址,EA=BX+SI+20H,PA= DS×16+BX+SI+20H;目标:寄存器
(9)源:寄存器;目标:寄存器间接,EA=BP,PA= SS×16+BP
(10)源:寄存器;目标:存储器,EA=SP-2,PA= SS×16+SP-2
3-7
(1)源操作数错,基址+基址不能用在存储器寻址方式中,只能基址+变量,改成MOV AX, [BX+SI]
(2)错,VALUE1和VALUE2一般为自己定义的变量名称,则此两操作数的组合形式为存储器和存储器,ADD指令无此组合形式
(3)错,立即数不能直接传给段寄存器
(4)错,CS不能作为目标操作数
(5)错,立即数不能作为目标操作数,两个操作数互换位置即可
(6)如果VALUE1是用DW定义的WORD型变量,则此题正确,否则错误
(7)错,段寄存器不能直接传给段寄存器
(8)错,移位次数超过1时,应该先将移位次数送给CL,改成MOV CL, 3; ROL [BX][DI],CL
(9)错,NOT操作符只有一个操作数
(10)对,CS不能作为目标操作数,但可以作为源操作数
(11)错,不能直接将立即数压入堆栈