8086指令系統的定址方式有哪些

時間 2021-09-02 04:47:44

1樓:匿名使用者

8086指令系統的定址方式主要有立即數定址、暫存器定址、儲存器定址和i/o埠定址。其中,儲存器定址可進一步分為直接定址、暫存器間接定址、暫存器相對定址、基址變址定址、相對基址變址定址;i/o埠指令in和out使用的埠定址方式有直接定址和間接定址。

2樓:匿名使用者

以 mov 指令為例

1. 立即定址方式* —— 運算元在指令中給出

mov al, 5

mov ax, 3064h

* 只能用於src欄位 ? mov 5, al

* src 和 dst的字長一致 ? mov ah, 3064h

2. 暫存器定址方式* —— 運算元在指定的暫存器中

mov ax, bx

mov al, bh

* 位元組暫存器只有 ah al bh bl ch cl dh dl

* src 和 dst的字長一致 mov ah, bx

* cs不能用mov指令改變 mov cs, ax

3. 直接定址方式* —— 有效地址ea由指令直接給出

有效地址ea:運算元的偏移地址

實體地址pa = 16d ? (ds) + ea

例:mov ax, [2000h]

ea=2000h, 假設(ds)=3000h, 那麼(pa)=32000h

例:運算元地址可由變數(符號地址)表示

mov ah, value ( value db 10 )

* 隱含的段為資料段 ds

* 可使用段跨越字首 mov ax, es :[2000h]

* 使用變數時,要注意變數的屬性

value db 10

mov ax, value ;錯誤

mov al, value

mov ax, word ptr value

* 適於處理單個變數

4. 暫存器間接定址方式

* ——ea在基址暫存器(bx/bp) 或變址暫存器(si/di)中

bx, si, di ->(ds)

實體地址 = 16d * (ds) + (bx)

實體地址 = 16d * (ds) + (si)

實體地址 = 16d * (ds) + (di)

bp ->(ss)

實體地址 = 16d * (ss) + (bp)

mov ax, [bx]

pa = 16d *(ds) + (bx)

mov es:[bx] , ax

pa = 16d *(es) + (bx)

mov dx, [bp]

pa = 16d *(ss) + (bp)

暫存器間接定址方式*

* 不允許使用ax、cx、dx存放ea

mov ax, [cx];錯誤

* src 和 dst的字長一致

mov dl, [si] ; [bx]指示一個位元組單元

mov dx, [di] ; [bx]指示一個字單元

* 適於對陣列、字串、**中的資料連續處理

5. 暫存器相對定址方式*

有效地址 = (bx) + 8位或者16或位移量

有效地址 = (bp) + 8位或者16或位移量

有效地址 = (si) + 8位或者16或位移量

有效地址 = (di) + 8位或者16或位移量

例: mov ax, count[si] 或 mov ax, [count+si]

假設(ds)=3000h, (si)=2000h, count=3000h 那麼 pa = 35000h

假設(35000h)=1234h, 那麼 (ax)=1234h

* 適於陣列、字串、**的處理

6. 基址變址定址方式*

有效地址 = (bx) + (si)

有效地址 = (bx) + (di)

有效地址 = (bp) + (si)

有效地址 = (bp) + (di)

mov ax, [bx][di]

pa=(ds)×16d+(bx)+(di)

或 mov ax, [bp+di]

pa=(ss)×16d+(bx)+(di)

mov ax, es:[bx][si]

pa=(es)×16d+(bx)+(si)

* 適於陣列、字串、**的處理

* 必須是一個基址暫存器和一個變址暫存器的組合

mov ax, [bx][bp] ;錯誤

mov ax, [si][di] ;錯誤

7. 相對基址變址定址方式*

有效地址 = (bx) + (si) + 8位或者16或位移量

有效地址 = (bx) + (di) + 8位或者16或位移量

有效地址 = (bp) + (si) + 8位或者16或位移量

有效地址 = (bp) + (di) + 8位或者16或位移量

mov ax, mask[bx][si]

或 mov ax, mask[bx+si]

或 mov ax, [mask+bx+si]

* 適於堆疊處理和陣列處理

3樓:匿名使用者

直接定址和間接定址!

89c51指令系統有哪幾種定址方式

4樓:蘑菇飯資訊

指令——是指定計算機的操作及其運算元或運算元地址的一組編碼字元,可被**處理機理解的基本命令。計算機藉以控制內部各單元及外部各部分協調工作的命令。

指令系統——一臺計算機所能執行的全部操作的指令集合,所有指令的集合便構成了一個指令系統.

所謂定址方式,通常是指某一個cpu指令系統中規定的尋找運算元所在地址的方式,或者說通過什麼的方式找到運算元

存取資料有關的定址方式:立即定址、暫存器定址、直接定址、暫存器間接定址、暫存器相對定址、基址變址定址、相對基址變址定址

與程式控制有關的定址方式:段內直接定址、段間直接定址、段內間接定址、段間間接定址

計算機指令系統包含哪3部分,計算機系統的指令系統有哪幾類?請舉例說明。

cpu是計算機系統的核心,在cpu的控制下,計算機系統可以完成各種各樣的工作。然而要完成這些工作,還需要有支援各種功能的指令集。不同的cpu 不同的指令集構成了不同的指令系統。指令系統是計算機硬體和軟體之間的橋樑,是計算機工作的基礎。1 指令及指令系統 指令是指計算機完成某個基本操作的命令。指令能被...

010006686指令引用的000000008記憶體該記憶體

偶爾出現,沒什麼關係,不用管他。很麻煩的問題,經常出現就危險了,弄不好就得重灌系統了。該記憶體不能read written常見原因 使用windows作業系統的人有時會遇到這樣的錯誤資訊 0x?指令引用的0x00000000記憶體,該記憶體不能written 然後應用程式被關閉。如果去請教一些 高手...

數控車床 FANUC系統),G73指令的U值和R值具體怎麼算

念憶 使用方法 車床gsk980tda的g73指令表示 固定形狀粗加工迴圈。機床數控系統由數控單元 步進伺服驅動單元和減速步進電機組成,數控單元採用mgs 5l單片微機,數控單元的控制程式是實現各種功能的核心,在零件 加工程式中,給定具體的加工長度 移動方向 進給速度,控制程式在 處理單元的支 持下...