- 1、本文档共200页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[教育学]第三章 ARM指令系统
* ③BX指令——目标为Thumb代码或ARM代码 格式: BX Rm 编码结构: 其中:Rm装有目的地址的ARM寄存器。Rm的位[0]不用于地址部分。 若Rm的位[0]清零,则: — 位[1]也必须清零; — 指令清零CPSR中的标志T,目的地址的代码被解释为ARM代码。 若Rm的位[0]置1,则: —目标地址的代码仍为Thumb代码。 15 0 0 1 0 0 0 1 1 1 8 0 0 0 3 Rm 5 2 6 7 0 H ④BLX指令 格式1:BLX Label ——目标为ARM代码 15 11 0 1 1 1 1 10 10位偏移量 12 H 0 1 格式2:BLX Rm——目标为ARM代码或Thumb代码 BLX指令执行时: 拷贝下一条指令的地址到LR寄存器。 引起处理器转移到label或Rm存储的地址。 如果Rm的位[0]清0,或使用格式1,则指令集切换到ARM状态。 (五)堆栈指令 功能:低寄存器和可选的LR进栈。低寄存器和可选的PC出栈。 格式: POP { Reglist { , PC}} PUSH { Reglist { , LR}} 其中:Reglist 低寄存器范围的、用逗号隔开的列表。 注释: 1.Thumb堆栈是满递减堆栈,向下增长,且SP指向堆栈的最后入口。 2.寄存器以数字顺序存储在堆栈中。最低数字的寄存器其地址最低。 3.POP{reglist,PC}这条指令引起处理器转移到从堆栈弹出给PC的地址。这通常是从子程序返回,其中LR在子程序开头压进堆栈。 4.指令采用基址回写,因此基址寄存器不应出现在 寄存器列表中。 条件码标志 这些指令不影响条件码标志 例: PUSH {R0,R4-R7} ;R0、R4~R7进栈 PUSH {R0,LR} POP {R2,R5} POP {R0-R7,PC} ;出栈并从子程序返回 (六)寄存器读取和存储指令 单寄存器读取和存储 Thumb单寄存器传送类指令是ARM单寄存器传送类指令的一个子集,和ARM有相同的指令格式。 多寄存器读取和存储指令 Thumb多寄存器传送类指令和ARM有相同的指令格式。 (七)移位和循环移位操作 ASR、LSL、LSR和ROR运算 功能:移位和循环移位操作。这些指令可使用寄存器中的值或立即数来表示偏移量。 格式1:操作码 Rd , Rn , #immed 操作码: ASR、LSL、LSR Rd: 立即数移位的目的寄存器。Rd必须在R0~R7范围内。 Rn: 立即数移位的源寄存器。Rn必须在R0~R7范围内。 #immed:立即数移位量。它是一个取值为整数的表达式。整数的范围如下: — 操作码若是LSL,则为0~31; — 其它则为1~32。 格式2:操作码 Rd , Rs 编码结构: 15 0 0 1 0 0 0 0 Rd 3 Rs 5 2 6 9 Op 10 其中: 操作码:ASR、LSL、LSR 、ROR。 Rd: 目的寄存器,它也是第1操作数寄存器。Rd必须在 R0~R7范围内。 Rs: 在寄存器控制移位中包含移位量的寄存器。Rs必须 在R0~R7范围内,只有Rs的最低有效字节可用作偏 移量。 条件标志位: 对于除ROR以外的所有指令,若移位量为32,则Rd清0,最后移出的位保留在标志C中,并根据结果影响N、Z标志位。若移位量大于32,则Rd和标志C均被清0,并根据结果影响N、Z标志位。 对于ROR指令,若移位量为32,则Rd不变且不影响标志位;若移位量大于或小于32时,则最后移出的位将存入到C中,并根据结果影响N、Z标志位。 任何情况都不影响标志V。 例: ASR R3,R5 LSR R0,R2,#6 LSR R5,R5,zyb LSL R0,R4,#0 ROR R2,R3 ;将R3中的值算术右移R5次后再放入R3。 ;将R2中的值逻辑右移6次后放入R0。 ;zyb必须取值为1~32的整数。 ;将R4的内容放到R0中,除不影响标志位C和V外,同MOV R0,R4 ;R2中的值循环右移R3次后放入R2中。 (八)数据处理指令 除移位操作之外的数
您可能关注的文档
- [所有分类]《射频通信电路》第四章.ppt
- [所有分类]个金及出纳重空类.doc
- [所有分类]二医院地下室施工方案.doc
- [所有分类]产前筛查及产前诊断有关知识.ppt
- [所有分类]人体穴位图新.doc
- [所有分类]光临的临字部首是甚麼.ppt
- [所有分类]共点力的平衡.ppt
- [所有分类]喂哺用品知识与导购要点.ppt
- [所有分类]动能定理-3.ppt
- [所有分类]团队是什麼.ppt
- 2024年高考语文复习 小说文本阅读(十三)练就审美技能,赏析描写艺术 学案.pdf
- 2024年核安全工程师法规考题.pdf
- 2024年高考语文一轮复习讲练测(新教材新高考)第04讲小说情节类题目(讲义)(原卷版+解析).pdf
- 2024年高考语文一轮复习:文言文45个高频词.pdf
- 2024年河南省会计从业资格考试全真模拟试题法规.pdf
- 2024年高考政治必修2《经济与社会》知识细节归纳100条.pdf
- 2024年高考语文一轮复习:27种经典开头方式及精彩范例.pdf
- 2024年高考政治选必一《 当代国际政治与经济》复习导引.pdf
- 2024年湖南省郴州市中考原创命题化学模拟试卷.pdf
- 2024年公司新员工个人工作总结(35篇).pdf
文档评论(0)