RVCT编译器编译的ARM汇编代码可以在Android设备上运行吗?

时间:2014-06-02 12:02:56

标签: android assembly arm adb

我的汇编代码是(code.s)

       AREA ARMex, CODE, READONLY
       ENTRY
start
       MOV  r0, #10         
       MOV  r1, #3
       ADD  r0, r0, r1          
stop
       SWI  0x11                
       END                  

要使用“armasm -g code.s”生成目标文件 为了生成可执行文件我使用了“armlink code.o -o code”
这个可执行文件在Android设备上运行吗?要遵循的步骤是什么? 我尝试使用adb命令在android上运行可执行文件,命令为
adb推送代码cd / data
adb shell
cd数据
chmod 777代码
./code
输出是“杀死”
这是什么意思?

1 个答案:

答案 0 :(得分:0)

您应该知道ARM使用两种类型的指令集:Thumb和ARM。

某些设备仅支持Thumb指令集。

Linux中还有两种不同类型的系统调用:

OABI:这是" SWI#11"东西。

EABI:这需要" SWI#0"和R7寄存器中的系统调用号码(#11)。

据我所知,Android使用的是EABI。