- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章 ARM程序设计
LTORG说明 LTORG用于声明一个数据缓冲池(也称为文字池)的开始。在使用伪指令LDR时,常常需要在适当的地方加入LTORG声明数据缓冲池,LDR加载的数据暂时放于数据缓冲池。 语法: LTORG 使用说明: 当程序中使用LDR之类的指令时,数据缓冲池的使用可能越界。为防止越界(4K范围内)发生,可使用LTONG伪操作定义数据缓冲池。长代码段可以使用多个数据缓冲池。ARM汇编编译器一般把数据缓冲池放在代码段的最后面,即下一代码段开始之前,或者END伪操作之前,可以使用LTORG改变此约定。LTORG伪操作通常放在无条件跳转指令之后,或者子程序返回指令之后,这样处理器就不会错误的将数据缓冲池中的数据当作指令来执行。 LTORG使用举例 AREA?? Example ,CODE,READONLY;? //声明一个代码段,名称为Example,属性为只读 Start??? BL? funcl ???????? …. Funcl;????????????????????????????? //子程序 LDR? R1,=0x800;????????????????? //将0X800加载到R1 MOV? PC,LR;?????????????????? //子程序结束 LTORG?????? ;?????????????????? //定义数据缓冲池 Data?? SPACE 40;???????????????? //从当前开始分配40字节的内存单元并初始化为0 END;??????????????????????????? //程序结束 LDR和ADR伪指令 ADR伪指令(小范围的地址读取伪指令) 在汇编编译器处理源程序时,ADR伪指令被编译器替换成一条合适的指令。通常,编译器用一条ADD指令或SUB指令来实现该ADR伪指令的功能。如果不能用一条指令来实现ADR伪指令的功能,编译器将包括错误。 ADRL伪指令(中等范围的地址读取伪指令) 在汇编编译器处理源程序时,ADRL伪指令被编译器替换成两条合适的指令,即使一条指令可以完成该伪指令的功能,编译器也将用两条指令来替换该ADRL伪指令。如果不能用两条指令来实现ADRL伪指令的功能,编译器将报告错误 LDR伪指令(大范围的地址读取伪指令) LDR伪指令将一个32位的常数或者一个地址值读取到寄存器中 ADR伪指令 1.?ADR(小范围的地址读取伪指令) 该指令将基于PC的地址值或基于寄存器的地址值读取到寄存 器中。语法格式 ADR{COND} REGISTER,EXPR 其中,COND为可选的指令执行的条件。 REGISTER为目标寄存器。 EXPR为基于PC或者基于寄存器的地址表达式,其取值范围如下: 当地址值不是字对齐时,其取值范围为-255~255。 当地址值是字对齐时,其取值范围为-1024~1024。 ?当地址值是16字节对齐时,其取值范围将更大。 ADRL(中等范围的地址读取伪指令 ADRL(中等范围的地址读取伪指令) 该指令将基于PC或基于寄存器的地址值读取到寄存器中。ADRL伪指令比ADR伪指令可以读取更大范围的地址。ADRL伪指令在汇编时被编译器替换成两条指令。 语法格式 ADRL? {COND} REGISTER,EXPR 其中,COND为可选的指令执行的条件。 REGISTER为目标寄存器。 EXPR为基于PC或者基于寄存器的地址表达式,其取值范围如下: 当地址值不是字对齐时,其取值范围为-64KB~64KB。 当地址值是字对齐时,其取值范围为-256KB~256KB。 当地址值是16字节对齐时,其取值范围将更大。 LDR伪指令 伪指令LDR{cond} register, ={expr|label-expr}expr为32为常量。编译器根据expr的取值情况来处理这条伪指令: 1、当expr表示的地址没有超过mov或mvn指令中地址的取值范围时,编译器用合适的mov指令或mvn指令代替该LDR伪指令。 2、当expr表示的地址超过了mov或mvn指令中地址的取值范围时,编译器将该常数放在数据缓冲池中,同时用一条基于PC的LDR指令读取该常数。 LDR的两种用法 ARM指令集中,LDR通常都是作加载指令的,但是它也可以作伪指令。 (1)LDR?? r0, =name, 带等号的是伪指令,而不是ARM指令,LDR 伪指令用于加载立即数或一个地址值到指定寄存器. *如果name是立即数的话:LDR R0,=0X123;//将0X123存入R0*如果name是个标识符:LDR R0,=NAME;//将NAME的地址存入R0, 相当于: ?????????????? LDR R0,LA
您可能关注的文档
- 第4课《马说》.ppt
- 第4部分 第二单元 第二节.ppt
- 第5章 32位微处理器Pentium.ppt
- 第5 6讲 数码管.ppt
- 《彩泥世界快乐多》课件概要.ppt
- 第5章 Ei的检索方法(2学时).ppt
- 第5章 微波系统的非线性及补偿技术.ppt
- 第5章 微分方程模型(投影版).ppt
- 第5章 数组及其使用.ppt
- 《彭德怀和他的大黑骡子》课件3概要.ppt
- 2025年拍卖师慈善拍卖项目整体策划与方案设计专题试卷及解析.pdf
- 2025年拍卖师从危机中寻找机遇的品牌重塑策略专题试卷及解析.pdf
- 2025年拍卖师房地产在建工程拍卖的成交确认专题试卷及解析.pdf
- 2025年拍卖师后疫情时代消费心理与投资偏好对拍卖市场的影响分析专题试卷及解析.pdf
- 2025年拍卖师激励性语言的文化适应性专题试卷及解析.pdf
- 2025年拍卖师拍卖纠纷处理中的心理学应用专题试卷及解析.pdf
- 2025企业人力资源劳动合同模板.docx
- 2025年拍卖师拍卖APP的用户体验与沟通设计专题试卷及解析.pdf
- 2025年拍卖师应对竞买人恶意串通与围标的控场策略专题试卷及解析.pdf
- 基于神经网络的混合气体检测分析系统.pdf
最近下载
- 人教版(2024)新教材小学三年级美术上册第三单元《爱集体爱劳动--传承中华美德》每节课精品教案汇编(含三个精品教案).doc
- 类风湿性关节炎临床路径.pdf
- 管综模拟卷(四)答案.pdf VIP
- 机器人切割设备操作工岗位职责说明.doc VIP
- Q-CR 562.4-2018-铁路隧道防排水材料 第4部分:排水盲管与检查井.pdf VIP
- 《培养小学生合作学习能力的研究》中期汇报材料.docx VIP
- 农业保险+期货介绍.pptx VIP
- 11《我们都是热心人》第2课时(课件)2025道德与法治三年级上册统编版.pptx
- 管综模拟卷(三)答案.pdf VIP
- 疾病控制中级(归纳总结)..doc VIP
原创力文档


文档评论(0)