彙編指令定址方式

2021-06-28 10:37:12 字數 867 閱讀 4834

一條指令的定址方式決定了這個操作如何利用指令中所攜帶的資料

去尋找真正的運算元據。這裡,按最直觀的理解分做4大類。

(1)立即定址:真正的運算元就包含在指令當中。

mov eax,1

這條指令的寫法就是立即定址,運算元就是1,指令的含義是把1賦給eax。

(2)暫存器定址:運算元據在暫存器內。

mov eax,ebx

這條指令的寫法就是暫存器定址,運算元放在ebx內,指令的內含義是把ebx

內的資料賦給eax。

mov eax,[0x1000]

這條指令的寫法就是直接定址,運算元放在0x1000指向的記憶體位址內,指令的含義

是把位址為0x1000的資料賦給eax。

乙個暫存器讀取,也可能是把某幾個暫存器中的資料相加,等等。

mov eax,【ebx】

含義是把ebx裡的資料作為乙個位址,然後從這個位址得到

資料賦予eax。

mov eax, 【ebx+4】

含義是把ebx裡的資料作為乙個位址,將這個位址加4後得到新位址,從新位址獲取

資料賦給eax。

mov eax, 【ebx+edx】

含義把ebx裡的資料與edx的資料之和作為位址,從這個

位址獲取資料賦給eax。

mov eax,【ebx+ecx*4+4】

含義把ebx裡的資料與ecx*4的資料之和作為位址,將這個位址加上4後得到新位址,從

新位址獲取資料賦給eax。

這裡ecx*4並非表示cpu在做定址操作的時候可以同時做乘法,而只是將ecx擴大了4倍,

表示這個陣列元素都是32位長整數。

寫在[ ] 內的最多只能是3個部分的和,你可以理解為基址、變址和常數偏移。

ARM彙編指令學習之定址方式

arm處理器共有9中定址方式 1.暫存器定址 運算元的值在暫存器中,指令執行時直接取出暫存器的值來操作 mov r1,r2 r2 r1 sub r0,r1,r2 r1 r2 r0 2.立即定址 mov r0,0xff00 0xff00 r0 subs r0,r0,1 r0 1 r0 3.暫存器移位定...

彙編 定址方式

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

彙編 定址方式

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