第三章80868088指令系统.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 8086/8088指令系统 3.1指令格式 ( 机器语言指令由二进制代码组成。一条指令一般包含操作码(OP)和操作数两部分,操作码指明指令所完成的操作,操作数指出该指令在执行规定操作时所需的信息。 ( 8086/8088 指令有1-6个字节构成(按一定的编码格式) 3.2 8086/8088寻址方式 P51 ( 指令中用于说明操作数(一般指源操作数)所在地址的方式被称为寻址方式。 (8086的寻址方式分两类:数据寻址方式和转移地址的寻址方式) 3.2.1数据寻址方式 P51 1.立即寻址: 数据是8位或16位,直接放在指令的最后一个(8位)或两个字节(16位)中,这样的数据称为立即数。 MOV AL,80H ADD AX,0F000H MOV AX,1234H ADD AL,10H 2. 寄存器寻址:数据存放在指令规定的寄存器中。 MOV CL,DL MOV AX,BX 注意:在双操作数指令中源操作数寻址方式和目的操作数寻址方式。 3. 直接寻址:操作数在存储器中,其16位有效地址,即段内偏移地址在指令码中,占两个字节。 MOV AL,[1064H] ;设(DS)=2000H ADD AX,[2000H] 4. 寄存器间接寻址:操作数在存储器中,其16位有效地址EA在指令指定的基址寄存器BX或变址寄存器SI、DI中。 BX EA = SI DI 注意:新教材中有BP 【例】 MOV AX,[SI] MOV [BX] , AL 如果:(DS)=3000H,(SI)=2000H,(BX)=1000H,(AL)=64H 注意: ( 默认段地址寄存器为DS ( 以上为二字节指令; ( MOV AX,[BP]为三字节指令;实为指令MOV AX,[BP+0]的简写! 5. 寄存器相对寻址:操作数在存储器中,其效地址是一个8位或16位的位移量与一个基址寄存器或变址寄存器的内容之和。 BX EA = BP + 8 disp SI 16 disp DI 【例】 MOV AX,[SI+10H] ;可写为 MOV AX,10H[SI] MOV CX,[BX+COUNT] 如果:(DS)=3000H,(SI)=2000H,(BX)=1000H,COUNT=1050H (AX)=4050H 注意: ( 8 disp 和 16 disp为带符号的整数,前者范围为 -128 到 +127后者为 到 。 ( 在计算有效地址时超过16时则进位丢失 ( 寄存器BP的默认段地址寄存器为SS(见P43 表2.2) 6. 基址变址寻址: 操作数在存储器中,其效地址是一个基址寄存器和一个变址寄存器的内容之和。 EA = BX + SI BP DI 【例】MOV [BX+DX],AX MOV CX,[BP][SI] 如果:(DS)=3000H,(SS)=4000H,(BX)=1000H,(DI)=1100H (AX)=0050H,(BP)=2000H,(SI)=1200H 注意: ( 一般情况下,基址寄存器决定操作数在那个段中 7. 基址变址相对寻址: 操作数在存储器中,其效地址是一个8位或16位位移量、一个基址寄存器和一个变址寄存器内容三部分之和。 EA = BX + SI + 8 disp BP DI 16 disp 【例】 MOV AX,[BX+DI+1200H] MOV [BP+SI+200H],CX 如果:(DS)=8000H,(SS)=6000H,(BX)=1000H,(DI)=1500H (BP)=

文档评论(0)

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

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

1亿VIP精品文档

相关文档