數(shù)據(jù)尋址方式
歸納的記憶方法在最底下
立即數(shù)尋址
- 操作數(shù)直接存放在指令中亿眠,緊跟在操作碼之后贰逾。
- 立即數(shù)可以是8位或16位
- 不加H是十進(jìn)制荐吵,加H才是十六進(jìn)制
MOV AX,5
寄存器尋址
- 16位數(shù)可以是AX BX CX DX SI DI SP BP
- 8位數(shù)可以是AL AH BL BH CL CH DL DH
- 操作數(shù)在寄存器中错英,運(yùn)算速度較高
MOV AX,BX
新增的預(yù)備知識(shí)
- 有效地址EA:操作數(shù)的偏移地址
EA=基址+(變址×比例因子)+位移量 - 不允許段跨越前綴情況:
串處理指令的目的串必須用ES段
PUSH指令的目的和POP指令的源必須用SS段
指令必須放在CS段中 - 默認(rèn)段選擇規(guī)則
指令——代碼段——CS寄存器
堆椚肴觯——堆棧段——SS寄存器
局部數(shù)據(jù)——數(shù)據(jù)段——DS寄存器
目的串——附加數(shù)據(jù)段——ES寄存器
直接尋址
- 有效地址 = 位移量
MOV AX,[2000H]
EA=2000H - 用符號(hào)地址代替數(shù)值地址
MOV AX,[VALUE]
EA=VALUE
寄存器間接尋址
- 有效地址 = 寄存器的內(nèi)容
-
,其中BP的默認(rèn)段是SS椭岩,不是DS
MOV AX,[BX]
EA=BX
寄存器相對(duì)尋址/直接變址尋址
- 有效地址 = 基址寄存器/變址寄存器 + 指令中的位移量
MOV AX,COUNT[SI]或
MOV AX,[COUNT+SI]
EA=CONUT+SI
基址變址尋址
- 有效地址 = 基址寄存器內(nèi)容 + 變址寄存器內(nèi)容
MOV AX,[BX][DI]或
MOV AX,[BX+DI]
EA=BX+DI
相對(duì)基址變址尋址方式
- 有效地址 = 基址寄存器內(nèi)容 + 變址寄存器內(nèi)容 + 指令中指定的位移量
MOV AX,MASK[BX][SI]或
MOV AX,MASK[BX+SI]或
MOV AX,[MASK+BX+SI]
EA=MASK+BX+SI
好了茅逮,說(shuō)了一大堆,怎么記呢判哥?
- 最前面兩個(gè)立即數(shù)尋址和寄存器尋址不涉及偏移地址献雅,特殊拎出來(lái)記一下就好了
- 后面的一大堆******尋址方式,找關(guān)鍵詞就好了塌计。
判斷這四個(gè)有效地址中成分:寄存器挺身,基址,變址锌仅,相對(duì)(指令中的位移量)章钾,有哪些就叫什么尋址。 - 當(dāng)然還有一個(gè)例外热芹,直接尋址贱傀,有效地址直接就是位移量