2011-05-23 96 views
8

我正在嘗試調試我在應用程序中遇到的崩潰。堆棧跟蹤指向具有以下格式(感謝拆裝)LDR指令:與ARM LDR指令相關的#值是什麼意思?

LDR R3, [R0,#4] 

我的問題是在問候源組件。第二個參數中的#4是什麼意思?我假設它是某種抵消,但我還沒有找到支持LDR指令的文檔。

+0

一般在臂的彙編#被用於指示一個立即值。 – 2011-05-23 15:24:03

回答

8

它從R0 + 4字節中的地址加載R3。所以,是的,這是一個字節偏移量。 See this explanation of the addressing modes

+3

爲了真正全面的報道,總是明智的閱讀[Pete Cockerell的ARM彙編語言](http://www.peter-cockerell.net/aalp/html/frames.html)[(PDF)](http:// www.peter-cockerell.net/aalp/resources/pdf/all.pdf) - 一本很好的書,很舊,但仍可能是最好的ARM學習輔助工具。 – Orbling 2011-05-23 13:53:42

2

它增加了4至R0中的值,並將其用作所述地址爲32位值加載到寄存器R3