-
-
[原创]小工具--ARM汇编器//查看机器码
-
发表于:
2013-3-22 16:00
24136
-
方便大家查看汇编指令转换后的机器码,hack一些native的so文件。
需要查看thumb指令,就把它填到.code 16,否则填到.code 32节中,
直接运行批出理就能看到详细的结果。
以前看某位兄弟曾写过一个带GUI的叫CeleASM.exe,
但那个内嵌的是M$的arm-as工具,过时了,新版的armv7指令不支持,所以就从android toolchain里取了,算是够Native了。
平时太忙了,没时间整GUI,就控制台版的凑或用吧。
测试汇编码:
.text
.align 4
.fpu neon
.global asmgen
.type asmgen, %function
asmgen:
.fnstart
push {lr}
teq r2, #0
ble .Lbye
.code 16
cbz r2, .Lhelo
cbnz r1, .Lbye
movs r2, #3
.code 32
.Lhelo:
mov r1, r2, lsl #2
.Lbye:
pop {pc}
.fnend
批处理运行结果:
ARM GAS asmgen.txt page 1
1
2 .text
3 .align 4
4 .fpu neon
5
6 .global asmgen
7 .type asmgen, %function
8
9 asmgen:
10 .fnstart
11 0000 00402DE9 push {lr}
12
13 0004 000032E3 teq r2, #0
14 0008 020000DA ble .Lbye
15
16 .code 16
17 000c 12B1 cbz r2, .Lhelo
18 000e 19B9 cbnz r1, .Lbye
19 0010 0322 movs r2, #3
20
21 0012 0000 .code 32
22 .Lhelo:
23 0014 0211A0E1 mov r1, r2, lsl #2
24
25 .Lbye:
26 0018 0080BDE8 pop {pc}
27 001c 00F020E3 .fnend
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课