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

    8086 CPU 寻址方式

    http://blog.csdn.net/daiyutage/article/details/9141251

    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]                                                                        相对基址变址寻址

  • 相关阅读:
    121.买卖股票 求最大收益1 Best Time to Buy and Sell Stock
    409.求最长回文串的长度 LongestPalindrome
    202.快乐数 Happy Number
    459.(KMP)求字符串是否由模式重复构成 Repeated Substring Pattern
    326.是否为3的平方根 IsPowerOfThree
    231.是否为2的平方根 IsPowerOfTwo
    461.求两个数字转成二进制后的“汉明距离” Hamming Distance
    206.反转单链表 Reverse Linked List
    448. 数组中缺少的元素 Find All Numbers Disappeared in an Array
    常见表单元素处理
  • 原文地址:https://www.cnblogs.com/lsgxeva/p/8948160.html
Copyright © 2011-2022 走看看