您所在位置: 网站首页 / 文档列表 / 嵌入式开发 / 文档详情
ARM汇编语言编程详解.pdf 立即下载
上传人:yy****24 上传时间:2024-09-04 格式:PDF 页数:74 大小:1MB 金币:18 举报 版权申诉
预览加载中,请您耐心等待几秒...

ARM汇编语言编程详解.pdf

ARM汇编语言编程详解.pdf

预览

免费试读已结束,剩余 64 页请下载文档后查看

18 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

ARM汇编语言编程详解硅谷芯微嵌入式学院技术贡献网址:www.threeway.cc4.1汇编语言使用汇编语言编写程序,它的特点是程序执行速度快,程序代码生成量少,但汇编语言是一种不易学习的编程语言,并且可读性较差,这种语言属于低级语言。每一种汇编语言对应每一款芯片,使用这种语言需要对硬件有深刻的了解。在通常情况下,可以使用汇编语言编写驱动程序、需要严格计算执行时间的程序以及需要加速执行的程序。•4.1.1ARM汇编程序的格式(1)先介绍一个例子来说明ARM汇编程序的格式。例1计算20+8,结果放入R0寄存器。AREABuf,DATA,READWRITE;声明数据段BufCountDCB20;定义一个字节单元CountAREAExample,CODE,READONLY;声明代码段ExampleENTRY;标识程序入口CODE32;声明32位ARM指令STARTLDRBR0,Count;R0=Count=20MOVR1,#8;R1=8ADDR0,R0,R1;R0=R0+R1BSTARTEND•4.1.1ARM汇编程序的格式(2)例1中定义了两个段:数据段Buf和代码段Example。数据段中定义了字节单元Count,其中Count用来保存一个被加数;代码段中包含了所有源程序代码,程序中首先读取Count字节单元的内容,然后与立即数8相加,计算结果保存到R0中。由例1可见,ARM汇编语言的源程序是分段的,由若干个段组成一个源程序。源程序的一般格式为:AREAname1,attr;声明特定的段标号语句1;语句...语句nAREAname2,attr标号语句n+1...语句n+mEND;结束符•4.1.1ARM汇编程序的格式(3)每一个段都有一个名字,并且段名是唯一的。每个段以符号AREA作为段的开始,以碰到下一个符号AREA作为该段的结束。段都有自己的属性,如是代码段(CODE)还是数据段(DATA),是只读(READONLY)还是可读写(READWRITE)?这些属性可以在attr栏中设定。注意:符号AREA和END都不能顶格写,只有标号可以而且必须顶格写。•4.1.1.1ARM汇编程序的书写格式(1)ARM汇编源程序是由若干段组成的,而一个段又是由若干个语句行组成。语句就是完成一个动作的说明。源程序中的语句可以分为以下两种类型:■指令性语句:汇编程序会把指令性语句翻译成机器代码,然后利用这些机器代码命令处理器执行某些操作。如由MOV、ADD等指令构造的语句。■指示性语句:汇编程序并不把它们翻译成机器代码,只是用来指示、引导汇编程序在汇编时进行一些操作。如由ENTRY、AREA等指令构造的语句,我们也称这些指令为伪指令。从例1可知,语句行的基本格式如下:[标号]<指令><操作数>[;注释]•4.1.1.1ARM汇编程序的书写格式(2)在一条语句中,[]号中的内容是可选的。在书写ARM汇编程序时,需要注意以下3点:■标号必须在一行的顶格书写,其后面不要加“:”,对于变量的设置、常量的定义,其标识符必须在一行的顶格书写;而所有指令均不能顶格书写。■汇编器对标识符大小写敏感,书写标号及指令时字母大小写要一致。在ARM汇编程序时,一个ARM指令、伪指令、寄存器名可以全部为大写字母,也可以全部为小写字母,但不要大小写混合使用。■注释使用“;”。注释内容由“;”开始到此行结束,注释可以在一行的顶格书写。例2某一段错误的汇编语言程序。•4.1.1.1ARM汇编程序的书写格式(3)例2某一段错误的汇编语言程序。STARTMOVR0,#1;标号START没有顶格写ABC:MOVR1,#2;标号后不能带:MOVR2,#3;指令不允许顶格书写LOOPMovR2,#3;指令中大小写混合Bloop;无法跳转到loop标号,只有LOOP标号•4.1.1.2语句行的符号(1)任何一个汇编源程序都是由符号组成的。符号分为两大类:指令助记符和用户定义符。指令助记符包括ARM指令、伪指令等,这些符号都是预先定义好的,且具备专用的目的和功能;用户定义符是由用户在编写汇编程序时自行定义的,只在本程序中有意义,不具备通用性。本节所讲的符号特指用户定义符,符号的命名需注意以下规则:■符号由大小写字母、数字以及下划线组成。■符号不能以数字开头(局部标号除外)。■符号区分大小写,且所有字符都是有意义的。■符号在其作用域范围内必须是唯一的。■符号不能与系统内部或系统预定义的符号同名。■符号不要以指令助记符、伪指令同名。符号可以代表地
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

ARM汇编语言编程详解

文档大小:1MB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
年会员
99.0
¥199.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用

手机号注册 用户名注册
我已阅读并接受《用户协议》《隐私政策》
已有账号?立即登录
我已阅读并接受《用户协议》《隐私政策》
已有账号?立即登录
登录
手机号登录 微信扫码登录
微信扫一扫登录 账号密码登录

首次登录需关注“豆柴文库”公众号

新用户注册
VIP会员(1亿+VIP文档免费下)
年会员
99.0
¥199.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用