网站大量收购独家精品文档,联系QQ:2885784924

寻址方式复习.pptVIP

  1. 1、本文档共13页,可阅读全部内容。
  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文档。上传文档
查看更多
操作数可以存在什么地方? 操作数存在于指令代码中,处理器译码时就立即获得了这个操作数,这就是立即(数)寻址方式。汇编指令中,这个立即数(操作数)以常量形式出现 操作数存在于处理器内部寄存器中,处理器从寄存器中获得这个操作数,这就是寄存器寻址方式。汇编指令中,这个寄存器操作数以寄存器名形式出现 操作数存在于主存中,处理器从主存单元获得这个操作数,这就是存储器寻址方式。汇编指令中,这个存储器操作数以主存地址形式出现。 8086/8088处理器的主存地址在程序设计时采用逻辑地址。逻辑地址分成段地址和偏移地址两部分。 存储器寻址方式表达存储器地址时,段地址在默认的或段超越前缀指令指定的段寄存器中,偏移地址被称为有效地址EA(Effective Address)。有效地址用中括号括起来。 有多种获得偏移地址的方法,所以存储器寻址方式又分成多种寻址方式。 有效地址直接给出,存在于指令代码中,就是直接寻址方式 有效地址存在寄存器中,就是通过寄存器的间接寻址方式 有效地址是两部分的和,一部分在寄存器中,另一部分直接给出(称为位移量),这就是寄存器相对寻址方式 有效地址是两部分的和,一部分在基址寄存器中(8086是BX和BP),另一部分在变址寄存器中(8086是SI和DI),这就是基址变址寻址方式 有效地址是三部分的和,第一部分在基址寄存器中(8086是BX和BP),第二部分在变址寄存器中(8086是SI和DI),第三部分直接给出(称为位移量),这就是相对基址变址寻址方式 区别各种寻址方式时,注意各自的特点: 只有一个常量,?????????? 立即(数)寻址方式; 只有一个寄存器名,??????寄存器寻址方式; 其他?????????????????? 则是存储器寻址方式。 用中括号括起一个常量??????? 是直接寻址方式; 用中括号括起一个寄存器名,是寄存器间接寻址方式; 用中括号括起一个寄存器名和一个常量?????????? 是寄存器相对寻址方式; 用中括号括起两个寄存器名???? 是基址变址寻址方式; 用中括号括起两个寄存器名和一个常量?????????? 是相对基址变址寻址方式。 汇编语句中,还有其他形式出现,需要理解相应操作符才能做出正确判断。 例如 直接写出变量名实际上??? 是直接寻址方式; 变量名加减一个常量??? 还是直接寻址方式; 变量名和一个寄存器???? 则是寄存器相对寻址方式; 利用offset后跟一个变量名???????????? 则是立即数寻址方式。 8086/8088有7种基本的寻址方式: 立即寻址,寄存器寻址,直接寻址,寄存器间接寻址,寄存器相对寻址,基址加变址寻址方式,相对基址加变址寻址。 立即数寻址 操作数就在指令中,作为指令的一部分,跟在操作码后存放在代码段。 mov ah,01h mov ax,1204h? ;如果立即数是16位的,则高地址放在高位,低地址放在低位 寄存器寻址 操作数在寄存器中,指令中指定寄存器号。对于8位操作数,寄存器可以是AL,AH,BL,BH, CL,CH,DL,DH。 对于16位操作数,寄存器可以是AX,BX,CX,DX,BP,SP,SI,DI等 mov ah,ch mov bx,ax 直接寻址方式 操作数在存储器中,指令直接包含操作数的有效地址EA。 mov ax,[1122h] ;将ds:1122的数据放在ax,默认段为DS mov es:[1234],al ;采用了段前缀 寄存器间接寻址 操作数在存储器中,操作数的有效地址在SI,DI,BX,BP这4个寄存器之一中。在不采用段前 缀的情况下, 对于DI,SI,BX默认段为DS,而BP为SS。 mov ah,[bx] mov ah,cs:[bx] ;使用了段前缀 寄存器相对寻址 操作数在存储器中,操作数的有效地址是一个基址寄存器(BX,BP)或变址寄存器(SI,DI)的 内容加上8位或16位的位移之和。在指令中的8位和16位的常量采用补码表示,8位要被带 符号扩展为16位。 mov ah,[bx+6] ;段址默认情况与寄存器间接寻址相同 基址加变址寻址 操作数在存储器中,操作数的有效地址是一个基址寄存器(BX,BP)加上变址寄存器(SI,DI)的 内容。如果有BP,则默认段址为SS,否则为DS. mov ah,[bx+si] 相对基址加变址寻址 操作数在存储器中,操作数的有效地址是一个基址寄存器(BX,BP)和变址寄存器(SI,DI)的 内容加上8位或16位的位移之和。如果有BP,则默认段址为SS,否则为DS. mov ax,[bx+di-2] mov ax,1234h[bx][di]? *****************注意这两种不同的表达方法 [注]:上面3~7为存储器寻址方式? * 东华大学计算

文档评论(0)

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

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

版权声明书
用户编号:5311233133000002

1亿VIP精品文档

相关文档