新增个手写GNU语法arm的方法,以后可以狂逆狂写

hello.S文件

.data

msg:
.ascii "Hello, ARM!\n"
len = . - msg .text .globl _start
_start:
/* syscall write(int fd, const void *buf, size_t count) */
mov %r0, $ /* fd -> stdout */
ldr %r1, =msg /* buf -> msg */
ldr %r2, =len /* count -> len(msg) */
mov %r7, $ /* write is syscall # */
swi $ /* invoke syscall */ /* syscall exit(int status) */
mov %r0, $ /* status -> */
mov %r7, $ /* exit is syscall # */
swi $ /* invoke syscall */

记得最后加个空格或者回车,不然会报hello.S:21: Warning: partial line at end of file ignored

arm-linux-androideabi-as -o hello.o hello.S
arm-linux-androideabi-ld -s -o hello hello.o

也是个学习ARM汇编的方法
参考:
http://peterdn.com/post/e28098Hello-World!e28099-in-ARM-assembly.aspx
http://www.amccormack.net/getting-started-arm-assembly-for-android/

最新文章

  1. Block Markov Coding & Decoding
  2. Fetch:下一代 Ajax 技术
  3. Java基础知识笔记(七:接口、变量作用域和参数传递)
  4. 洛谷P3388 【模板】割点
  5. 转载:设置html页面不让浏览器缓存的方法
  6. windows 7 和 Ubuntu的双系统安全删除Ubuntu
  7. 安装python爬虫scrapy踩过的那些坑和编程外的思考
  8. 20145220 实验五 Java网络编程
  9. OpenCms创建站点过程图解——献给OpenCms的刚開始学习的人们
  10. Shell 获取当前执行脚本的路径
  11. (十)foreac遍历、break和countinue以及标签和switch循环
  12. GridView绑定DataKeyNames以及如何取这些值
  13. eclipse中git解决冲突
  14. js 回调
  15. 2015 北京网络赛 C Protecting Homeless Cats hihoCoder 1229 树状数组
  16. linux如何让一个程序崩溃后自动重启
  17. [k8s] 最简单的集群小案例-记录本(tomcat+mysql)
  18. python编码类型互转总结
  19. 【转】EF Code First 学习笔记:约定配置
  20. [装]JMX监控Hadoop

热门文章

  1. Scrapy——settings配置文件
  2. inline-block BUG问题
  3. maven——添加插件和添加依赖有什么区别?
  4. React 的 server render 初步学习
  5. android 仿网易新闻首页框架
  6. Spark on YARN模式的安装(spark-1.6.1-bin-hadoop2.6.tgz + hadoop-2.6.0.tar.gz)(master、slave1和slave2)(博主推荐)
  7. uwsgi错误invalid request block size
  8. 结对练习——Caculator
  9. python web 框架的基本逻辑练习题
  10. Golang教程:switch 语句