高级语言常用的比较语句:

if A > B ...
while X > 0 and X < 200   ...
if check_for_error(N) = true

x86汇编用cmp指令比较整数,因为字符也属于整数,所以也可以使用cmp指令。浮点数需要其它指令来比较,在《汇编语言-基于x86处理器》第12章介绍。

cmp 目标操作数,源操作数

cmp指令用目标操作数减去源操作数,根据结果来确定溢出、符号、零、进位、辅助进位和奇偶标志位,但不会真的去改变目标操作数,仅改变了标志位。汇编的cmp指令相当于高级语言的IF语句。

比较两个无符号数
CMP结果 ZF CF
目的操作数 < 源操作数 0 1
目的操作数 > 源操作数 0 0
目的操作数 = 源操作数 1 0
比较两个有符号数
CMP结果 标志位
目的操作数 < 源操作数 SF ≠ OF
目的操作数 > 源操作数 SF=OF
目的操作数 = 源操作数 ZF=1
mov ax, 5
cmp ax,10     ; ZF = 0 and CF = 1
mov ax,1000
mov cx,1000
cmp cx, ax        ;ZF = 1 and CF = 0
mov si,105
cmp si, 0        ; ZF = 0 and CF = 0

x86汇编_CMP指令_笔记_28相关推荐

  1. x86汇编_PTR运算符_笔记_9

    PTR运算符可以用来重写一个已经被声明过的操作数的大小类型.左右操作数容量必须一致,当不一致时需要用PTR运算符限定容量. datamydouble dword 12345678h.codemov a ...

  2. X86汇编---寄存器+指令

    文章目录 X86汇编常见的寄存器 x86汇编指令集大全 X86汇编常见的寄存器 4个数据寄存器(EAX.EBX.ECX和EDX) 2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP ...

  3. x86汇编_SHLD/SHRD双精度左右移指令_笔记49

    SHLD(双精度左移)指令将目的操作数向左移动指定位数.移动形成的空位由源操作数的高位填充.SHRD(双精度右移)指令将目的操作数向右移动指定位数.移动形成的空位由源操作数的低位填充.源操作数不变,但 ...

  4. x86汇编_JE、JNE、JCXZ 和 JECXZ 指令_笔记_34

    基于左右操作数或寄存器值的跳转 助记符 英文翻译 说明 JE Jump if left Equals right 相等跳转 (左操作数=右操作数) JNE Jump if left Not Equal ...

  5. 【操作系统学习笔记(一)】对x86汇编知识做了粗略补充,以及尽力读懂代码片段

    学习参考:B站哈工大李治军老师的网课 前置知识:计组,和x86有亿点点区别的RISC-V指令集. 其他章节笔记: (一)操作系统的启动 (二)系统调用 (三)操作系统历史 (四)多进程管理图像 (五) ...

  6. 【Android 逆向】x86 汇编 ( 参考资料 | Intel 官方的文档 | x86 汇编中文文档 | 汇编指令查询器 )

    文章目录 一.x86 汇编参考文档 1.Intel 官方的文档 2.常用 x86 汇编文档 3.x86 汇编指令查询器 总结 一.x86 汇编参考文档 下面的所有资料 , 都可以在博客资源 https ...

  7. 编译原理—x86汇编指令

    eax, ebx, ecx, edx, esi, edi, ebp, esp寄存器 eax, ebx, ecx, edx, esi, edi, ebp, esp等都是X86 汇编语言中CPU上的通用寄 ...

  8. x86汇编知识以及应用详解

    基础知识: 指令规则:movl $0 %eax,把常数0加载到eax寄存中.这里的后缀字母l表示long:4字节,此外还有w表示word:2字节(为了服从传统而已,其实现代意义的word就是4字节了) ...

  9. 寄存器理解 及 X86汇编入门

    本文整理自多材料源,感谢原址分享,请查看末尾Url I, 汇编语言分类: 汇编语言和CPU息息相关,但是不能把汇编语言完全等同于CPU的机器指令.不同架构的CPU指令并不相同,如x86,powerpc ...

最新文章

  1. cisco网络故障处理手册
  2. 3. Leetcode 16. 最接近的三数之和 (数组-双向双指针)
  3. 【安全漏洞】朝鲜InkySquid APT组织是怎么利用浏览器漏洞感染受害者
  4. C++rat maze老鼠迷宫算法(附完整源码)
  5. 实验8 SQL Server 的存储过程
  6. SGU traffic light
  7. 中移M5310A NBIoT模组通信测试命令
  8. 理解数据库中的undo日志、redo日志、检查点
  9. 匆匆的一瞥,错过了一份正确的BIOS……,安装X64系统时错刷BIOS的彻底死机过程以及解决方法...
  10. Maven工程 报 Diamond types are not supported at language level '5'
  11. 【智慧医疗】破解医疗数据孤岛,实现信息共享
  12. 图扑软件基于钻孔数据的三维地质模型可视化
  13. 为什么保持代码整洁如此重要?
  14. 程序员写个爬虫程序,整个公司被端了?
  15. 联通光纤猫虚拟服务器设置,联通光猫连接无线路由器怎么设置?
  16. 为女性们点赞!Google 为女性提供更多支持
  17. 查看XBox360的系统版本信息
  18. 用户名第一个字符设置为默认头像
  19. 1、蛋白质二级结构预测方法
  20. [高通SDM450][Android9.0]CTA认证--去掉彩信、短信、通话功能

热门文章

  1. 超级英雄在中国香港的平凡生活
  2. HTML-input标签
  3. Charles Reade
  4. 让代码和迈克杰克逊一起跳舞
  5. 20秋PHP作业3,大工20秋《模拟电子技术》在线作业3答案
  6. iOS微信底部工具栏遮挡
  7. python圣诞节_快到圣诞节了,用python来给自己的头像加上一顶圣诞帽
  8. 男人到了二十几岁该怎么发展
  9. spring cloud gateway 格式化异常输出
  10. 视频分享平台PeerTube的搭建