彙編中的資料定址方式

2021-06-29 10:28:27 字數 778 閱讀 7640

通俗的說,資料定址方式就是尋找資料的方式。在彙編中這是很重要的。

英文:data  addresing   mode

資料定址方式有三種:

一:立即數定址        

舉個例子:mov  eax  22h

這個22h就是立即數,也就是說立即數只能在源運算元中,而且是常量。能夠立即定址,由此得名。

二:暫存器定址

把運算元放在暫存器中就是暫存器定址。表現在程式中就是直接使用暫存器名來表示其中的運算元。

三:儲存器定址

首先說說邏輯位址(有效位址)。暫存器表明了段基位址,預設情況下不用說明直接用偏移位址就可以表示有效位址,當有段超越的情況時,要在程式中使用段指令超越字首說明,再說明偏移位址即可。

32位有效位址=基址暫存器+變址暫存器*比例+位移量

1     直接定址

例如:mov  eax   account

其中account是乙個變數,而變數就表示偏移位址,所以這是一種直接定址方式,表現在上面的公式中就是位移量。

2     暫存器間接定址

例如:mov  eax   [ebx]

ebx中存的就是位址,並且用中括號。

3     暫存器相對定址

例如:mov  eax   [ebx+2]

加上位移量就是暫存器相對定址了。

4     變址定址

有基址變址定址和相對基址變址定址。

5     帶比例的變址定址

也就是帶比例的相對基址變址定址了。

注意:資料定址方式要注意匹配才行。

彙編 定址方式

定址方式 1立即定址方式 運算元包含在指令中,作為指令的一部分,跟在操作碼後存放在 段。這種運算元稱為立即數,可以是16位,也可以是8位。前者按照高高低低原則存放。例子 mov ax,1234h 2暫存器定址方式 運算元在cpu內部的暫存器中,指令中指定暫存器號。對於16位運算元,暫存器可以是ax,...

彙編 定址方式

定址方式 1立即定址方式 運算元包含在指令中,作為指令的一部分,跟在操作碼後存放在 段。這種運算元稱為立即數,可以是16位,也可以是8位。前者按照高高低低原則存放。例子 mov ax,1234h 2暫存器定址方式 運算元在cpu內部的暫存器中,指令中指定暫存器號。對於16位運算元,暫存器可以是ax,...

彙編中類似陣列的定址方式

bx 可以表示乙個記憶體單元,段位址在ds暫存器中,偏移位址為bx。bx idata 也表示乙個記憶體單元,其段位址在ds中,偏移位址為bx idata 這裡的bx表示暫存器bx中的值 這是不是c語言中陣列定址有點類似。下面通過一段 來學習一下。上面 用來將datasg中定義的第乙個字串轉化為大寫,...