x86汇编_CMP指令_笔记_28
高级语言常用的比较语句:
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相关推荐
- x86汇编_PTR运算符_笔记_9
PTR运算符可以用来重写一个已经被声明过的操作数的大小类型.左右操作数容量必须一致,当不一致时需要用PTR运算符限定容量. datamydouble dword 12345678h.codemov a ...
- X86汇编---寄存器+指令
文章目录 X86汇编常见的寄存器 x86汇编指令集大全 X86汇编常见的寄存器 4个数据寄存器(EAX.EBX.ECX和EDX) 2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP ...
- x86汇编_SHLD/SHRD双精度左右移指令_笔记49
SHLD(双精度左移)指令将目的操作数向左移动指定位数.移动形成的空位由源操作数的高位填充.SHRD(双精度右移)指令将目的操作数向右移动指定位数.移动形成的空位由源操作数的低位填充.源操作数不变,但 ...
- x86汇编_JE、JNE、JCXZ 和 JECXZ 指令_笔记_34
基于左右操作数或寄存器值的跳转 助记符 英文翻译 说明 JE Jump if left Equals right 相等跳转 (左操作数=右操作数) JNE Jump if left Not Equal ...
- 【操作系统学习笔记(一)】对x86汇编知识做了粗略补充,以及尽力读懂代码片段
学习参考:B站哈工大李治军老师的网课 前置知识:计组,和x86有亿点点区别的RISC-V指令集. 其他章节笔记: (一)操作系统的启动 (二)系统调用 (三)操作系统历史 (四)多进程管理图像 (五) ...
- 【Android 逆向】x86 汇编 ( 参考资料 | Intel 官方的文档 | x86 汇编中文文档 | 汇编指令查询器 )
文章目录 一.x86 汇编参考文档 1.Intel 官方的文档 2.常用 x86 汇编文档 3.x86 汇编指令查询器 总结 一.x86 汇编参考文档 下面的所有资料 , 都可以在博客资源 https ...
- 编译原理—x86汇编指令
eax, ebx, ecx, edx, esi, edi, ebp, esp寄存器 eax, ebx, ecx, edx, esi, edi, ebp, esp等都是X86 汇编语言中CPU上的通用寄 ...
- x86汇编知识以及应用详解
基础知识: 指令规则:movl $0 %eax,把常数0加载到eax寄存中.这里的后缀字母l表示long:4字节,此外还有w表示word:2字节(为了服从传统而已,其实现代意义的word就是4字节了) ...
- 寄存器理解 及 X86汇编入门
本文整理自多材料源,感谢原址分享,请查看末尾Url I, 汇编语言分类: 汇编语言和CPU息息相关,但是不能把汇编语言完全等同于CPU的机器指令.不同架构的CPU指令并不相同,如x86,powerpc ...
最新文章
- cisco网络故障处理手册
- 3. Leetcode 16. 最接近的三数之和 (数组-双向双指针)
- 【安全漏洞】朝鲜InkySquid APT组织是怎么利用浏览器漏洞感染受害者
- C++rat maze老鼠迷宫算法(附完整源码)
- 实验8 SQL Server 的存储过程
- SGU traffic light
- 中移M5310A NBIoT模组通信测试命令
- 理解数据库中的undo日志、redo日志、检查点
- 匆匆的一瞥,错过了一份正确的BIOS……,安装X64系统时错刷BIOS的彻底死机过程以及解决方法...
- Maven工程 报 Diamond types are not supported at language level '5'
- 【智慧医疗】破解医疗数据孤岛,实现信息共享
- 图扑软件基于钻孔数据的三维地质模型可视化
- 为什么保持代码整洁如此重要?
- 程序员写个爬虫程序,整个公司被端了?
- 联通光纤猫虚拟服务器设置,联通光猫连接无线路由器怎么设置?
- 为女性们点赞!Google 为女性提供更多支持
- 查看XBox360的系统版本信息
- 用户名第一个字符设置为默认头像
- 1、蛋白质二级结构预测方法
- [高通SDM450][Android9.0]CTA认证--去掉彩信、短信、通话功能