刘彦文《基于ARM的嵌入式系统原理及应用》第4章.ppt

刘彦文《基于ARM的嵌入式系统原理及应用》第4章.ppt

  1. 1、本文档共94页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
刘彦文《基于ARM的嵌入式系统原理及应用》第4章

⒊ 宏定义MACRO、MEND和退出宏MEXIT指示符 MACRO指示符标记一个宏定义的开始; MEND指示符标记这个宏定义的结束; 而MEXIT指示符通知汇编器,从宏中退出。 MACRO和MEND指示符 ⑴ 格式 MACRO macro-prototype ;code MEND 在MACRO指示符后,下一行必须跟着宏原型(macro-prototype)语句。 宏原型语句格式是: {$label} macroname {$parameter1{,$parameter2}…} ⑵ 使用 使用时,在宏的内部,像$label、$parameter这些参数,能够像其他的变量那样,以同样的方法被使用。每次宏调用(macro invocation)时,都要给它们一个新的值。参数必须使用$,用来与其他符号区别。 $label是可选参数。如果宏内定义一个内部标号,$label是有用的。它被看作宏的一个参数。 如果使用符号 | 作为变量,用于表示一个参数的缺省值。如果变量被省略,用空串替换。 如果一个参数后面紧跟着文本或另一个参数,在扩展时它们之间无空格时,用“.”放在它们中间。如果前面是文本后面是参数,不能使用“.”。 宏定义了局部变量的使用范围。 宏能够被嵌套。 ⑶ 使用举例(见P122) MEXIT指示符 MEXIT用于在宏定义结束前退出。 ⑴ 格式 MEXIT ⑵ 使用 在汇编期间,当需要从一个宏中退出时,使用MEXIT指示符。 ⑶ 使用举例(见P123) ⒋ 包含文件的INCLUDE和INCBIN指示符 (见P124) 4.1.8 报告指示符 报告指示符的共同之处是使用它们能够产生一些报告信息。报告指示符包括: ASSERT、INFO、OPT、SUBT和TTL指示符。 表4.7 报告指示符 指示符 描 述 使 用 举 例 解 释 ASSERT 断言 ASSERT label1=label2 如果断言为假,汇编器产生错误信息 INFO/! 支持错误诊断 见INFO指示符 OPT 列表选择 OPT 4 在列表文件中,开始新的一页 SUBT 放置子标题 SUBT First Subtitle 在列表文件中,放置子标题 TTL 放置标题 TTL First Title 在列表文件中,放置标题 4.1.9 表达式和操作符 表达式是符号、值、一元或二元操作符以及括号的组合。在它们计算时,有严格的优先级。 ⑴ 在括号中的表达式先计算; ⑵ 按操作符的优先级进行计算; ⑶ 相邻的一元操作符从右到左计算; ⑷ 同优先级的二元操作符从左到右计算。 ⒈ 串表达式 串表达式由串文字(串常量)、串变量和对串处理的操作符及括号的组合组成。 串文字由包含在双引号内的字符串组成。串文字的长度由输入行的长度限制。 对于不能被放在串文字中的字符,能够用一元操作符 :CHR: 放在串表达式中,其后允许放置整数0~255(ASCII字符编码)。 串表达式的长度值不能超过512个字符。长度可以为0。 如果串文字中包含一个 $ 或一个双引号时,可以用 $$ 表示 $,用两个双引号表示一个双引号。 ⒉ 数值表达式 数值表达式由表示数值常量的符号、数值变量、数值常量、二元操作符和括号的组合组成。 如果整个表达式计算产生的值不包含寄存器和程序计数器,数值表达式可以包含相对寄存器或相对程序的表达式。 数值表达式计算产生32位整数。程序员可以把它们看作0~2-1的无符号数,或看作-2~2-1的带符号数。然而汇编器对-n和2-n不作区别。关系操作符,像 = 等,使用无符号数的解释,因此0-1结果为{FALSE}。 ⒊ 相对寄存器和相对程序的表达式 一个相对寄存器的表达式计算产生指定寄存器加或减一个数值常数。 一个相对程序的表达式计算产生程序计数器(pc)加或减一个数值常数。 ⒋ 逻辑表达式 逻辑表达式由逻辑常量({TRUE}或{FALSE})、逻辑变量、布尔操作符、关系和括号的组合组成。 关系由变量、文字、常量或使用适当操作符的表达式结合在一起组成。 ⒌ 一元操作符(unary operators) 一元操作符(也称单目运算符)有最高优先级并且首先被计算。一元操作符位于它的操作数前面,多个相邻的操作符从右到左计算。 一元操作符见P126表4-8。 ⒍ 二元操作符(binary operators) 二元操作符(也称双目运算符)被写在一对它们要进行操作的子表达式之间。相同优先级的操作符从左到右计算。 表4.9中将二元操作符按优先级不同分为6组,1组优先级最高,组内*、/、MOD有相同的优先级;6组优先级最低。 4.2 ARM汇编语言编

文档评论(0)

wyjy + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档