- 1、本文档共275页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
例 3.61 使用ADR伪指令加载地址,实现查表功能。 ... ADR R0,ADDR_TAB ;加载转换表地址 LDRB R1,[R0,R2] ;使用R2作为参数,进行查表 ... ADDR_TAB DCB 0xA0,0xF8, 0x80,0x48, 0xE0,0x4F, 0xA3,0xD2 分析:通过ADR伪指令将转换表的首地址值(ADDR_TAB)加载到R0中,每个表项的偏移地址值由R2传入,从而可以实现查表功能。 * 2. ADRL 中等范围的地址读取伪指令 格 式:ADRL{cond} Rm,addr 功 能:ADRL指令将基于PC相对偏移的地址值或基于寄存器相对偏移的地址值读取到寄存器中。ADRL比ADR伪指令可以读取更大范围的地址。在汇编编译源程序时,ADRL伪指令被编译器替换成两条合适的指令。若不能用实现,则产生错误,编译失败。 格式中: Rm:表示要加载的目标寄存器。 Addr:地址表达式。当地址值是非字对齐时,取值范围-64K~64K字节之间;当地址值是字对齐时,取值范围-256K~256K字节之间。 使用ADRL加载地址,可以实现程序跳转,例如: ... ADR LR,RETURN1 ;设置返回地址 ADRL R1,Thumb_sub+1 ;取得Thumb子程序入口地址,且R1的0位置1 BX R1 ;调用Thumb子程序,并切换处理器状态 RETURN1 ... CODE16 Thumb_sub MOV R1,#10 ... * 3. LDR 大范围的地址读取伪指令 格 式:LDR{cond} Rm,=addr 功 能:LDR指令用于加载32位立即数或一个地址值到指定寄存器。在汇编 编译源程序时,LDR伪指令被编译器替换成一条合适的指令。若加载的常数未超出MOV或MVN的范围,则使用MOV或MVN指令代替该LDR伪指令。否则,汇编器将常量放入文字池,并使用一条程序相对偏移的LDR指令从文字池读出常量。 格式中: Rm: 表示要加载的目标寄存器。 Addr:32位立即数或基于PC的地址表达式或外部表达式。 例 3.62 LDR伪指令举例如下: LDR R0,=0 ;加载32位立即数0 LDR R0,=DATA_BUF+60 ;加载DATA_BUF地址+60 ... LTORG ;声明文字池 ... * 伪指令LDR常用于加载芯片外围功能部件的寄存器地址(32位立即数), 以实现各种控制操作,如程序: ... LDR R0,=IOPIN ;加载GPIO的寄存器IOPIN的地址 LDR R1,[R0] ;读取IOPIN寄存器的值 ... LDR R0,=IOSET LDR R1,=0 STR R1,[R0] ;IOSET=0 ... 注意: (1)从PC到文字池的偏移量必须小于4KB。 (2)与ARM指令的LDR相比,伪指令的LDR的参数有“=”号。 * 4. NOP 空操作伪指令 格式:NOP 功能:NOP伪指令在汇编时将会被代替成ARM中的空操作,比如可能为“MOV R0
您可能关注的文档
- 单片机C语言程序设计实训100例.pdf
- 单片机C语言学习(非常通俗易懂!).pdf
- 单片机——程序的基本结构.pptx
- 单片机的汇编语言与程序设计.ppt
- 单片机第3章-一些例子-汇编语言程序设计.ppt
- 单片机仿真软件PROTEUS使用入门.ppt
- 单片机复习试题汇总(有答案).doc
- 单片机汇编程序(算术逻辑运算).ppt
- 单片机汇编语言的循环程序设计.ppt
- 单片机汇编语言经典一百例.doc
- Arduino 系列:Arduino Due 系列 (适用于高性能监控应用)_(4).选择ArduinoDue的理由.docx
- Arduino 系列:Arduino Due 系列 (适用于高性能监控应用)_(18).未来发展趋势与创新应用.docx
- Arduino 系列:Arduino Due 系列 (适用于高性能监控应用)_(11).安全与防护措施.docx
- Arduino 系列:Arduino Nano 系列 (适用于小型监控设备)_(3).软件介绍:ArduinoIDE使用.docx
- Arduino 系列:Arduino Nano 系列 (适用于小型监控设备)_(4).电源选项与管理.docx
- Arduino 系列:Arduino Nano 系列 (适用于小型监控设备)_(7).通信接口介绍:UART、I2C、SPI.docx
- Arduino 系列:Arduino Uno 系列 (适用于基本监控功能)_(13).项目实践:门禁系统.docx
- Arduino 系列:Arduino Due 系列 (适用于高性能监控应用)_(16).性能测试与优化.docx
- Arduino 系列:Arduino Uno 系列 (适用于基本监控功能)_(1).ArduinoUno系列介绍.docx
- Arduino 系列:Arduino Uno 系列 (适用于基本监控功能)_(9).数据采集与处理.docx
最近下载
- 2025年广东省中考语文试卷(含答案) .pdf VIP
- 2023年义务教育物理(2022版)课程标准考试测试题及部分答案.pdf VIP
- 废锂电池及锂电池废料资源再生利用项目安全评价中危险有害因素辨识及安全对策措施.pdf VIP
- 学生礼仪培训课程.pptx
- 田野考古学全套课件.ppt
- 电力远程视频监控系统技术规范定稿.docx VIP
- 在线网课学习课堂《Selected Classical Chinese Paintings and Chinese Culture(合肥工大 )》单元测试考核答案.pdf VIP
- 王阳明先生年谱(白话版).pdf VIP
- 边境法治教育主题班会.pptx VIP
- 初中信息技术滇人版七年级下册第一单元第2课《管理计算机》教学设计.docx VIP
文档评论(0)