是否有ARM v7-M指令集的指令解码器,我可以给它一个操作码作为参数,并返回给我与相应的指令类型?
例如:MOV Rd, <op2>
根据<op2>
有四个不同的版本。
我想知道这个版本的哪个版本是从指令的操作码中得到的?
编辑注意:操作码指的是实际的“十六进制”指令或机器编码。问题是关于汇编程序http://en.wikipedia.org/wiki/Assembly_language。在许多CPU上,主要的助记符可能会根据参数映射到不同的操作码(或机器指令)。
发布于 2014-12-15 19:42:22
是的,这叫反汇编器。将op代码放入程序集文件中,构建它,然后将其反汇编。
$ cat in.s
.syntax unified
.align 2
.code 16
.globl _foo
.thumb_func _foo
_foo:
.short 0x4615
.long 0x43e0e92d
$ clang -arch armv7m -c in.s
$ otool -arch armv7m -tv in.o
in.o:
(__TEXT,__text) section
_foo:
00000000 4615 mov r5, r2
00000002 e92d43e0 push.w {r5, r6, r7, r8, r9, lr}
https://stackoverflow.com/questions/27488743
复制相似问题