zoukankan      html  css  js  c++  java
  • 8086 CPU 寻址方式

             8086 CPU 寻址方式灵活。有以下几种

             idata 表示常量

           1.   [ idata ] 用一个常量来表示地址,可用于直接定位内存单元,但是在 MASM中要显实在的说明 ds 段寄存器, 比如 mov ax, ds:[0]  ,表示把 ds 寄存器中所在段的地址+偏移地址 0 的内存单元中的值赋给ax  , 不能用

    mov  ax, [0] ,这样在masm 中会当作mov ax, 0,   在windows的 debug 和 nasm 中可以用 mov ax, [..] 的方式定位内存,段地址默认放在 ds 中。

         2.   [bx]  用一个变量来表示内存地址,可用于间接定位一个内存单元。 比如 mov ax, [bx] ,段地址默认放在ds 中

         3.  [bx+idata]  用一个变量加常量表示内存地址,可在一个其实地址的基础上用变量间接定位一个内存单元

            比如:

              mov  ax, [bx+idata]

              mov ax, [idata+bx]

              mov ax, idata[bx]

             都是等价的,相当于高级语言中的数组表示方法。

          4.   [bx+si] 用两个变量表示地址。

          5.   [bx+di] 等价于 [bx+si].

          6.   [bx+si+idata]  用两个变量和一个常量表示地址。

          7    [bx+di+idata] 等价于 [bx+si+idata].

            关于 bx,si,di,bp

          在 8086 CPU 中,只有这四个寄存器可以用在 [...] 中进行内存单元的寻址,比如

           mov  ax, [bx]

           mov ax,  [bx+si]

           mov ax, [bx+di]

           mov  ax,[ bp]

           mov ax, [bp+si]

           mov ax, [bp+di]

         在[..]中,bx,di,si,bp,可以单个出现,但是只能以四种组合方式出现

            bx和si,  bx和di,  bp和si, bp和di

           比如

           mov  ax,[bx+bp]

           mov  ax,[si+di]

           这两条指令是错误的。

         只要在[...]中使用寄存器bp, 而指令中没有显实的给出段地址,段地址默认在 ss 中

           mov ax, [bp]         段地址在 ss中

            mov ax,[bp+idata]      段地址在 ss中

           mov ax,[bp+si]           段地址在 ss中

           mov ax, [bp+si+idata]      段地址在 ss中

           也可以显实的指定段寄存器

                 mov ax, ds:[bp]

                 mov ax, es:[bx]

                 mov ax, ss:[bx]

                 mov ax ,cs:[bx+si]

          -------------------------------------------------------------------------------------------------        

            寻址方式总结

                    寻址方式                                                                              名称

                    [idata]                                                                                直接寻址

                    [bx]                                                                                      寄存器间接寻址

                    [si]                                                                                       寄存器间接寻址

                    [di]                                                                                       寄存器间接寻址

                    [bp]                                                                                      寄存器间接寻址
                  

                    [bx+idata]                                                                            寄存器相对寻址
                    [ si+idata]                                                                            寄存器相对寻址

                    [di +idata]                                                                           寄存器相对寻址

                    [bp+ idata]                                                                           寄存器相对寻址

                    [bx+si]                                                                                 基址变址寻址

                    [bx+di]                                                                                 基址变址寻址

                    [bp+si]                                                                                 基址变址寻址

                    [bp+di]                                                                                 基址变址寻址

                   

                    [bx+si+idata]                                                                        相对基址变址寻址

                    [bx+di+idata]                                                                        相对基址变址寻址

                    [bp +si +idata]                                                                      相对基址变址寻址

                    [bp+di+idata]                                                                        相对基址变址寻址

         

  • 相关阅读:
    RE
    【LeetCode】198. House Robber
    【LeetCode】053. Maximum Subarray
    【LeetCode】152. Maximum Product Subarray
    【LeetCode】238.Product of Array Except Self
    【LeetCode】042 Trapping Rain Water
    【LeetCode】011 Container With Most Water
    【LeetCode】004. Median of Two Sorted Arrays
    【LeetCode】454 4Sum II
    【LeetCode】259 3Sum Smaller
  • 原文地址:https://www.cnblogs.com/snake-hand/p/3148159.html
Copyright © 2011-2022 走看看