汇编指令-CMP、TEQ(5)

 cmp:(compare)指令进行比较两个操作数的大小 

格式: cmp oprd1,oprd2

比较oprd1和oprd2操作数,然后通过助记符来实现想要的判断。

teq: (test equal)测试相等,该指令通常用于比较操作数1和操作数2是否相等。

格式: teq oprd1,oprd2 TEQ指令用于把一个寄存器的内容和另一个寄存器的内容或立即数进行按位的异或运算,并根据运算结果更新CPSR中条件标志位的值。该指令通常用于比较操作数1和操作数2是否相等。(EOR指令也是实现异或运算,只是不更新CPSR)

 cmp和teq助记符如下

助记符

含    义

EQ

相等equal

NE

不相等not equal

CS

无符号数大于或等于Carry Set

CC

无符号数小于

MI

负数minus

PL

正数或零plus

VS

溢出

VC

没有溢出

HI

无符号数大于high

LS

无符号数小于或等于less

GE

带符号数大于或等于

LT

带符号数小于less than

GT

带符号数大于great than

LE

带符号数小于或等于

AL

无条件执行all

CMP  R0, R1  ;                                        R0与R1比较,做R0-R1的操作

ADDHI  R0, R0, #1  ;                              若R0 > R1, HI为真,则R0 = R0 + 1

ADDLS  R1, R1, #1  ;                              若R0 <= R1, LS为真,则R1 = R1 + 1

cmp使用实例实例2:

adr r0, _start   ldr r1, _TEXT_BASE  cmp r0, r1                                          r0与r1比较,做r0-r1的操作 blne cpu_init_crit                                  若ne(r0地址与r1地址不相等)为真,执行bl cpu_init_crit  跳转    

teq使用实例实例1:

teq r0, r1                                                R0与R1是否相等                ADDeq  R0, R0, #1  ;                              若R0 == R1, eq为真,则R1 = R1 + 1

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏bboysoul

1461: C语言实验题――求平均值

描述:求n个数的平均数。 输入:输入数据有2行,第一行为n,第二行是n个数。 输出:输出n个数中的平均数,结果保留小数点2位。 样例输入:5-1 2.1 ...

912
来自专栏我杨某人的青春满是悔恨

快速排序和高阶函数

快速排序(以下简称快排)是一种经典的排序算法,名字乍一看非常实在,细思之下却又带着点不可一世的狂傲。别的排序算法像什么插入排序、选择排序、归并排序等等,它们的名...

813
来自专栏LinXunFeng的专栏

iOS - 通过runtime获取某个类中所有的变量和方法

892
来自专栏SeanCheney的专栏

《Pandas Cookbook》第03章 数据分析入门1. 规划数据分析路线2. 改变数据类型,降低内存消耗3. 从最大中选择最小4. 通过排序选取每组的最大值5. 用sort_values复现nl

562
来自专栏java 成神之路

字节码分析finally块对return返回值的影响

2666
来自专栏静默虚空的博客

[算法题] 字节流解析

字节流解析 题目标题: 根据数值占用BIT数,按顺序从输入字节流中解析出对应数值,解析顺序按输入数组astElement索引升序。 详细描述: 接口说明...

2265
来自专栏快乐八哥

JavaScript循环读书笔记

循环知识:自我重复的风险 第一部分: 重复运行的代码就可以使用循环来解决。JavaScript的重复机制为循环(loop) for:适合重复动作已知次数的循环。...

1717
来自专栏恰同学骚年

剑指Offer面试题:26.字符串的排列

  我们可以把一个字符串看成由两部分组成:第一部分为它的第一个字符,第二部分是后面的所有字符。在下图中,我们用两种不同的背景颜色区分字符串的两部分。

671
来自专栏数据库

MySQL数据库应用总结(八)—MySQL数据库的数据类型和运算符(下)

SQL语法预览: 创建表字段数据类型:【createtable 表名(字段名称 数据类型); 】 插入字段值:【insert into表名 values(值1,...

18610
来自专栏calmound

Valid Parentheses

问题:The brackets must close in the correct order, "()" and "()[]{}" are all valid...

2405

扫码关注云+社区