2009-12-09 92 views

回答

14

MOV r0,r0傳統上在ARM代碼中使用,其代碼爲0xe1a00000; MOV R8,R8是用於在Thumb碼(opcode 0x46c0)

+0

這難道不是對建築的副作用? – 2009-12-09 17:32:53

+0

@Stefan,我不這麼認爲。這些是我的彙編程序在將「nop」指令放入源文件時生成的機器指令。 – 2009-12-09 17:48:24

+0

顯然Thumb2有一條NOP指令。請參閱http://infocenter.arm.com/help/topic/com.arm.doc.qrc0001l/QRC0001_UAL.pdf的第5頁 – MArag 2009-12-09 17:58:33

10

ARMv7的具有實際NOP指令,與以下編碼:

0xbf00 2 byte thumb2 form 
0xf3af8000 4 byte thumb2 form 
0x*320f000 4 byte arm form 

當靶向早期版本的架構的,裝配翻譯NOP到MOV說明moonshadow列出。

您不應該使用實際的操作碼,因爲開發工具會理解NOP

5

我想補充說,armv7的非條件NOP是0xE320F000。

請注意,如果你要修補文件,你需要編寫以相反的順序(小尾數)字節 - 00 F0 20 E3