首先,你需要的ARM架构参考手册(ARM ARM)在,参考手册,获得最古老的一个(或的ARMv5什么)。 所述指令集在那里很好的定义。
其次,你为什么不只是组装一些指令,并看看会发生什么?
;@test.s
cmp r1, r0
add r0, #0x1a
你有什么交叉汇编(见/dwelch67/raspberrypi在脚本编译GCC目录,只要运行了直通binutils的那个脚本)
arm-none-linux-gnueabi-as test.s -o test.o
arm-none-linux-gnueabi-objdump -D test.o
手臂-NONE-Linux的gnueabi VS臂无小精灵VS手臂精灵等不事本,都做同样的
Disassembly of section .text:
00000000 <.text>:
0: e1510000 cmp r1, r0
4: e280001a add r0, r0, #26
一个完整的32位指令臂(未大拇指)的顶部4位是条件代码,请参阅ARM ARM条件字段部分。 一个0xE意味着永远,永远执行这一指令。 0b0000仅当量如果z标志被设置,执行,0b0001 NE只执行如果z是清晰等
在ARM ARM进军ARM指令集的ARM指令,然后按字母顺序排列,然后找到CMP它开始COND 00I10101 RN SBZ器
从我们的CMP指令中,我们发现1110 000101010001 ...所以我是一个零位15:12都是零位27:26都是零和24:21是1010,所以这是一
arm二进制文件转换成c语言 转换非常简单的ARM指令将二进制/十六进制(Converting very simple ARM i...