第三章的汇编和接口赋值.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章的汇编和接口赋值

1.已知DS=2000H,BX=0100H,SI=0002H,存储单元[20100H]~[20103H]依次存放12 24 56 78H,[21200H]~[21203H]依次存放2A 4C B7 65H,说明下列每条指令执行后AX寄存器的内容。 (1) MOV AX, 1200H 解:AX=1200H (3) MOV AX, [1200H] 解:物理地址=DS×16+1200H=20000H+1200H=21200H,所以AX=4C2AH (5) MOV AX, [BX+1100H] 解:物理地址=DS×16+BX+1100H=20000H+0100H+1100H=21200H ,所以AX=4C2AH (7) MOV AX, [BX][SI+1100H] 解:物理地址=DS×16+BX+SI+1100H=20000H+0100H+0002H+1100H=21202H ,所以AX=65B7H (2) MOV AX, BX 解:AX=0100H (4) MOV AX, [BX] 解:物理地址=DS×16+BX=20000H+0100H=20100H,所以AX=2412H (6) MOV AX,[BX][SI] 解:物理地址=DS×16+BX+SI=20000H+0100H+0002H=20102H,所以AX=7856H 2.指出下列指令错误 (1) MOV CX, DL 答:数据类型不匹配,CX是16位,DL是8位。 (2) MOV IP, AX 答:指令指针不能直接修改。 (3) MOV ES, 1234H 答:段地址寄存器不能直接置数。 (4) MOV ES, DS 答:段地址DS不能做源操作数。 (5) MOV AL, 300 答:300大于255,AL是8位的,最多只能存255 (6) MOV [SP], AX 答:SP不能做间接寻址寄存器。 (7) MOV AX , BX+DI 答:基址变址寻址必须打[]。 (8) MOV 20H, AH 答:立即数不能做目的地址单元。 3.已知数字0~9对应的格雷码依次为:18H、34H、05H、06H、09H、0AH、0CH、11H、12H、14H,它存放在于以TABEL为首地址(设为200H)的连续区域中。对如下程序段的每条指令加上注释,说明每条指令的功能和执行结果。 LEA BX,TABLE ;取表的首地址送BX,执行后(BX)=200H MOV AL,8 ;立即数8送AL,执行后,(AL)=8 XLAT ;查表,将表首地址+8((BX)+(AL))所对应单元内容送AL, ;执行后,(AL)=12H(8所对应的格雷码) 4.什么是堆栈,它的工作原则是什么,它的基本操作有哪两个,对应哪两种指令? 答:堆栈是在内存中开的一个特殊的数据区,堆顶有堆栈指针SP与SS共同决定。 原则是:先进后出, 两个操作:入栈、出栈,对应指令:PUSH(入栈)、POP(出栈)。 5.已知SS=FFA0H,SP=00B0H,画图说明执行下列指令序列时,堆栈区和SP的内容如何变化? MOV AX , 8075H PUSH AX MOV AX , 0F79H PUSH AX POP BX POP [BX] 解: 8.请分别用一条汇编语言指令完成如下功能: (1)把BX寄存器和DX寄存器的内容相加,结果存入DX寄存器。 解:ADD DX, BX (2)用寄存器BX和SI的基址变址寻址方式把存储器的一个字节与AL寄存器的内容相加,并把结果送AL中。 解:ADD AL, [BX+SI] 或ADD AL, [BX][SI] (3)用寄存器BX和02BH的寄存器相对寻址方式,把存储器的一个字和CX寄存器的内容相加,并把结果送回存储器中。 解:ADD [BX+02BH] ,CX 或ADD 02BH [BX] ,CX (4)把数0A0H与AL寄存器内容相加,并把结果送AL中。 解:ADD AL, 0A0H 10.指出下列指令错误 (1) XCHG [SI], 30H 答:立即数不能作为单元地址来保存数据,所以交换指令中的两个操作数必须是地址操作数。 (2) POP CS 答:CS不能作为寻址寄存器使用 (3)SUB [SI], [DI] 答:算术运算指令中的两个操作数不能同时都在内存中 (4)PUSH AH 答:PUSH指令中的操作数必须是16位操作数,AH是8位 (5)ADC AX, DS 答:DS不能做源操作数, (6)OUT DX, AH 答:只能使用AL(当端口数据位是8位)或AX(端口数据位是16位)与端口交换数据 (7)IN AL 3FCH 答:端口地址大于255时,必须有DX寄存器间接寻址。 20.假设DS=2000H,BX=1256H,SI

文档评论(0)

f8r9t5c + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档