關於MOV,LDR,LDR偽指令區別

2021-06-29 11:52:35 字數 505 閱讀 5707

正文:

1、x86沒有ldr指令,mov可以完成讀取記憶體位址資料的功能

2、arm是risc架構,mov用於晶元內部操作,暫存器和暫存器之間,暫存器和立即數之間(立即數要+#,如:mov r1,#4),mov不可以用於讀取記憶體,面試問到cisc和risc最大區別可以說這個,呵呵!

3、ldr在arm中用於讀取記憶體資料,如:ldr r1,0x12345678,就是把0x12345678這個位址中的值存放到r0中。

4、ldr偽指令和ldr指令根本不是乙個東西!

5、由於mov指令的第二個運算元必須8點陣圖資料(看

arm處理器中「8位位圖」

),如果非8位位圖資料copy到暫存器中就用到ldr偽指令,(立即數要加=,如:ldr r1,=

0x101)

6、在編譯器發現ldr偽指令後面的立即數是8位位圖資料時就自動轉換成mov了

7、非8位位圖資料,編譯器將常量放入乙個文字池中,用ldr(讀記憶體指令)把它讀出來,其實讀的是乙個位址。

LDR指令和LDR偽指令區別

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

LDR指令和LDR偽指令區別

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

LDR指令和LDR偽指令區別

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