2024年4月27日发(作者:)
微机原理与接口技术(第二版)第三章指令系统
[写在前面]本参考答案供同学们在写作业的时候,遇到想不通的题时进行参考。请不
要直接copy答案,否则对自己没有好处的。多思考,才有进步。
思考题与习题参考答案
3.1
假定
(DS)=2000H
,
(ES)=2100H
,
(SS)=1500H
,
(SI)=00A0H
,
(DI)=00B0H
,
(BX)=0100H,
(BP)=0010H
,请指出下列指令源操作数的寻址方式。如果源操作数是存储器操作数,分别计
算其有效地址和物理地址。
(1)MOVAX
,
00ABH
(2)ADDAX
,
[100H]
(3)XORAX
,
[0050H]
(4)MOVBX
,
[SI]
(5)SUBAX
,
0050H[BX][DI]
(6)CMPCL
,
[BX][SI]
(7)ADCAL
,
ES:[BP]
(8)MOVDS
,
[BP][SI]
(9)ANDBX
,
SS:[DI]
(10)SBB0050H[SI],BX
EA
(1)MOVAX,00ABH
(2)ADDAX,[100H]
(3)XORAX
,
[0050H]
(4)MOVBX
,
[SI]
(5)SUBAX
,
0050H[BX][DI]
(6)CMPCL,[BX][SI]
(7)ADCAL,ES:[BP]
(8)MOVDS,[BP][SI]
(9)ANDBX
,
SS:[DI]
(10)SBB0050H[SI],BX
-
100H
50H
00A0H
200H
01A0H
0010H
00B0H
00B0H
-
PA
-
20100H
20050H
200A0H
20200H
201A0H
21010H
150B0H
150B0H
-
寻址方式
立即寻址
直接寻址
直接寻址
间接寻址
相对基址加变址寻址
基址加变址寻址
间接寻址
基址加变址寻址
间接寻址
寄存器寻址
3.2
指出下列指令的错误原因。
不能用立即寻址方式给段寄存器传数
(1)MOVDS
,
1000H
立即数不能作为目的操作数
(2)MOV10H
,
AL
未说明操作数类型
(3)INC[SI]
源目的操作数不能同时是存储器
(4)MOV2000H[BX][DI]
,
[2000H]
源目的操作数类型不匹配
(5)MOVAL
,
256
移位指令移位超过
1
时应存于
CL
中
(6)SHRCL
,
4
(7)MOVCS
,
AXCS
不能作为目的操作数
寄存器问接寻址只能使用
BX/BP/SI/DI
中的一个,不能使用
AX(8)ADD[AX]
,
1
(9)MOVCX,BX+SI
(10)PUSHCL
(11)XORDX,BL
(12)INAL,200H
(13)LEABX,CX
(14)POPIP
(15)MOVBX,[CX+20H]
运算表达式的结果需为确定的数值,而BX和SI不确定
8086/8088的堆栈操作都是以字为单位
源目的操作数类型不匹配
IN指令源操作数不能为16位立即数端口地址应为8位立即数表
示,最多允许256个端
LEA源操作数必须为存储器操作数
IP不能为目的操作数
寄存器间接寻址有效地址由BXBPSIDI的一个指出
3.3假设标志寄存器各标志初始值为0,分别单独执行如下指令序列后,请指出AX寄存器和
标志CF、ZF、SF、OF的值。
发布者:admin,转转请注明出处:http://www.yc00.com/news/1714193656a2399613.html
评论列表(0条)