arm汇编学习(五)
2024-09-01 06:38:38
新增个手写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/
最新文章
- Block Markov Coding &; Decoding
- Fetch:下一代 Ajax 技术
- Java基础知识笔记(七:接口、变量作用域和参数传递)
- 洛谷P3388 【模板】割点
- 转载:设置html页面不让浏览器缓存的方法
- windows 7 和 Ubuntu的双系统安全删除Ubuntu
- 安装python爬虫scrapy踩过的那些坑和编程外的思考
- 20145220 实验五 Java网络编程
- OpenCms创建站点过程图解——献给OpenCms的刚開始学习的人们
- Shell 获取当前执行脚本的路径
- (十)foreac遍历、break和countinue以及标签和switch循环
- GridView绑定DataKeyNames以及如何取这些值
- eclipse中git解决冲突
- js 回调
- 2015 北京网络赛 C Protecting Homeless Cats hihoCoder 1229 树状数组
- linux如何让一个程序崩溃后自动重启
- [k8s] 最简单的集群小案例-记录本(tomcat+mysql)
- python编码类型互转总结
- 【转】EF Code First 学习笔记:约定配置
- [装]JMX监控Hadoop
热门文章
- Scrapy——settings配置文件
- inline-block BUG问题
- maven——添加插件和添加依赖有什么区别?
- React 的 server render 初步学习
- android 仿网易新闻首页框架
- Spark on YARN模式的安装(spark-1.6.1-bin-hadoop2.6.tgz + hadoop-2.6.0.tar.gz)(master、slave1和slave2)(博主推荐)
- uwsgi错误invalid request block size
- 结对练习——Caculator
- python web 框架的基本逻辑练习题
- Golang教程:switch 语句