汇编指令:CMP和TEQ
cmp:(compare)
指令进行比较两个操作数的大小
格式: cmp oprd1,oprd2
比较oprd1
和oprd2
操作数,然后通过助记符来实现想要的判断。
teq:(test equal)
测试相等,该指令通常用于比较操作数1和操作数2是否相等。
格式:teq oprd1,oprd2
TEQ
指令用于把一个寄存器的内容和另一个寄存器的内容或立即数进行按位的异或运算,并根据运算结果更新CPSR
中条件标志位的值。该指令通常用于比较操作数1
和操作数2
是否相等。(EOR
指令也是实现异或运算,只是不更新CPSR
)
cmp
和teq
助记符如下:
cmp
使用实例实例1:
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
汇编指令:CMP和TEQ相关推荐
- 汇编指令-CMP、TEQ
cmp:(compare)指令进行比较两个操作数的大小 格式: cmp oprd1,oprd2 比较oprd1和oprd2操作数,然后通过助记符来实现想要的判断. teq: (test equ ...
- ARM汇编指令CMP/CMN/TST/TEQ
译注: CMP 和 CMP 是算术指令, TEQ 和 TST 是逻辑指令.把它们归入一类的原因是它们的 S 位总是设置的,就是说,它们总是影响标志位. CMN : 比较取负的值 (Compar ...
- 学习笔记-----浅谈汇编指令CMP运行机制
在汇编中,CMP和JMP指令常常用于比较操作,而且查看反汇编源码时也发现不管是.IF伪指令还是其他的底层都是用CMP实现的. 指令格式: CMP 目的操作数,源操作数 计算机在遇到CMP指令的时候,C ...
- 汇编语言的C状态寄存器,汇编指令-状态寄存器、cmp、test、jz等指令详细说明
一.状态寄存器 首先看看:状态寄存器(即标志寄存器) PSW(Program Status Word)程序状态字(即标志)寄存器,是一个16位寄存器,由条件码标志(flag)和控制标志构成, 如下所示 ...
- 汇编指令 - 状态寄存器、cmp、test、jz等指令
一.状态寄存器 首先看看:状态寄存器(即标志寄存器) PSW(Program Status Word)程序状态字(即标志)寄存器,是一个16位寄存器,由条件码标志(flag)和控制标志构成, 如下所示 ...
- cmp 字节 汇编_汇编 常用指令 cmp jmp call ret
cmp 指令 功能相当于减法指令 只是不保存结果 不过cmp执行后会影响标志位 其它指令 通过识别标志位 来得知比较的结果 CPU在执行cmp指令时 像add sub指令一样 也包含两种含义 (有符号 ...
- 汇编基础--cmp汇编指令
cmp是比较指令,cmp的功能相当于减法指令.它不保存结果,只是影响相应的标志位.其他的指令通过识别这些被影响的标志位来得知比较结果. cmp指令格式: cmp 操作对象1, 操作对象2 计算 ...
- Android逆向基础笔记—Android中的常用ARM汇编指令
一 ARM寄存器 1.通用寄存器 1).未分组寄存器:R0~R7 2).分组寄存器:R8~812 R13:SP,常用作堆栈指针,始终指向堆栈的顶部,当一个数据(32位)推入堆栈时,SP(R13的值减 ...
- ARM汇编指令以及伪指令
文章目录 ARM寄存器 ARM指令的一般编码格式 ARM指令的条件域 ARM寻址方式 数据处理指令的操作数寻址方式 立即数寻址方式 寄存器寻址方式 寄存器移位寻址方式 字或无符号字节的Load/Sto ...
最新文章
- 怎么使用CAD编辑器来打开图纸中的所有图层
- .net core Entity Framework 与 EF Core
- GSLX680触摸屏驱动移植
- 常见的正则表达式验证(更新中)
- 设计模式(三)--观察者模式
- SQL死锁知识及解决办法
- vs2017 js cordova + dotnet core 开发app
- MySQL访问权限管理
- 6.业务架构·应用架构·数据架构实战 --- 双轮驱动的技术架构设计
- ANSYS 15 直接优化分析
- D盘根目录下的msdia80.dll文件能不能删除?
- Method类及相关类解读
- 计算机绘图如何设置精度2007,excel2007饼图百分比精确度如何设置
- error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file
- DDK for windows
- 国标28181:什么是RTP协议与RTCP协议
- POE网络变压器的检测要求及具体测试标准
- 清甜女孩李斯霞 受邀担任第六季完美童模全球总决赛小主持人
- dell灵越7370 U盘装机 BIOS设置
- 汽车I-O连接器-市场现状及未来发展趋势
热门文章
- Python札记1_列表list
- angularJS的复选框
- 对案例: “绩效主义毁了索尼”的分析讨论
- 买本,验的仔细买的放心 13个验机步骤看仔细
- Redis系列5-主从复制
- 解除“注册编辑已被管理员停用”
- iOS自带表情图标,可用转义字符使用
- android n 小米5体验,体验报告系列 篇一:#原创新人#90天 MI 小米 5使用体验报告...
- Python描述数据结构之图实战篇
- 计算机病毒 英语作文,计算机病毒-------英文文献翻译