- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ARM 汇编分支结构的小技巧
ARM 汇编分支结构的小技巧
最近学了点关于ARM的汇编中分支结构的小技巧,拿出来跟大家分享一下。如果您几百年前就看过了或早就精通了,不要笑话俺,俺是初学者:)如果大家也像偶一样是新手不妨看一下,应该没有坏处.
计算r1和r2的绝对值对应的C伪指令为:if ( r1r2 )r0 = r1+r2;elser0 = r1-r2;
对应的ARM汇编为:cmp r1, r2subgt r0, r1, r2sublt r0, r2, r1
以上条件判断只适合简单的分支结构,复杂的分之结构如何实现呢???比如如下控制逻辑:if ( r1r2 ){r0 = r1 - r2;if ( r0r3 )r0 = 1;elser0 = 0;}else{r0 = r2 - r1;
if ( r0r3 )r0 = 1;elser0 = 0;}
如果还按照上面的思路则很难写出汇编语句,因为ARM只有一个CPSR寄存器,只能存储一次比较结果。对此问题,有如下四种解决思路:( 其中条件 LE 为无符号小于等于GT 为带符号大于EQ 为等于)
1.使用跳转语句BEGIF CMP R1, R2BLE ELSE /********* 跳到第二分支 ************/SUB R0, R1, R2CMPGT R0, R3MOVGT R0, #1MOVLE R0, #0B ENDIFELSESUB R1, R2, R1CMPGT R0, R3MOVGT R0, #1MOVLE R0, #0ENDIF说明:跳转语句会影响流水线的执行,所以对速度有严格要求的场合要慎用
2.通过MSR和MRS两条指令使用通用寄存器或堆栈直接对CPSR进行操作CMP R1, R2MRSLE R5, CPSR /**** 保存CPSR,进入第一个if ***/SUBGT R0, R1, R2CMPGT R0, R3MOVGT R0, #1MOVLE R0, #0ELSEMSR CPSR, R5SUBLE R0, R2, R1CMP R0, R3MOVGT R0, #1MOVLE R0, #0说明:在很多if嵌套的情况下,可以使用堆栈保存CPSR的值,但应注意对内存的操作速度要慢于寄存器的速度
3.通过临时变量记录比较的结果CMP R1, R2MOVLE R5, #1 /*用R5记录状态,用1表示R1 R2 */SUBGT R0, R1, R2CMPGT R0, R3MOVGT R0, #1MOVLE R0, #0ELSECMP R5, #1SUBEQ R0, R1, R2CMPEQ R0, R3MOVGT R0, #1MOVLE R0, #04.跳转表介个内容太多,偶的宿舍在阴面,手指头冰凉冰凉的,也累了,先不写了。下面有资料出处,自己看吧.我下次再写完:)。
您可能关注的文档
- 2013高考岳麓版历史总复习备考针对训练选修2第1讲.doc
- 2013高考总复习闯关密训物理卷专题13光.doc
- 2013高考总复习闯关密训物理卷专题16原子结构与原子核.doc
- 2013高考总复习闯关密训物理卷专题15动量守恒定律.doc
- 2013高考总复习闯关密训物理卷专题3牛顿运动定律.doc
- 2013高考数学一轮复习精练理数第七章 第四节 直线.doc
- 2013高考数学一轮复习精练理数第九章 第四节 算法初步.doc
- 2013高考数学一轮复习精练理数第二章 第五节 函数的图象.doc
- 2013高考试卷分析与专家点评新课标卷2.doc
- 2013高考语文作文时文阅读第一辑你教会了我游戏规则.doc
最近下载
- 2025年公安招聘辅警考试笔试题及答案.docx VIP
- (完整word)二次函数练习顶点式基础练习题 .pdf VIP
- 2025年公安局警务辅助人员招聘考试笔试试题(附答案).docx VIP
- 2025-2026学年苏科版劳动五年级上册教学计划及进度表.pdf VIP
- 干式变压器技术规范书.docx VIP
- 2025年西藏自治区昌都市护士基础理论知识考试题库及答案解析.pdf VIP
- 工程建设监理收费标准(发改价格2022670号).docx VIP
- 2025年黑龙江省绥化市辅警招聘考试题库及答案.docx VIP
- 操作手册模板【范本模板】.pdf VIP
- 幼儿园角色扮演的重要性和意义.docx VIP
文档评论(0)