尋址的對(duì)象
程序是指令的集合绒瘦,指令包括操作碼和操作數(shù)闭树。尋址可分為指令的尋址即表示下一條指令的位置蚪腋,還有便是數(shù)據(jù)的尋址即操作數(shù)的尋址丰歌,只有找到這個(gè)操作數(shù)才能對(duì)數(shù)據(jù)進(jìn)行操作。
下面圖表示數(shù)據(jù)尋址的幾種方式
數(shù)據(jù)尋址總結(jié).png
數(shù)據(jù)尋址.png
我們可以看到數(shù)據(jù)的尋址可以分為以下幾種
- 立即數(shù)尋址:表示數(shù)據(jù)直接在指令中屉凯,這種方式的尋址是非沉⑻快的
- 寄存器尋址:表示數(shù)據(jù)存儲(chǔ)在寄存器中,指令中的操作數(shù)表示寄存器的名字
- 存儲(chǔ)器尋址:這種情況又可以分為幾種類型悠砚,分為直接尋址表示操作數(shù)中存儲(chǔ)的是目標(biāo)數(shù)據(jù)的地址晓勇,寄存器間接尋址表示寄存器里面存儲(chǔ)的是目標(biāo)數(shù)據(jù)的地址,寄存器相對(duì)尋址灌旧。绑咱。。枢泰。
- 外設(shè)I/O尋址:分為直接尋址和間接尋址
立即數(shù)尋址
立即數(shù)尋址表示數(shù)據(jù)在指令當(dāng)中描融,目標(biāo)數(shù)據(jù)可以直接得到,下面我們據(jù)一些常見的形式衡蚂。
mov eax,12H
mov ax,'a'
lab: mov eax 1
mov ebx,lab
varb byte 1,3H
mov eax,offset varb
寄存器尋址
寄存器尋址表示目標(biāo)數(shù)據(jù)在寄存器中窿克,通過寄存器的名字來找到數(shù)據(jù),寄存器尋址也是比較快速的讳窟,也是最常用的尋址方式让歼,下面我們舉一些例子進(jìn)行說明。
mov eax,1H
mov eax,3
mov ax,'a'
這三種方式表示目標(biāo)操作數(shù)為寄存器尋址丽啡,原操作數(shù)為立即數(shù)尋址
mov al,ah
mov al,bl
mov ax,bx
這三種表示原操作數(shù)和目的操作數(shù)為寄存器尋址
mov bvar,al
mov wvar,ax
mov dvar,eax
這三種方式表示原操作數(shù)為寄存器尋址谋右,目的操作數(shù)為存儲(chǔ)器尋址