译注:CMP 和 CMP 是算术指令,TEQ 和 TST 是逻辑指令。把它们归入一类的原因是它们的 S 位总是设置的,就是说,它们总是影响标志位。

CMN : 比较取负的值

(Compare Negative)

  CMN{条件}{P}  , status = op_1 - (- op_2)

CMN  同于  CMP ,但它允许你与小负值(操作数 2 的取负的值)进行比较,比如难于用其他方法实现的用于结束列表的 -1。这样与 -1 比较将使用:

  CMN     R0, #1                  ; 把 R0 与 -1 进行比较

详情参照  CMP  指令。

CMP : 比较

(Compare)

 CMP{条件}{P}  , status = op_1 - op_2

CMP  允许把一个寄存器的内容如另一个寄存器的内容或立即值进行比较,更改状态标志来允许进行条件执行。它进行一次减法,但不存储结果,而是正确的更改标志。标志表示的是操作数 1 比操作数 2 如何(大小等)。如果操作数 1 大于操作操作数 2,则此后的有 GT 后缀的指令将可以执行。
明显的,你不需要显式的指定  S  后缀来更改状态标志... 如果你指定了它则被忽略。

TEQ : 测试等价

(Test Equivalence)

  TEQ{条件}{P}  , Status = op_1 EOR op_2

TEQ  类似于  TST 。区别是这里的概念上的计算是 EOR 而不是 AND。这提供了一种查看两个操作数是否相同而又不影响进位标志(不象  CMP  那样)的方法。加上  P  后缀的  TEQ  还可用于改变 R15 中的标志(在 26-bit 模式中)。详情请参照 psr.html,在 32-bit 模式下如何做请参见这里。

TST : 测试位

(Test bits)

  TST{条件}{P}  , Status = op_1 AND op_2

TST  类似于  CMP ,不产生放置到目的寄存器中的结果。而是在给出的两个操作数上进行操作并把结果反映到状态标志上。使用  TST  来检查是否设置了特定的位。操作数 1 是要测试的数据字而操作数 2 是一个位掩码。经过测试后,如果匹配则设置 Zero 标志,否则清除它。象  CMP   那样,你不需要指定  S  后缀。

  TST     R0, #%1                 ; 测试在 R0 中是否设置了位 0。

ARM 指令集 比较指令相关推荐

  1. 【汇编语言与计算机系统结构笔记01】x86/MIPS/ARM指令集概述与特性,一篇HPCA引发的思考(商业生态的决定性作用)

    资源Bilibili AV46914471 + AV57921488 汇编语言与计算机系统结构 清华大学 张悠慧 本次笔记内容: 01.汇编语言与计算机系统结构 02.汇编基础知识--指令集综述 文章 ...

  2. ARM 指令集 和 Thumb 指令集

    From:https://gitee.com/lsliushuang/ASM/blob/master/arm汇编.txt ARM 汇编指令集汇总:https://blog.csdn.net/qq_40 ...

  3. ARM指令集与Thumb指令集--区别关联--汇编指令 BX LR ; 跳转回LR地址处,既可以是ARM模式也可以是Thumb模式

    BX        LR    ; 跳转回LR地址处,既可以是ARM模式也可以是Thumb模式 A 一.现在先区分下ARM指令集与Thumb指令集        Thumb 指令可以看作是 ARM 指 ...

  4. ARM 指令集跳转指令

    一.跳转指令 跳转指令用于实现程序流程的跳转,在ARM 程序中有两种方法可以实现程序流程的跳转: Ⅰ.使用专门的跳转指令. Ⅱ.直接向程序计数器PC 写入跳转地址值. 通过向程序计数器PC 写入跳转地 ...

  5. x86指令集和arm指令集部分对比

    本文主题:本文主要对比了x86 ISA 和 arm ISA的部分区别. 目录 一.x86 ISA 1.指令组成 二.指令各部分解析 1.Instruction Prefixes(可选部分) 2.Opc ...

  6. ARM指令集复习 | 基本指令用法

    文章目录 1.ARM指令集概述 2.ARM的寻址方式 2.1 立即寻址 2.2 寄存器寻址 2.3 多寄存器及块拷贝寻址 2.4 堆栈寻址 2.5 相对寻址 3.ARM指令集 3.1 存储器访问(L/ ...

  7. ARM指令集 VS Thumb指令集

    1 thumb指令集概述 为兼容数据总线宽度为16位的应用系统,ARM体系结构除了支持执行效率很高的32位ARM指令集以外,同时支持16位的Thumb指令集. Thumb指令集是ARM指令集的一个子集 ...

  8. ARM指令集、Thumb指令集、Thumb-2指令集

    Thumb‐2是一个突破性的指令集.它强大,它易用,它轻佻,它高效.Thumb‐2是16位Thumb指令集的一个超集,在Thumb‐2中,16位指令首次与32位指令并存,结果在Thumb状态下可以做的 ...

  9. 【ARM】协处理器指令

    00. 目录 文章目录 00. 目录 01. 协处理器指令概述 02. ARM寄存器到协处理器寄存器的数据传送指令MCR 2.1 指令编码格式 2.2 指令的语法格式 2.3 指令举例 2.4 指令的 ...

  10. ARM和NEON指令 very gooooooood.............

    http://blog.csdn.net/chshplp_liaoping/article/details/12752749 在移动平台上进行一些复杂算法的开发,一般需要用到指令集来进行加速.目前在移 ...

最新文章

  1. 无服务器仍然离不开基础设施管理
  2. graph 关系图 设置
  3. 用原生JavaScript实现淡入淡出轮播图
  4. php sql 去除重复数据,MSSQL_快速删除重复记录,SQL Server如何实现?,如果一张表的数据达到上百万 - phpStudy...
  5. 无法打开文件“libboost_python-vc120-mt-sgd-1_59.lib”
  6. Java、Android、oc冒泡排序算法随笔
  7. this--学习笔记
  8. C++多线程之使用Mutex和Critical_Section(转载)
  9. 百度360之争的背后
  10. 性能测试--网页fps测试
  11. mysql 自己的ip怎么查看_如何查看连接mysql的ip地址
  12. 小米 note3 android,小米NOTE3 MIUI9.6稳定版 开启全面屏手势和屏蔽经典物理按键全攻略...
  13. 前端开发——Vue 监听组件生命周期
  14. 研发人员专用表情包上架了
  15. 常用的web服务器软件整理(转载)
  16. Excel使用记录之分页预览与打印标题
  17. 河南召开科创板重点后备企业上市座谈会 60余家企业参会(附名单)
  18. 达芬奇调色 Blackmagic Design DaVinci Resolve Studio 17 中文版,整合剪辑、视觉特效、动态图形、调色和音频后期制作
  19. 毕业设计-基于深度学习的数字病理图像分割
  20. 在 Windows 下查看开放端口

热门文章

  1. JScrollPane恢复正常滚动量
  2. (宏)Word修改段落行距为固定值24磅
  3. CloudStack核心类ApiServlet、ApiServer、ApiDispatcher、GenericDaoBase源码分析
  4. robotframework--登录接口,post传递多个参数、及获取content中指定属性的值(5)
  5. javascript 方法总结(Array篇)
  6. SqlServer Alwayson 搭建报错:19405
  7. Tomcat 日志文件分割
  8. Spark技术内幕:Master基于ZooKeeper的High Availability(HA)源代码实现
  9. 中国快递包裹总量的预测-基于SARIMA模型
  10. nil,NULL,NSNull的区别