C 之彙編定址

2021-08-08 09:35:18 字數 1191 閱讀 2734

什麼叫定址:

在指令中,指定運算元或運算元存放位置的方法稱為定址方式,所謂的運算元就是你要指定的這個數的值,存放位置就是你想把那個數放到哪個位置上;也就是說乙個正常的

10進製數有他的值,和他的值所在的暫存器位置,我們定址就是要知道這個十進位制數在暫存器中的值或位置;

立即數定址

現在來看乙個彙編指令:

mov ax,8h,

這裡的ax

是資料暫存器,

8h是乙個

16進製制的數,也就是十進位制的

8,也就是16位

cpu的二進位制

0000 00000000 1000

,也就是

mov ax

,0000 00000000 1000

,也就是說直接把

8h當作

mov指令中的一部分了,這樣

8h我們就叫他立即數,

mov ax,8h

就是立即定址了,這裡是對資料暫存器

ax賦初值;

暫存器定址

指令所要的運算元已儲存在某暫存器中,或把目標運算元存入暫存器。把在指令中指出所使用暫存器

(即:暫存器的助憶符

)的定址方式稱為暫存器定址方式;

暫存器定址是一種簡單快捷的定址方式,目標源和目的運算元都可以是暫存器;

如上面所寫的立即定址

mov ax,8h

,這裡已經把裡技術

8h放到了暫存器

ax裡面,現在我們要把暫存器

ax的值放到

bx裡面就可以這樣寫,

mov bx,ax

,這裡ax

是有初始值的暫存器,所以這理就可以叫做暫存器定址;

直接定址

指令所要的運算元存放在記憶體中,在指令中直接給出該運算元的有效位址,這種定址方式為直接定址方式

現在來看乙個例子:

mov bx [8h];

這裡的8h

是乙個位址,是乙個存放在資料段暫存器的位址,意思是把

0000 0000 00001000

放到暫存器

bx裡面,此時

8h的值就傳送到了

bx裡面了,現在我們來乙個說話式操作,假如在執行

mov指令時我的資料段暫存器是

ds=8h,

此時記憶體位址就是

88h值位

2h,此時

bx的值就是2h了

ARM彙編之定址方式

arm指令集之定址方式 一 arm7指令集 arm7處理器有兩個指令集 32位的arm指令集,16位的thumb指令集。1 arm指令集 效率高,密度高 2 thumb指令集 具有較高的 密度。注 1.所有的arm指令集都是有條件執行的,而thumb指令集僅有一條指令具備條件執行功能。2.arm程式...

ARM彙編之定址方式

arm 指令集之定址方式 一 arm7 指令集 arm7 處理器有兩個指令集 32 位的arm 指令集,16 位的thumb 指令集。1 arm指令集 效率高,密度高 2 thumb 指令集 具有較高的 密度。注 1.所有的arm 指令集都是有條件執行的,而thumb 指令集僅有一條指令具備條件執行...

彙編 定址方式

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