尋址方式

從 华夏文化百科
跳到: 導覽、 搜尋


簡介

直接尋址、寄存器間接尋址、寄存器相對尋址、基址加變址尋址和相對基址加變址尋址,這五種尋址方式屬於存儲器尋址,用於說明操作數所在存儲單元的地址。由於總線接口單元BIU能根據需要自動引用段寄存器得到段值,所以這五種方式也就是確定存放操作數的存儲單元有效地址EA的方法。有效地址EA是一個16位的無符號數,在利用這五種方法計算有效地址時,所得的結果認為是一個無符號數。 除了這些基本的尋址方式外,還有固定尋址和I/O端口尋址等。


特點

1:寄存器直接尋址: 你就想成:其實你已經站在你要找的"門戶號(家)"面前了,直接敲門進去就OK了! 例子: MOV AX,【2000H】 MOV AX,2000H --2000H為存放操作數單元號的符號地址 上面兩者是不等效的 2:寄存器間接尋址方式: 你就想成:你已經站在你要找的"門戶號(家)"的"單元號",你要找到它,必須知道它在當前"單元號"幾樓.假如它在6樓,那你就上到6樓就OK了!!注意,最高只有16樓,因為什麼呢?那就用DEBUG的D命令看看呀,慢慢數哦,呵呵!! 例子: MOV AX,【BX】 計算公式: 物理地址=16d*(DS)+(BX) 物理地址=16d*(DS)+(SI) 物理地址=16d*(DS)+(DI) 物理地址=16d*(SS)+(BP) 3:寄存器相對尋址方式: 你就想成:你要找的"門戶號(家)"其實就在你家的樓上或者樓下,你要找到它,就 必須知道它在你樓上幾樓,或者在樓下幾樓!就OK了! 例子: MOV AX,COUNT【SI】 MOV AX,【COUNT+SI】 其中 COUNT為位移量的符號地址 計算公式: 物理地址=16d*(DS)+(BX)+8位位移量 或+(SI) 或 16位位偏移量 或+(DI) 物理地址=16d*(SS)+(BP)+8位偏移量 4:基址變址尋址方式: 你就想成:你要找的"門戶號(家)"是跟住在同一棟樓的不同"單元號",你要找到它,就必須知道它是該棟的哪個"單元號",並且住在幾樓!那樣你就可以找到它了 ! 例子: MOV AX,【BX】【DI】 MOV AX,【BX+DI】 計算公式: 物理地址=16d*(DS)+(BX)+(SI) 或+(DI) 物理地址=16d*(SS)+(BP)+(SI) 或+(DI) 5:相對基址變址尋址方式: 你就想成:你就想成:你要找的"門戶號(家)"是跟住在同一棟樓的不同"單元號",它比你高几層樓或者低幾層樓,然後用的你目前的樓數+/-就可以得出你要找的住在幾樓了! 例子: MOV,AX,MASK【BX】【SI】 MOV,AX,MASK【BX+SI】 MOV,AX,【MASK+BX+SI】 以上三個例子是等效的!! 計算公式: 物理地址=16d*(DS)+(BX)+(SI)+8位位移量 或+(DI) 或 16位位偏移量 物理地址=16d*(SS)+(BP)+(SI)+8位位移量 或+(DI) 或 16位位偏移量