- 1、本文档共64页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
6.3.2数据定义伪操作9.定义结构化内存表首地址MAP语法格式 MAP expr{,base_register}其中:结构化内存表的首地址为expr与base_register之和。MAP通常与FIELD伪操作配合使用来定义结构化的内存表。6.3.2数据定义伪操作10.定义结构化内存表数据域FIELD语法格式 {label} FIELD expr其中:label 可选的程序标号,当指定这一选项时,label的值为当前内存表的位置计数器的值;expr FIELD指定的域所占内存单元字节数。注意:MAP与FIELD仅定义数据结构,不分配存储单元; MAP伪操作基地址寄存器被指定后,将被其后所有 FIELD伪操作定义的数据结构使用,直到遇到下一个 包含基地址寄存器的MAP指令。6.3.2数据定义伪操作例6-25:(1)定义一个结构化内存表,首地址为0x300,该结构化内存表包含4个域,Fdata1长度为4字节,Fdata2长度为8字节,Fdata3长度为100字节。(2)分析下面LDR指令实现的功能。 MAP4,R12 FIELD4Fdata FIELD4 LDRR0,Fdata 6.3.3汇编代码控制伪操作汇编器在对程序代码进行编译时,会根据汇编控制伪操作的定义情况对程序进行编译,常用的有条件编译、重复汇编和宏定义6.3.3汇编代码控制伪操作1.IF条件编译伪操作:根据条件来决定是否对一段程序代码进行编译语法格式:IF logical_expression 程序代码段A {ELSE 程序代码段B}ENDIF例:IF UART0=ON BLUART0_initELSE BLUART1_initENDIF6.3.3汇编代码控制伪操作2.WHILE条件编译伪操作语法格式:WHILElogical_expression 程序代码段WEND功能:重复编译程序代码段直到logical_expression不成立。例:counterSETA100WHILEcounter0 ……counterSETAcounter-1WEND6.3.3汇编代码控制伪操作3.MACRO宏定义伪操作语法格式:MACRO{$label} macroname {$parameter{,$parameter}…} 程序代码段MEND其中:{$label}在宏指令被展开时,标号被替换成用户定义的符号 {$parameter…}为宏的参数列表,当宏被展开时被替换为相应的值。功能:将一段程序代码定义成一个宏。6.3.3汇编代码控制伪操作3.MACRO宏定义伪操作宏在调用时被替换展开,没有其他的附加操作。宏多用于所定义的程序代码量较小,而需要传送参数比较多的场合。相对子程序调用而言,能有效提高处理速度。如果变量在宏定义中被定义,则该变量只在该宏定义体中有效。6.3.3汇编代码控制伪操作3.MACRO宏定义伪操作例6-30(验证)在ARM和Thumb代码中,测试并跳转操作需要执行两条ARM指令。可以定义一个与下面类似的宏来实现相应的操作:MACRO $labelTestAndBranch$dest,$reg,$cc $labelCMP$reg,#0 B$cc$destMEND6.3.3汇编代码控制伪操作3.MACRO宏定义伪操作例6-30(续)宏调用:testTestAndBranchNonZero,R0,NE ….NonZero替换后将变成:test CMPR0,#0 BNENonZero …NonZero…6.3.4汇编信息报告控制伪操作信息报告伪操作用于程序汇编指示,主要是在程序调试阶段使用。这类伪操作分为错误信息报告伪操作、诊断信息报告伪操作、列表选项设置伪操作、插入文件标题伪操作6.3.4汇编信息报告控制伪操作1、错误信息报告ASSERT语法格式:ASSERTlogical_expression其中:logical_expression用于表示的条件的逻辑表达式。功能:用于保证源程序被汇编时满足相关的条件。如果汇编时逻辑表达式logical_expression不成立,ASSERT将报告错误信息。6.3.4汇编信息报告控制伪操作2、诊断信息报告INFOINFOnumeric_expression,string_expression其中:numeric_expression数字表达式。如果nume
您可能关注的文档
- 《客户关系管理》所有章节课件_邵兵家主编.ppt
- ARM课件第1章 绪论(1).ppt
- ARM课件第1章 绪论(2).ppt
- ARM课件第2章 ARM技术与ARM体系结构(1).ppt
- ARM课件第3章 ARM指令集寻址方式.ppt
- ARM课件第4章 ARM指令集系统(2).ppt
- ARM课件第5章 Thumb指令.ppt
- ARM课件第6章 ARM汇编伪指令与伪操作(1简化).ppt
- ARM课件第6章 ARM汇编伪指令与伪操作(2).ppt
- ARM课件第7章 汇编语言程序设计.ppt
- 北师大版小学数学三年级上册《寄书》教学设计.docx
- 统编版(部编版)语文二年级上册《雪孩子》教学设计.docx
- 统编版(部编版)语文二年级上册《八角楼上》教学设计.docx
- 北师大版小学数学三年级上册《长方形周长》教学设计.docx
- 北师大版小学数学三年级上册《丰收了》教学设计.docx
- 统编版(部编版)语文二年级上册《夜宿山寺》教学设计.docx
- 统编版(部编版)语文二年级上册《风娃娃》教学设计.docx
- 统编版(部编版)语文二年级上册《朱德的扁担》教学设计.docx
- 统编版(部编版)语文二年级上册《难忘的泼水节》教学设计.docx
- 统编版(部编版)语文二年级上册《纸船和风筝》教学设计.docx
最近下载
- 米LED路灯灯杆检验报告.pdf VIP
- 临床诊疗指南肾脏病学分册_全文.pdf
- 中小学校园防疫科普讲义中小学防控诺如病毒主题班会课件.pptx VIP
- 安永-中国房地产行业2023年业绩概览及新质态下房地产行业发展新趋势.pdf VIP
- Nikon 尼康微型单电相机 Z系列Z 6 参考手册(完整说明书)Z7Z6RM_(Sc)05.pdf
- 2024年义务教育新课标新教材培训学习PPT课件:小学语文新教材内容整体变化解读.pptx
- 上海市高一信息技术上学期期中试题.docx
- 支架和钢管柱贝雷梁现浇简支箱梁施工安全质量控制要点.pptx VIP
- 名著导读《朝花夕拾》课件(共47张ppt).pptx VIP
- 商用车行业专题:全球客车潜力可观,中国车企大有可为.docx VIP
文档评论(0)