用于Iphone二进制文件的NOP

问题描述:

x86/x86_64的NOP操作码是0x90,但它是带有ARM指令集的iPhone上的模拟量吗?用于Iphone二进制文件的NOP

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

ARMv7的具有实际NOP指令,与以下编码:

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

当靶向早期版本的架构的,装配翻译NOP到MOV说明moonshadow列出。

您不应该使用实际的操作码,因为开发工具会理解NOP

我想补充说,armv7的非条件NOP是0xE320F000。

请注意,如果你要修补文件,你需要编写以相反的顺序(小尾数)字节 - 00 F0 20 E3