0380x86寻址方式讲解.pptVIP

  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文档。上传文档
查看更多
IBM—PC汇编语言 程序设计(第2版);第03讲:80×86寻址方式;§3.1、指令系统的基本概念;操作码?说明计算机要执行哪种操作,如传送、运算、移位、跳转等操作,它是指令中不可缺少的组成部分。 ;指令的功能——该指令能够实现何种操作。通常指令助记符就是指令功能的英文单词或其缩写形式。 指令支持的寻址方式——该指令中的操作数可以采用何种寻址方式。 指令对标志的影响——该指令执行后是否对各个标志位(OV、ZF、CF、PF等)有影响,以及如何影响。;3.2.1 寻址、寻址方式的概念 寻址就是寻找操作数的地址。 寻址方式就是寻找操作数的方法。 操作数可以跟随在指令操作码之后,称为立即数. 操作数也可以存放在CPU内部的寄存器中,称为寄存器操作数. 绝大多数的操作数存放在内存储器中,称为存储器操作数. 指令指定操作数的位置,即给出地址信息,在执行时需要根据这个地址信息找到需要的操作数.; 指令助记符体现该指令的功能,它对应一条二进制编码的机器指令。 指令的操作数个数由该指令确定,可以没有操作数,也可以有一个、二个或三个操作数。 80X86寻址方式分类: 寻址的中心问题如何确定“偏移地址”的值; 第一类:与数据有关的十种方式?①立即寻址、②寄存器寻址、③直接寻址、④寄存器间接寻址、⑤寄存器相对寻址、⑥基址变址寻址、⑦相对基址变址寻址、⑧比例变址寻址、⑨基址比例变址寻址、⑩相对基址比例变址寻址; 第二类:与转移地址有关的四种寻址方式?①段内直接寻址、②段内间接寻址、③段间直接寻址、④段间间接寻址; 说明:同一指令的多个操作数可各自采用不同的寻址方式。 ;3.2.3 与数据有关的寻址方式 与寻址方式有关的基础知识简介: (1)、有效地址(EA)?指令直接或间接指明的存放操作数的内存单元的偏移地址: EA = 基址+(变址*比例因子)+位移量 注意:上述公式中四种成分的不同组合形成八种寻址方式 ①基址(base)?存放在“基址寄存器”中;可正可负;主要用于存放数组或字符串首址; 16位基址寄存器:BX、BP. 32位基址寄存器:EAX、EBX、ECX、EDX、ESP、EBP、ESI、EDI. ②变址(index)?存放在“变址寄存器”中;可正可负;主要用于访问数组中某元素或字符串中某一元素. 16位变址寄存器:SI、DI. 32位变址寄存器:除ESP以外的七个32位通用寄存器. ③比例因子(scale factor)?只与变址寄存器联用;只能为1、2、4或8; 注意:只能是32位寻址,没有16位寻址; ④位移量(displacement)?存放在指令中的一个8位、16位、32位地址偏移部分;可正可负;;(2)、段超越前缀?形成物理地址时,段寄存器与访存类型之间有默认匹配关系,但有时可以使用段超越前缀来改变默认关系(参见P39表3.2); 格式:MOV AX,ES:[2000H] 特别注意:但以下三种情况不允许使用段超越前缀 ①串处理指令的目的串?ES段; ②取指指令?CS段; ③PUSH的目的和POP的源?SS段;;以 MOV 指令为例: 立即寻址 MOV AX , 3069H 寄存器寻址 MOV AL , BH 直接寻址 MOV AX , [2000H] 寄存器间接寻址 MOV AX , [BX] 寄存器相对寻址 MOV AX , COUNT[SI] 基址变址寻址 MOV AX , [BP][DI] 相对基址变址寻址 MOV AX , MASK[BX][SI] 基址比例变址寻址 MOV EBX,[EAX][EDX*8] 相对基址比例变址寻址 MOV EAX,TABLE[EBP][EDI*4] ;1)立即寻址方式→没有EA;【例3.1】 MOV AX, 4576H 执行后(AX)=? ; 2)寄存器寻址方式→没有EA;指令中可以引用的寄存器及其符号名称如下: 8位寄存器:AH、AL、BH、BL、CH、CL、DH、DL; 16位寄存器:AX、BX、CX、DX、SI、DI、SP、BP和段寄存器等; 32位寄存器:EAX、EBX、ECX、EDX、ESI、EDI、ESP、EBP。;【例3.2】下列程序执行后,(AX)=?,(BX)=? MOV AX,1234H MOV BX,5678H ADD AX,BX;3)直接寻址方式→EA=位移量;【例3.3】 执行指令:MOV B

文档评论(0)

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

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

1亿VIP精品文档

相关文档