找回密码
 注册
关于网站域名变更的通知
查看: 330|回复: 5
打印 上一主题 下一主题

Linux下的ARM汇编

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-7-10 11:19 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 pulbieup 于 2019-7-10 11:21 编辑
9 @1 `, G8 _9 j% t5 F- a% p) |+ d4 v/ L: f
第一部分 Linux下ARM汇编语法' V+ f( j% l% d
尽管在Linux下使用C或C++编写程序很方便,但汇编源程序用于系统最基本的初始化,如初始化堆栈指针、设置页表、操作ARM的协处理器等。初始化完成后就可以跳转到C代码执行。需要注意的是,GNU的汇编器遵循AT&T的汇编语法,可以从GNU的站点(gnu.org)上下载有关规范。6 T1 v2 V& o% p, u

5 {  f9 ?6 e# U2 D# h- w, S' Z) C

6 E% J7 y) S# l) }  B一. Linux汇编行结构
. P7 a4 F8 M4 A* u- {6 w任何汇编行都是如下结构:
4 o* J- t4 p/ J4 j  z. e! b0 U[:] [} @ comment
& @- v8 j! R- d+ ?[:] [} @ 注释" H; k3 f( H& x$ N0 s
Linux ARM 汇编中,任何以冒号结尾的标识符都被认为是一个标号,而不一定非要在一行的开始。
! v- _/ c' N, o" w+ C6 B, p- M【例1】定义一个"add"的函数,返回两个参数的和。
+ Y/ ]8 T" o. C.section .text, “x”! S/ Z1 u7 ~' ]8 R0 e' ^" i
.global add @ give the symbol add external linkage% s' r* k) M" Q0 K+ d# Q9 y) O
add:
& q+ e' @# n+ j! f4 t0 y1 NADD r0, r0, r1  @ add input arguments
4 y; c4 K# t& h7 iMOV pc, lr @ return from subroutine2 R, G- r/ ?; C/ ^3 n* @, L. g7 |
@ end of program) ~! R* \" U& H" u& c, y  ~

; G: ]; M7 h! E+ |

3 Q" b; ?2 D' \二. Linux 汇编程序中的标号3 }5 T7 H) _7 |* \

) j/ r& E0 G3 ~8 |. d4 a+ q

1 w  G5 ]& ~; d" l
游客,如果您要查看本帖隐藏内容请回复

* A3 @, W1 p$ h" Z+ Z' \  U- u! [7 }# Y  i. C8 o

) ?' t0 W& Q- r' h2 `

2 K, \% O0 @) x1 s7 @6 Z; F% V4 \8 v! L- W6 ?

该用户从未签到

6#
发表于 2019-7-16 19:00 | 只看该作者
Linux下的ARM汇编

该用户从未签到

4#
发表于 2019-7-11 17:59 | 只看该作者
刚好需要Linux方面的,谢谢分享

该用户从未签到

2#
发表于 2019-7-10 17:23 | 只看该作者
Linux下的ARM汇编
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-25 01:55 , Processed in 0.156250 second(s), 24 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表