偽指令LDR R0, =0xf454f00

來源:互聯網
上載者:User

1. 沒有“LDR R1,0x12345678 ”
2. 以下兩條指令是一樣的,都被稱為“偽指令”,就是說編譯器會把這條指令替換成其他合適的指令。
LDR R1, =0x12345678
LDR R0, =LED_TAB
如果這些數值不太複雜,那麼就會用mov指令代替,比如:
ldr r1, =0x00
在編譯時間就會變成:
mov r1, #0x00

如果這些數值很複雜,那麼編譯時間,這個數值會被儲存在某個地方,然後使用讀記憶體的指令進行讀取,比如:
LDR R1, =0x12345678
在編譯時間變成:
ldr r1, [pc, xxxxx] // 這個xxx與pc相加,剛好就是some_locate的地址──編譯器會幫你做好這一切
some_locate: .word 0x12345678

3. 你說“LDR R0,=LED_TAB ;載入標號地址 ”,沒錯,
LED_TAB是個地址標號,就是一個數值而已,編譯器串連程式時會確定它的值,如果它很簡單,就會使用mov指令賦值;如果很複雜,就存在某個地址,然後用讀記憶體的指令讀出。

4. LDR R0,LED_TAB
沒有“=”號,它表示“讀記憶體”.
比如:
LDR R0,LED_TAB
LDR R1, =LED_TAB
LED_TAB: .work 0x12345678

R0的值是0x12345678,R1的值是LED_TAB標號值,就是0x12345678在記憶體中存放的地址

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.