- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理第4章答案
第4章作业;2、指出下列指令是否正确
(1) MOV DS,0100H;错误。源操作数是立即数时,目的操作数不能是段寄存器
(2) MOV BP,AL;错误。操作数类型不一致
(3) XCHG AH,AL ;正确。
(4) OUT 310H,AL;错误。端口直接寻址的范围应在0~FFH之间
(5) MOV BX,[BX] ;正确。
(6) MOV ES:[BX+DI] ,AX ;正确。
(7) MOV AX,[SI+DI] ;错误。存储器寻址中有效地址不能由两个变址寄存器组成
(8) MOV SS:[BX+SI+100H],BX ;正确。
(9) AND AX,BL ;错误。操作数类型不一致
(10) MOV DX,DS:[BP] ;正确
(11) ADD [SI],20H ;错误,目的操作数类型不明确。
(12) MOV 30H,AL ;错误,目的操作数不能为立即数; (13) PUSH 2000H;错误。堆栈指令的操作数不能是立即数
(14) MOV [SI],[2000H];错误。两个操作数不能同时为存 储器操作数
(15) MOV SI,AL ;错误。操作数类型不一致
(16) ADD [2000H],20H; 错误,目的操作数类型不明确
(17) MOV CS,AX;错误,目的操作数不能为代码段寄存器
(18) INC [DI] ;错误,目的操作数类型不明确
(19) OUT BX,AL;错误。端口间接寻址的寄存器只能是DX寄存器
(20) SHL BX,3 ;错误。移位次数大于1时应该用CL寄存器
(21) XCHG CX,DS ;错误。交换指令中不能出现段寄存器
(22) POP AL ;错误。堆栈指令的操作数只能是字操作数(即16位操作数) ;3、写出存储器操作数物理地址的计算表达式
(1) MOV AL,[DI] ;(DS)×10H+(DI)
(2) MOV AX,[BX+SI] ;(DS)×10H+(BX)+(SI)
MOV 5[BX+DI],AL ;
(DS)×10H+(BX)+(DI)+5
(4) ADD AL,ES:[BX] ;(ES)×10H+(BX)
(5) SUB AX,[1000H] ;(DS)×10H+1000H
ADC AX,[BX+DI+2000H] ;
(DS)×10H+(BX)+(DI)+2000H
(7) MOV CX,[BP+SI] ;(SS)×10H+(BP)+(SI)
(8) INC BYTE PTR [DI] ;(DS)×10H+(DI);4、若(DS)=3000H,(BX)=2000H,(SI)=0100H,(ES)=4000H,计算下列存储器操作数的物理地址。
(1) (DS)×10H+(BX)=3000H×10H+2000H=32000H
(2) (DS)×10H+(BX)+(SI)+1000H=3000H×10H+2000H+0100H+1000H=33100 H
(3) (DS)×10H+(BX)+(SI)=3000H×10H+2000H+0100H=32100 H
(ES)×10H+(BX)=4000H×10H+2000H=42000 H
5、若(CS)=E000H,说明代码段可寻址物理存储空间的范围。
∵ 最小物理地址为:(CS)×10H+0000H=E0000H
最大物理地址为:(CS)×10H+FFFFH=EFFFFH
∴ 代码段可寻址物理存储空间的范围是:E0000H~EFFFFH;6、设(SP)=2000H,(AX)=3000H, (BX)=5000H,执行下列程序段后,(SP)=?,(AX)=?, (BX)=?
PUSH AX
PUSH BX
POP AX
(SP)=1FFEH,(AX)=5000H, (BX)=5000H
7、试比较SUB AL,09H与CMP AL,09H这两条指令的异同。若(AL)=08H,分别执行上述两条指令后,(AL)=?,CF=?,OF=0,ZF=?
(1) 相同点:两条指令都能完成(AL)-09H的功能,并且都影响六个状态标志位;
不同点:SUB指令将运算结果回送到AL寄存器中,而CMP指令不回送。
(2) ① (AL)=FFH, ② (AL)=08H, CF=1,OF=0,ZF=0;8、分别执行下列指令,试求AL的内容及各状态标志位的状态。
(1) MOV AL,19H ;
ADD AL,61H ;
文档评论(0)