• 8086汇编寻址方式总结


    寻址方式是汇编语言的重点和难点。请按如下思路学习:

    1. 操作数可以存在什么地方?

               ⑴ 操作数存在于指令代码中,处理器译码时就立即获得了这个操作数,这就是立即(数)寻址方式。汇编指令中,这个立即数(操作数)以常量形式出现。
               ⑵ 操作数存在于处理器内部寄存器中,处理器从寄存器中获得这个操作数, 这就是寄存器寻址方式。汇编指令中,这个寄存器操作数以寄存器名形式出现。
               ⑶ 操作数存在于主存中,处理器从主存单元获得这个操作数,这就是存储器寻址方式。汇编指令中,这个存储器操作数以主存地址形式现。


    2. 8086/8088处理器的主存地址在程序设计时采用逻辑地址。逻辑地址分成段地址和偏移地址两部分。

     

    3. 存储器寻址方式表达存储器地址时,段地址在默认的或段超越前缀指令指定的段寄存器中,偏移地址被称为有效地址EA(Effective Address)。有效地址用中括号括起来

     

    4. 有多种获得偏移地址的方法,所以存储器寻址方式又分成多种寻址方式。

               ⑴ 有效地址直接给出,存在于指令代码中,就是直接寻址方式。
               ⑵ 有效地址存在寄存器中,就是通过寄存器的间接寻址方式。
               ⑶ 有效地址是两部分的和,一部分在寄存器中,另一部分直接给出(称为位移量),这就是寄存器相对寻址方式。
               ⑷ 有效地址是两部分的和,一部分在基址寄存器中(8086是BX和BP),另一部分在变址寄存器中(8086是SI和DI),这就是基址变址寻址方式。
               ⑸ 有效地址是三部分的和,第一部分在基址寄存器中(8086是BX和BP),第二部分在变址寄存器中(8086是SI和DI),第三部分直接给出(称为位移量),这就是相对基址变址寻址方式。

     

    5. 区别各种寻址方式时,注意各自的特点。

               只有一个常量,                   是立即(数)寻址方式;
               只有一个寄存器名,               是寄存器寻址方式;
               其他                              则是存储器寻址方式。

               用中括号括起一个常量                      是直接寻址方式;
               用中括号括起一个寄存器名,                 是寄存器间接寻址方式;
               用中括号括起一个寄存器名和一个常量     是寄存器相对寻址方式;
               用中括号括起两个寄存器名                    是基址变址寻址方式;
               用中括号括起两个寄存器名和一个常量     是相对基址变址寻址方式。

     

    6. 汇编语句中,还有其他形式出现,需要理解相应操作符才能做出正确判断。

    例如,
               直接写出变量名实际上                   是直接寻址方式;
               变量名加减一个常量                    还是直接寻址方式;
               变量名和一个寄存器                    则是寄存器相对寻址方式;
               利用offset后跟一个变量名              则是立即数寻址方式。

    原文:http://www.cnblogs.com/satng/archive/2010/01/15/2138180.html

  • 相关阅读:
    [51nod] 1301 集合异或和
    [BZOJ] 1088: [SCOI2005]扫雷Mine
    [LUOGU] P4251 [SCOI2015]小凸玩矩阵
    8.21模拟赛
    [BZOJ] 3163: [Heoi2013]Eden的新背包问题
    [BZOJ] 1001: [BeiJing2006]狼抓兔子
    【NOIP2017提高A组冲刺11.8】好文章
    [BZOJ] 1520: [POI2006]Szk-Schools
    [BZOJ] 1877: [SDOI2009]晨跑
    day23(事务管理)
  • 原文地址:https://www.cnblogs.com/waxblogs/p/3418634.html
Copyright © 2020-2023  润新知