基本格式:操作碼 [目的運算元據][源運算元]
#「」表示可有可無
零運算元指令:操作碼 (隱含操作物件)
單運算元指令:操作碼 運算元
雙運算元指令:操作碼 運算元 運算元
多運算元指令:三個運算元及以上
a.立即定址:
#也就是立即數尋找,且立即數隻在源運算元。
例:mov ax,1200h
b.暫存器定址:
#參加操作的運算元在cpu的通用暫存器中
例:mov ax,bx
c.儲存器定址:
#指令操作物件在記憶體中
#運算元據用[偏移位址]表示,下面提到的偏移位址都是寫在內,表示此偏移位址所指向的記憶體中的資料
#儲存器運算元的字長本身不確定,其字長取決於另乙個暫存器的運算元,
或通過其他方式確定字長,如(mul byte ptr[bx])
例:mov ax [1200h]
運算元預設為資料段,但允許段重設:
mov ax,es:[1200h] #重設到**段
2.暫存器間接定址:
#有路由器間接給出位址
其中:bx,si,di———預設資料段
bp—————預設堆疊段
例:mov bx,1200h
mov ax,[bx]
3. 暫存器相對定址:
#一般用於一維陣列的操作
例:mov ax,[bx+data]
4.基址變址定址:
#段位址由基址暫存器決定
bx--------資料段
bp--------堆疊段
例:mov si,1100h
mov bx,si
mov ax,[si+bx] #偏移位址在資料段
5.基址,變址,相對定址
#偏移位址=基址暫存器 + 變址暫存器 + 位移量
#段位址由基址暫存器決定
#主要用於二維表
例:mov di,1100h
mov bp,di
mov al,[bp][di][s]
d.隱含定址方式:
#指令中隱含乙個或兩個運算元的位址,即運算元在預設位址中
例: mul bl
總結:通過以上總結:定址方式可以分成立即數定址,暫存器定址,儲存器定址,隱含定址,
其中儲存器定址包括:直接定址,暫存器間接定址,相對定址,基址變址定址,基址變址相對定址。
所以總共就有8大定址方式
微機原理 定址方式總結
格式 操作碼 數字表示式 將資料送入暫存器中 源運算元可以是8位也可以是16位。mov ah,f5h 位元組操作 f5h稱為立即數 8位運算元 mov al,8ah 位元組操作 8ah稱為立即數 指令格式 操作碼 暫存器 16位 位址表示式 將位址的內容送入暫存器中 mov ax,es 2000h ...
微機原理 8086的定址方式
以mov指令為例,其格式為 mov 目的運算元,源運算元1.立即定址 可以是8位或16位,如 mov ax,1234h2.暫存器定址 運算元事先存放在暫存器中,如 mov ax,bx mov al,bl3.儲存器定址 我們將運算元的位址偏移量稱為有效位址 effective address,ea e...
微機介面原理定址方式以及8086系統常用指令
例如 例如 3.1.直接定址方式 3.2.暫存器間接定址 若有效位址存放在bp暫存器中,則運算元在堆疊段中,即運算元實體地址為 可使用段跨越字首來取得其他段中的資料,如 暫存器相對定址方式 以bp作為基址 基址變址定址方式 相對基址變址定址方式 當偏移量為16位時,則在符號位址前加操作運算子near...