基于Android的ARM匯編語言系列之三:ARM匯編語言程序結(jié)構(gòu)
之一:ARM匯編語言開篇
之二:C/C++程序生成ARM匯編程序的過程分析
之三:ARM匯編語言程序結(jié)構(gòu)
之四:ARM處理器的尋址方式
之五:ARM指令集與Thumb指令集
之六:NEON指令集與VFP指令集
Android平臺(tái)的ARM匯編是GNU ARM匯編格式,使用的匯編器是GAS(GNU Assembler),GAS有自己的一套語法結(jié)構(gòu)。詳細(xì)的內(nèi)容可以查閱GAS語法結(jié)構(gòu)官方手冊(cè)。
我們先來看一個(gè)完整的ARM匯編程序:
C代碼:
#includeint main(int argc, char* argv[]){printf("Hello ARM!n");return 0;}
對(duì)應(yīng)的匯編代碼:
.arch armv5te.fpu softvfp.eabi_attribute 20, 1.eabi_attribute 21, 1.eabi_attribute 23, 3.eabi_attribute 24, 1.eabi_attribute 25, 1.eabi_attribute 26, 2.eabi_attribute 30, 6.eabi_attribute 18, 4.file "hello.c".section .rodata.align 2.LC0:.ascii "Hello ARM!看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();