80x86汇编语言程序设计 第3章 80x86指令系统与寻址方式.pptVIP

80x86汇编语言程序设计 第3章 80x86指令系统与寻址方式.ppt

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

第3章 80x86指令系统和寻址方式; 3.1 指令系统的基本概念; 操作码 说明计算机要执行哪种操作,如传送、运算、移位、跳转等操作,它是指令中不可缺少的组成部分。 ;指令的功能——该指令能够实现何种操作。通常指令助记符就是指令功能的英文单词或其缩写形式。 指令支持的寻址方式——该指令中的操作数可以采用何种寻址方式。 指令对标志的影响——该指令执行后是否对各个标志位(OV、Z、C、P等)有影响,以及如何影响。;3.2 80x86寻址方式; 指令助记符体现该指令的功能,它对应一条二进制编码的机器指令。 指令的操作数个数由该指令确定,可以没有操作数,也可以有一个、二个或三个操作数。;3.2.3 与数据有关的寻址方式;1) 立即寻址方式;【例3.1】 MOV AX, 4576H 执行后(AX)=? ; 2) 寄存器寻址方式;指令中可以引用的寄存器及其符号名称如下: 8位寄存器有:AH、AL、BH、BL、CH、CL、DH和DL等; 16位寄存器:AX、BX、CX、DX、SI、DI、SP、BP和段寄存器等;;【例3.2】下列程序执行后,(AX)=?,(BX)=? MOV AX,1234H MOV BX,5678H ADD AX,BX; 3) 直接寻址方式;【例3.3】 执行指令:MOV BX ,[1234H] 设(DS)=2000H。 执行后:(BX)=?; 在通常情况下,操作数存放在数据段中,所以,其物理地址将由数据段寄存器DS和指令中给出的有效地址直接形成,但如果使用段超越前缀,那么,操作数可存放在其它段。 例如:MOV ES:[1000H], AX ;注意:立即寻址方式和直接寻址方式的书写格式不同,直接寻址的地址要写在括号“[”,“]”内。在程序中,直接地址通常用内存变量名来表示,如:MOV BX, VARW,其中,VARW是内存字变量。 试比较下列指令中源操作数的寻址方式(VARW是内存字变量): ;4) 寄存器间接寻址方式;【例3.4】假设有指令:MOV BX, [DI],在执行时,(DS)=1000H,(DI)=2345H,存储单元12345H的内容是4354H。问执行指令后,BX的值是什么?; 在不使用段超越前缀的情况下,有下列规定: 若有效地址用SI、DI和BX等之一来指定,则其缺省的段寄存器为DS; 若有效地址用BP来指定,则其缺省的段寄存器为SS(即:堆栈段)。 该寻址方式物理地址的计算方法如下: BX 物理地址PA=16×DS + SI DI 或 物理地址PA=16×SS+ BP;5. 寄存器相对寻址方式;【例3.5】假设指令:MOV BX, [SI+100H],在执行它时,(DS)=1000H,(SI)=2345H,内存单元12445H的内容为2715H,问该指令执行后,BX的值是什么? 解:EA=(SI)+100H=2345H+100H=2445H PA=(DS)*16+EA=1000H*16+2445H=12445H。 所以,该指令的执行效果是: 把从物理地址为12445H开始 的一个字的值传送给BX。 ;6. 基址变址寻址方式;【例3.6】假设指令:MOV BX, [BX+SI],在执行时,(DS)=1000H,(BX)=2100H,(SI)=0011H,内存单元12111H的内容为1234H。问该指令执行后,BX的值是什么? 解:操作数的物理地址PA为: PA=(DS)*16+ (BX)+(SI) =1000H*16+ 2100H+0011H =12111H 所以,该指令的执行效果是: 把从物理地址为12111H开始 的一个字的值传送给BX。 ;7. 相对基址变址寻址方式;【例3.7】假设指令:MOV AX, [BX+SI+200H],在执行时,(DS)=1000H,(BX)=2100H,(SI)=0010H,内存单元12310H的内容为1234H。问该指令执行后,AX的值是什么? 解:该操作数的物理地址应由DS和EA的值形成,即: PA=12310H 所以,该指令的执行效果是: 把从物理地址为12310H开始 的一个字的值传送给AX。 ;跨段越问题;

文档评论(0)

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

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

1亿VIP精品文档

相关文档