我正在使用llvm-clang編譯器,將簡單的C函數編譯到ARMv7-A處理器上進行彙編。我想弄清楚這個指令的功能。ARM SUB指令操作數
SUB sp, sp, #65, 30
顯然,這是在做一些局部變量堆棧指針的房間,但我從來沒有見過四個操作數的ARM SUB指令。我猜測30以某種方式修改了#65,但我不知道如何,而且我還沒有能夠在「ARM體系結構參考手冊」中找到詳細信息。有什麼建議麼?
對於好奇,這是在一個程序的開始,創建一個8×8的整數矩陣,所以我希望該sp需要爲堆棧上至少8 x 8 x 4字節的空間。
感謝您的快速回復。任何想到爲什麼會有一個立即移位而不是僅僅是數字260(ARM指令指定立即數爲12位寬,對於常數260足夠明顯)? – Zeke 2010-07-15 20:37:42
@Zeke:馬丁的回答明白了爲什麼 – 2010-07-15 23:21:29