<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          8086尋址方式

          作者: 時(shí)間:2016-11-27 來源:網(wǎng)絡(luò) 收藏
          BTW--符號(hào)的說明:

          PA表示某一存儲(chǔ)單元的物理地址
          EA表示某一存儲(chǔ)單元的有效地址
          (地址)表示地址的內(nèi)容
          [地址]表示地址的內(nèi)容為偏移地址
          DEST表示目的地址,即目的操作數(shù)存放的偏移地址
          SOUR表示源地址,即源操作數(shù)存放的偏移地址
          -表示傳送。如:(AX)-BX表示把AX的內(nèi)容傳送給BX
          ?邏輯與
          ?邏輯或
          邏輯異或
          ----上劃線表示邏輯非
          ____下劃線表示從鍵盤輸入
          或者
          Flags表示狀態(tài)寄存器

          8086和8088 CPU就功能而言可分成兩大部分:總線接口單元BIU(Bus Inte***ce Unit)和執(zhí)行單元EU(Execution Unit)

          EU主要實(shí)現(xiàn)兩種操作:一是根據(jù)指令進(jìn)行算術(shù)邏輯運(yùn)算。二是由計(jì)算出指令要求尋址單元地址偏移量,以形成一個(gè)20位物理地址,去存取器存取所要求的操作數(shù)。
          BIU主要負(fù)責(zé)80868088 CPU與存儲(chǔ)器和外設(shè)之間的信息傳送,BIU用來實(shí)現(xiàn)EU所有總線操作。
          在EU執(zhí)行指令的過程中,BIU負(fù)責(zé)從內(nèi)存指定區(qū)域取出傳送給EU部分去執(zhí)行。在執(zhí)行指令時(shí),所需的操作數(shù)也是由BIU從內(nèi)存指定區(qū)域取出傳送給EU部分執(zhí)行。

          與數(shù)據(jù)有關(guān)的尋址方式

          1 立即尋址方式(Immediate addressing)

          立即數(shù)可以是8位的或16位的。如果是16 位數(shù),則高位字節(jié)存放在高地址中,低位字節(jié)存放在低地址中,如果是32 位數(shù),則高位字在高地址中,低位字在低地址中。

            立即尋址方式常用于給寄存器賦初值,并且只能用于源操作數(shù)字段,不能用于目的操作數(shù)字段。


          例 MOV AL, 9
                   指令執(zhí)行后,(AL)= 09H

          例 MOV AX, 3064H
                   指令執(zhí)行后,(AX)= 3064H

          注意:不能直接給段寄存器和標(biāo)志寄存器賦予立即數(shù)。

               顯然,下面的指令是錯(cuò)誤的:
               MOV DS, 1250H

          2 寄存器尋址方式(Register addressing)

            對(duì)于16位操作數(shù),寄存器可以是AX、BX、CX、DX、SI、DI、SP、BP、CS、DS、ES和SS;對(duì)于8位操作數(shù),寄存器可以是AL、AH、BL、BH、CL、CH、DL、DH。由于操作數(shù)就在寄存器中,指令執(zhí)行時(shí)不需要訪問存儲(chǔ)器,因此這是一種快速的尋址方式。

          例 MOV  AX, BX
                    如指令執(zhí)行前(AX)= 1234H,(BX)= 5678H;
                    則指令執(zhí)行后(AX)= 5678H,(BX)保持不變。

            注意:源寄存器和目的寄存器的位數(shù)必須一致。

            例如:MOV CL, BX是一條錯(cuò)誤指令。


            除上述兩種尋址方式外,下面五種尋址方式的操作數(shù)都在除代碼段以外的存儲(chǔ)區(qū)中。
            這里先引入有效地址EA(Effective Address)的概念:在8086里,把操作數(shù)的偏移地址稱為有效地址,下面五種計(jì)算EA的方法體現(xiàn)了五種尋址方式。

          3 直接尋址方式(Direct addressing)

            在這種尋址方式中,操作數(shù)存放在存儲(chǔ)單元中,而這個(gè)存儲(chǔ)單元的有效地址就在指令的操作碼之后,操作數(shù)的物理地址可通過((DS)×16)再加上這個(gè)有效地址形成。
            
            在匯編語言指令中,可以用符號(hào)地址(變量名或標(biāo)號(hào))代替數(shù)值地址。
            例如: MOV AX, DATA
              或 MOV AX, [DATA]
              這里DATA是存放操作數(shù)單元的符號(hào)地址。

            直接尋址方式默認(rèn)操作數(shù)在數(shù)據(jù)段中,如果操作數(shù)定義在其它段中,則應(yīng)在指令中指定段跨越前綴。
            例如: MOV AX, ES:NUMBER
              或 MOV AX, ES:[NUMBER]
              這里NUMBER是附加段中的字變量。

            直接尋址方式適合于處理單個(gè)變量。

          例 MOV AX, [2000H]
                   如果(DS)= 3000H,則執(zhí)行情況如圖3.2所示。
                   最后的執(zhí)行結(jié)果為(AX)= 3050H。

          4 寄存器相對(duì)尋址方式(Register indirect addressing)

            這種尋址方式通過基址寄存器BX、BP或變址寄存器SI、DI與一個(gè)位移量相加形成有效地址,計(jì)算物理地址的缺省段仍然是SI、DI和BX為DS,BP為SS?! ?br />
            寄存器相對(duì)尋址方式也可以使用段跨越前綴。
            例如:MOV AX, ES:[DI+10]

            這種尋址方式同樣可用于表格處理。
            表格的首地址可設(shè)置為位移量,修改基址或變址寄存器的內(nèi)容取得表格中的值。

          例 MOV AX, COUNT[SI](也可表示為MOV AX, [COUNT+SI])
                  其中COUNT為16位位移量的符號(hào)地址。
                  如果 (DS)= 3000H,(SI)= 2000H,COUNT = 3000H

                  則物理地址 = 30000H + 2000H + 3000H = 35000H
                  指令執(zhí)行情況如圖3.4所示,最后的執(zhí)行結(jié)果是(AX)= 1234H。

          5 基址變址尋址方式(Based indexed addressing)

            這是一種基址加變址來定位操作數(shù)地址的方式,也就是說,操作數(shù)的有效地址是一個(gè)基址寄存器(BP或BX)和一個(gè)變址寄存器(SI或DI)的內(nèi)容之和。如基址寄存器為BX時(shí),與DS形成的物理地址指向數(shù)據(jù)段;如基址寄存器為BP時(shí),與SS形成的物理地址指向堆棧段。如左圖所示。  

            此種尋址方式也可使用段跨越前綴。
            例如:MOV AX, ES:[BX][SI]

            注意:一條指令中同時(shí)使用基址寄存器或變址寄存器是錯(cuò)誤的。
            例如:MOV CL, [BX+BP] 或 MOV AX, [SI+DI] 均為非法指令。

            這種尋址方式同樣適用于數(shù)組或表格處理。
            首地址可存放在基址寄存器中,而用變址寄存器來訪問數(shù)組中的各個(gè)元素。由于兩個(gè)寄存器的值都可以修改,所以它比寄存器相對(duì)尋址方式更加靈活。

          例 MOV AX, [BX][DI] (或?qū)憺?MOV AX, [BX+DI])
                  如 (DS ) = 2100H,(BX)= 0158H,(DI)= 10A5H
                  則 EA = 0158H +10A5H = 11FDH


                  物理地址 = 21000H +11FDH = 221FDH
                  指令執(zhí)行情況如圖3.5所示,最后的執(zhí)行結(jié)果是(AX)= 1234H。

          6 相對(duì)基址變址尋址方式(Relative based indexed addressing)

            這種尋址方式與基址變址尋址方式類似,不同的是基址加變址再加上一個(gè)位移量形成操作數(shù)的有效地址。缺省段的使用仍然是DS與BX組合,SS與BP組合?! ?br />
            這種尋址方式通常用于對(duì)二維數(shù)組的尋址。
            例如,存儲(chǔ)器中存放著由多個(gè)記錄組成的文件,則位移量可指向文件之首,基址寄存器指向某個(gè)記錄,變址寄存器則指向該記錄中的一個(gè)元素。

          上一頁 1 2 下一頁

          關(guān)鍵詞: 8086尋址方

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();