微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于Android的ARM汇编语言系列之二:C/C++程序生成ARM汇编程序

基于Android的ARM汇编语言系列之二:C/C++程序生成ARM汇编程序

时间:11-09 来源:互联网 点击:

的可执行文件hello用IDAPro反汇编如下所示:

; Segment type: Pure codeAREA .text, CODE, ALIGN=4; ORG 0x82E0CODE32; Attributes: bp-based frameEXPORT mainmainvar_C= -0xCvar_8= -8STMFD   SP!, {R11,LR}ADD     R11, SP, #4SUB     SP, SP, #8STR     R0, [R11,#var_8]STR     R1, [R11,#var_C]LDR     R3, =(aHelloArm - 0x8300)ADD     R3, PC, R3      ; "Hello ARM!"MOV     R0, R3          ; sBL      putsMOV     R3, #0MOV     R0, R3SUB     SP, R11, #4LDMFD   SP!, {R11,PC}; End of function main

从以上过程可以看出,经过编译后C代码就转换成了汇编代码,因此可以直接编写汇编代码来开发ARM程序。Android NDK支持直接使用ARM汇编语言编写以.s结尾的文件作为程序的源文件,同时还允许使用C代码与ARM汇编代码进行混合编程。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top