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指令系統中規定的尋找運算元所在地址的方式,或者說通過什麼的方式找到運算元
存取資料有關的定址方式:立即定址、暫存器定址、直接定址、暫存器間接定址、暫存器相對定址、基址變址定址、相對基址變址定址
與程式控制有關的定址方式:段內直接定址、段間直接定址、段內間接定址、段間間接定址
什麼是定址方式 8086 8088指令系統的定址方式有哪些
易過敏 8086或8088指令的定址方式 計算機對儲存器,暫存器中資料的各種操作需要資料的存放地址,然後進行操作。指令的定址方式就是尋找指令運算元所在地址的方式,對於我們來說,可以確定資料的 和去處 1.立即數定址方式 例 mov ax,41h 這個就是立即數 運算元就是41h 立即數定址不執行匯流...
8086組合語言指令的定址方式有哪幾類
水木年華 主要是立即定址,暫存器定址,直接定址,暫存器間接定址,暫存器相對定址,基址變址定址,相對基址變址,還有隱含定址,i o埠定址,轉移類定址。 可軒 80x8組合語言尋求方式 立即定址 直接定址 暫存器定址 暫存器間接定址 相對定址 變址定址。定址方式舉例如下 mov ax,20b5h 立即定...
某機字長32位,指令單字長,指令系統中具有二地址指令 一地址
鹿蘆路 一地址指令最多有2 20 2 12 1 因為二地址只有操作碼和一個地址,則操作碼是20位,一地址指令為2 20,拿出一個拓展位給零地址則2 20 1,給二地址一個拓展視窗則是2 20 1 2 12 零地址指令最多是2 32 2 24 2 12零地址指令最多則分給分給二地址一個拓展位,假設分給...