ARM汇编Hello,World
生活随笔
收集整理的這篇文章主要介紹了
ARM汇编Hello,World
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1. 編譯運行環(huán)境見
http://www.cnblogs.com/linucos/archive/2013/03/01/2938517.htm?
2. 匯編例子
?
? .data ?? msg:? .asciz? "hello, world\n" ?
?
? .text ?
? .global main????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?
? main: ?
? push??? {r0,r1,r2,lr}
? ldr???? r1, =msg???????? @ address ?
? mov???? r0, #1????????? @ stdout ?
? mov???? r2, #13???????? @ length ?
? swi???? #0x900004?????? @ sys_write ?
? pop???? {r0,r1,r2,pc}
3. 編譯運行
arm-linux-gnueabi-gcc asmhello.s -o asmhello
qemu上運行./asmhello 即可
4. C例子
?
?#include <stdio.h>?
? int main(void)
? {
????? fprintf(stderr, "%s\n", __FILE__);??????????????????????????????????????????????????????????????????????????????????????????? ?
????? return 0;
? }
5. 編譯運行
arm-linux-gnueabi-gcc? hello.c -o hello
6. C例子反匯編
arm-linux-gnueabi-objdump -d hello > hello.dis
?
發(fā)現(xiàn):main函數(shù)返回用 pop {r7,pc}實際對應的是push {r7,lr}
轉載于:https://www.cnblogs.com/linucos/archive/2013/03/16/2963311.html
總結
以上是生活随笔為你收集整理的ARM汇编Hello,World的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Autodesk云计算系列视频 ---
- 下一篇: java 调用 easypr_EasyP