MOV LDR載入指令和LDR偽指令的區別

2021-10-01 01:09:28 字數 658 閱讀 8248

1、mov指令

mov指令的語法格式:

rd只能是暫存器

op2暫存器或立即數

op2為暫存器時:

mov r0, r1

mov r0, r1, lsl #4 ;將r1中的值邏輯左移4位放入r0

op2為立即數

立即數就只能由0到255中得某個數經過迴圈右移偶數次(包含0次)得到

mov r0,#0x20 ;正確

mov r0,#0x200 ;正確

mov r0,#0x201 ;不可

2、ldr偽指令

那麼如果想給r0賦0x201怎麼辦呢?可以使用偽指令ldr,如果ldr第二個 運算元前有=,則是ldr偽指令

ldr r0,=#0x201 ;它會被彙編器轉換成一條「相對pc的載入指令」

常用ldr為指令向某個記憶體位址寫入乙個值

;將5寫入記憶體0x20000000處

count equ 0x20000000

ldr r0, =count

mov r1, #5

str r1, [r0]

3、ldr載入指令

ldr指令用於從記憶體中讀取資料放入暫存器

count equ 0x20000000

ldr r0, =count

ldr r1, [r0]

LDR偽指令與LDR載入指令

arm指令集中,ldr通常都是作載入指令的,但是它也可以作偽指令。ldr偽指令的形式是 ldr rn,expr 下面舉乙個例子來說明它的用法。count equ 0x40003100 ldr r1,count mov r0,0 str r0,r1 count是我們定義的乙個變數,位址為0x40003...

LDR指令和LDR偽指令

arm指令集中,ldr通常都是作載入指令,但是它也可以作偽指令。初學者一般不會注意到它們的區別,其實在嵌入式開發過程中,這兩條指令時非常常用的!我們應該了解他們的區別。ldr偽指令的形式是 ldr rn,expr 作用是裝在乙個32bit常數和乙個位址到暫存器。下面舉乙個例子來說明它的用法。coun...

LDR指令和LDR偽指令區別

arm指令集中,ldr通常都是作載入指令,但是它也可以作偽指令。初學者一般不會注意到它們的區別,其實在嵌入式開發過程中,這兩條指令時非常常用的!我們應該了解他們的區別。ldr偽指令的形式是 ldr rn,expr 作用是裝在乙個32bit常數和乙個位址到暫存器。下面舉乙個例子來說明它的用法。coun...