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單片微機,數控單元的控制程式是實現各種功能的核心,在零件 加工程式中,給定具體的加工長度 移動方向 進給速度,控制程式在 處理單元的支 持下...