-
-
[求助]请教下arm-linux-as工具中怎样写b指令
-
发表于:
2013-7-11 23:39
6810
-
[求助]请教下arm-linux-as工具中怎样写b指令
大家好,我想从arm汇编指令得到机器码,可以用as工具这样写:
// arm.txt
.code 32
MOV R0, SP
// command line
E:\armgen>arm-linux-as -ahlm -k -mthumb-interwork -march=armv7-a c:\arm.txt
ARM GAS c:\arm.txt page 1
1 .code 32
2 0000 0D00A0E1 MOV R0, SP
对于B,BL,BLX可以这样写:
//arm.txt
.code 16
BLX .sub_xxx
.code 32
ADD R0, PC
ADD R0, PC
.sub_xxx: ADD R0, PC
// command line
E:\armgen>arm-linux-as -ahlm -k -mthumb-interwork -march=armv7-a c:\arm.txt
ARM GAS c:\arm.txt page 1
1 .code 16
3 0000 00F004E8 BLX .sub_xxx
5
6 .code 32
8 0004 0F0080E0 ADD R0, PC
10 0008 0F0080E0 ADD R0, PC
12 000c 0F0080E0 .sub_xxx: ADD R0, PC
但是上面的BLX的偏移是工具根据标号的位置自动计算的,如果我想指定一个偏移应该怎样写呢?比如我想像下面这样写但是没有成功:
.code 16
BLX #0xce0
[招生]科锐逆向工程师培训(2025年3月11日实地,远程教学同时开班, 第52期)!