定址方式就是指處理器根據指令中的資訊來找到指令所需的運算元的方式。
(arm標準彙編中使用分號注釋,gnu彙編使用@注釋)
1.立即數定址:是一種特殊的定址方式,運算元就在指令中給出,只要取出指令也就取出了運算元,這個運算元也稱為立即數。
add
r0,r0,#0x3f;r0←r0+0x3f
在上面這條指令中, #0x3f即為立即數, 要求以「#」為字首。
2.暫存器定址:暫存器定址就是利用暫存器中的數值作為運算元,這種定址方式是一種執行效率較高的定址方式。
add
r0,r1,r2 ;r0←r1+r2
該指令的執行效果是將暫存器r1和r2的內容相加,其結果存放在暫存器r0中。
ldr r0,[r2] ;r0←[r2]
以暫存器r2的值作為運算元的位址,在儲存器中取得乙個運算元後賦值給r0暫存器。
ldr r0,[r1,#4];r0←[r1+4]
5.相對定址:與基址變址定址方式相類似,相對定址pc指標的當前值為基位址,指令中的位址標號作為偏移量,將兩者相加之後得到運算元的有效位址。以下程式段完成子程式的呼叫和返回,跳轉指令bl採用了相對定址方式。
bl next ; 跳轉到子程式next處執行
……next
……mov pc, lr ; 從子程式返回
ARM定址方式
arm定址方式定義 處理器根據指令中給出的資訊來找到所需運算元的方式 立即數定址 運算元本身就在指令中給出,只需要取出指令就得到了運算元的方式。運算元稱為立即數 add r0,r0,0x3f r0 r0 3f 第二個數就是運算元,需要用 來作為字首 暫存器定址 運算元存在暫存器中,利用暫存器中的數值...
ARM定址方式
所謂定址方式就是處理器根據指令中給出的位址資訊來尋找實體地址的方式。arm處理器的定址方式 目前arm處理器支援9種定址方式,分別是立即數定址 暫存器定址 暫存器偏移定址 暫存器間接定址 基址變址定址 多暫存器定址 相對定址 堆疊定址和塊拷貝定址。1.立即數定址 也叫立即定址,是一種特殊的定址方式,...
ARM定址方式
定址方式是指處理器根據指令中給出的位址資訊來尋找實體地址的方式,目前arm指令系統支援以下幾種定址方式 也稱為立即數定址,這種定址方式指令中就已經給出了運算元。也就是在執行指令的過程中,處理器取得指令的同時也取得了運算元,因此稱為立即數定址。例如 add r0,1 r0 1 r0 add r0,r0...