楼第4章指令系统习题解答.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
楼第4章指令系统习题解答

习题解答: 什么叫寻址方式?8086/8088CPU 共有哪几种寻址方式? 答:指令的寻址方式就是指获得操作数所在地址的方法。8086/8088CPU指令的寻址方式可分为8种,为立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址、基址变址相对寻址、隐含寻址。 指出下列指令中源操作数和目的操作数的寻址方式 MOV AX,[SI] 源操作数:寄存器寻址 目的操作数:寄存器间接寻址 MOV DI,100 源操作数:寄存器寻址 目的操作数:立即寻址 MOV [BX],AL 源操作数:寄存器间接寻址 目的操作数:寄存器寻址 MOV [BX+SI],CX源操作数:基址变址寻址 目的操作数:寄存器寻址 ADD DX,106H[SI] 源操作数:寄存器寻址 目的操作数:寄存器相对寻址 判读以下指令的对错 STI 对 CALL 1000H 错 DIV AX,DL 错 SHL AL,4 错 POP AX 对 IN AL,[30H] 错 INC CS 错 OUT 40H,AL 对 4、根据已知条件,计算划线部分的物理地址。已知:SS=1000H,ES=2000H,DS=3000H,CS=4000H,BX=5000H,DI=1200H,BP=2300H MOV AX,[2300H] 计算公式:DS×16+2300H MOV [BX][DI],AX 计算公式:DS×16+BX+DI ADD AX,ES:[2100H] 计算公式:ES×16+2100H SUB DX,[BP+6] 计算公式:SS×16+BP+6 MOV AX,[DI] 计算公式:DS×16+DI 5、设SP初值为2400H,AX=4000H,BX=3600H,则执行指令PUSH AX后,SP=?,再执行PUSH BX和POP AX后SP=? 答:则执行指令PUSH AX后,SP=2400H-2=23FEH,再执行PUSH BX和POP AX后SP=23FEH。 6、依次执行MOV AX,84A0H和ADD AX,9460H两条指令后,FLAGS的六个状态位各为什么状态? 答:两个16位数的加法运算不影响PF和AF的标识位状态,只影响其他4个标识位状态,CF=1,ZF=0,SF=0,OF=1。 7、判断下列程序段执行后BX中的内容 MOV CL,3 MOV BX,0B7H ROL BX,1 ROR BX,CL 答:先将BX内容不带进位位循环左移1位,再循环右移3位,执行后BX=0C02DH。 8、说明指令MOV BX,5[BX]与指令LEA BX,5[BX]的区别。 答:前者数据传送类指令,表示将数据段中以(BX+5)为偏移地址的16位数据送寄存器BX,后者为取偏移地址指令,执行结果BX=BX+5。 9、已知AX=8060H,DX=03F8H,端口PORT1的地址是48H,内容为40H,请指出下列指令执行后的结果。 (1)OUT DX,AL 将60H输出到地址为03F8H的端口中 (2)IN AL,PORT1 从地址为48H的端口读入1字节的数据送给AL (3)OUT DX,AX 将8060H从地址为03F8H的端口输出 (4)IN AX,48H 从地址为48H的端口读入2字节的数据送给AX 10、按要求写指令 (1)写出两条使AX内容为0的指令 MOV AX,0 XOR AX,AX (2)使BL寄存器的高4位和低4位互换 MOV CL,4 ROL BL,CL (3)屏蔽CX寄存器的b11、b7和b3位。 AND CX,0F777H 11、指出下列指令错误原因 (1)MOV AH,CX 原因:两操作数字长不等 (2)MOV 33H,AL 原因:MOV指令不允许目标操作数是立即数 (3)MOV AX,[SI+DI] 原因:寄存器基址变址寻址中不允许两个寄存器都为变址 (4)MOV [BX],[SI] 原因:两个操作数同为存储器操作数 (5)ADD BYTE PTR [BP],256 原因:两操作数字长不等 (6) MOV DATA[SI],ES:AX 原因:源操作数未加段重设符 12、若两个数比较大小,可以使用CMP指令,请说明如何通过判断符号位来确定大小(包括有、无符号数)? 答:CMP指令主要用来比较两个数的大

文档评论(0)

hhuiws1482 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档