[信息与通信]第四章 ARM程序设计基础.pptVIP

[信息与通信]第四章 ARM程序设计基础.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[信息与通信]第四章 ARM程序设计基础

第四章 ARM程序设计基础 主要内容 ARM文件格式 ARM汇编规范 ARM汇编语言的程序结构 ARM汇编与C的混合编程 5.1 ARM文件格式 5.1 ARM文件格式 ARM源程序文件(即源文件)为文件格式,可以使用任一文本编辑器编写程序代码。 ARM源程序文件的后缀名如下表示: 在一个程序中,至少要 有一个汇编源文件和C程序 文件,可以有多个源文件和 C程序文件,或C文件和源文 件两者的组合。 5.2 ARM汇编规范 5.2.1 ARM汇编语句格式 ARM(Thumb)汇编语言的语句格式为: {标号} {指令或伪指令} {;注释} 在汇编语言程序设计中,每一条指令的助记符可以全部用大写、或全部用小写,但不用许在一条指令中大、小写混用。 同时,如果一条语句太长,可将该长语句分为若干行来书写,在行的末尾用“\”表示下一行与本行为同一条语句。 5.2.1 ARM汇编语句格式 5.2.1 ARM汇编语句格式 5.2 ARM汇编中的常用符号 在汇编语言程序设计中,经常使用各种符号代替地址、变量和常量等,以增加程序的可读性。 尽管符号的命名由编程者决定,但并不是任意的,必须遵循以下的约定: — 符号区分大小写,同名的大、小写符号会被编译器认为是两个不同的符号。 — 符号在其作用范围内必须唯一。 — 自定义的符号名不能与系统的保留字相同。 — 符号名不应与指令或伪指令同名。 5.2 ARM汇编中的常用符号 1、 程序中的变量 程序中的变量是指其值在程序的运行过程中可以改变的量。ARM(Thumb)汇编程序所支持的变量有数字变量、逻辑变量和字符串变量。 数字变量用于在程序的运行中保存数字值,但注意数字值的大小不应超出数字变量所能表示的范围。 逻辑变量用于在程序的运行中保存逻辑值,逻辑值只有两种取值情况:真或假。 字符串变量用于在程序的运行中保存一个字符串,但注意字符串的长度不应超出字符串变量所能表示的范围。 在ARM(Thumb)汇编语言程序设计中,可使用GBLA、GBLL、GBLS伪指令声明全局变量,使用LCLA、LCLL、LCLS伪指令声明局部变量,并可使用SETA、SETL和SETS对其进行初始化。 5.2 ARM汇编中的常用符号 2、 程序中的常量 程序中的常量是指其值在程序的运行过程中不能被改变的量。ARM(Thumb)汇编程序所支持的常量有数字常量、逻辑常量和字符串常量。 数字常量一般为32位的整数,当作为无符号数时,其取值范围为0~232-1,当作为有符号数时,其取值范围为-231~231-1。 逻辑常量只有两种取值情况:真或假。 字符串常量为一个固定的字符串,一般用于程序运行时的信息提示。 5.2 ARM汇编中的常用符号 3、 程序中的变量代换 程序中的变量可通过代换操作取得一个常量。代换操作符为“$”。 如果在数字变量前面有一个代换操作符“$”,编译器会将该数字变量的值转换为十六进制的字符串,并将该十六进制的字符串代换“$”后的数字变量。 如果在逻辑变量前面有一个代换操作符“$”,编译器会将该逻辑变量代换为它的取值(真或假)。 如果在字符串变量前面有一个代换操作符“$”,编译器会将该字符串变量的值代换“$”后的字符串变量。 LCLS S1 ;定义局部字符串变量S1和S2 LCLS S2 S1 SETS “Test!” S2 SETS “This is a $S1” ;字符串变量S2的值为“This is a Test!” 5.2.3汇编语言程序中的表达式和运算符 表达式一般由变量、常量、运算符和括号构成。 常用的表达式有数字表达式、逻辑表达式和字符串表达式,其运算次序遵循如下的优先级: — 优先级相同的双目运算符的运算顺序为从左到右。 — 相邻的单目运算符的运算顺序为从右到左,且单目运算符的优先级高于其他运算符。 — 括号运算符的优先级最高。 5.2.3汇编语言程序中的表达式和运算符 1、 数字表达式及运算符 数字表达式一般由数字常量、数字变量、数字运算符和括号构成。 与数字表达式相关的运算符如下: — “+”、“-”、“×”、“/” 及“MOD”算术运算符 X+Y 表示X与Y的和。 X-Y 表示X与Y的差。 X×Y 表示X与Y的乘积。 X/Y 表示X除以Y的商。 X:MOD:Y 表示X除以Y的余数。 5.2.3汇编语言程序中的表达式和运算符 1、 数字表达式及运算符 — “ROL”、“ROR”、“SHL”及“SHR”移位运算符 以X和Y表示两个数字表达式,以上的移位运算符代表的运算如下: X:ROL:Y 表示将X循环左移Y位。 X:ROR:Y 表示将X循环右移Y位。 X:SH

文档评论(0)

qiwqpu54 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档