ARM汇编语言设置条件码续
2017-06-22
关键词:
汇编语言
2)条件转移
在程序中可通过条件码的使用让微处理器决定是否进行转移。例如,为了实现循环操作,往往需要转移回到循环的开始,但是这种转移应该仅发生在执行到所需的循环次数之前,这以后转移应被跳过。这时,在转移指令后加上合适的条件,就可恨容易地实现该功能。
条件转移还可用来控制循环的退出。这时,转移与条件码紧密相连,只有当条件码的值满足条件时,相应的转移才被执行。一种典型的循环控制指令序如下所示:
MOV R0,#0 ;计数器初始化
LOOP …
ADD R0,R0,#1 ;循环计数器加1
CMP R0,#10 ;与循环的限制比较
BNE LOOP ;如果不相等则返回
… ;否则循环中止
例中给出了条件转移是BNE,即“不等则转移”条件转移的形式共有十几种,表中同一栏内的一对条件的涵义相同,二进制代码也相同,但两者都是有用的,因为在特定的环境中每一种条件都可能使得汇编语言源代码的编译更加容易。在表中提到有符号数和无符号数的比较时,并不是说指令可区分有符号数和无符号数,知识说明本条指令可对有符号数进行大小比较,比较的结果是正确的;当操作数是有符号数时,结果不一定正确。
本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。