1、(http://baike.baidu.com/subview/3747364/3747364.htm)

cmp(compare)指令进行比较两个操作数的大小
例:cmpoprd1,oprd2
为第一个操作减去第二个操作数,
但不影响第两个操作数的值
它影响flag的 CF,ZF,OF,AF,PF
我们怎么判断大小呢?
若执行指令后
ZF=1 这个简单,则说明两个数相等,因为zero为1说明结果为0
当无符号时:
CF=1 则说明了有进位或借位,cmp是进行的减操作,故可以看出为借位,所以,此时oprd1<oprd2
CF=0 则说明了无借位,但此时要注意ZF是否为0,若为0,则说明结果不为0,故此时oprd1>oprd2
当有符号时:
若SF=0,OF=0 则说明了此时的值为正数,没有溢出,可以直观的看出,oprd1>oprd2
若SF=1,OF=0 则说明了此时的值为负数,没有溢出,则为oprd1<oprd2
若SF=0,OF=1 则说明了此时的值为正数,有溢出,可以看出oprd1<oprd2
若SF=1,OF=1则说明了此时的值为负数,有溢出,可以看出oprd1>oprd2
最后两个可以作出这种判断的原因是,溢出的本质问题:
两数同为正,相加,值为负,则说明溢出
两数同为负,相加,值为正,则说明溢出
故有,正正得负则溢出,负负得正则溢出

2、

转载于:https://www.cnblogs.com/debugskill/p/5564324.html

ZC_汇编指令_cmp相关推荐

  1. 32位汇编寄存器及汇编指令

    32位CPU所含有的寄存器有: 4个数据寄存器(EAX.EBX.ECX和EDX) 2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP) 6个段寄存器(ES.CS.SS.DS.FS和 ...

  2. 实验1 查看CPU和内存、用机器指令和汇编指令编程

     实验任务 一.使用Debug,用E命令和A命令以两种方式将指令写入内存 机器码        汇编指令 b8 20 4e     mov ax,4E20H 05 16 14     add ax,1 ...

  3. 寄存器和常用的汇编指令

    为了学习需要,最近查看了一下汇编,因为是个初学者很多东东基本不动,所以记录一下基本指令和寄存器,那样就会对汇编慢慢的适应,看得懂那些华丽花哨的反汇编代码了.学习这个东东基本是为了破解和逆向工程使用,因 ...

  4. 汇编语言:实验一 查看CPU和内存,用汇编指令和机器指令编程

    Debug的使用: Debug 是DOS和Windows 实模式 (8086方式)的调试器,可以查看修改寄存器内容以及内存内容,机器码级别 Debug命令: 1)R命令:显示或修改寄存器内容 -r 显 ...

  5. 汇编指令mrs_汇编指令 - Mrs.kang - 博客园

    1.debug的常用命令 1.r命令 查看.修改CPU中寄存器的值 -r :查看寄存器的值 -r  cs :修改寄存器cs的值 2.D命令 查看内存中的内容 1.-d  段地址:偏移地址 -d 100 ...

  6. 几条跟堆栈扯上关系的汇编指令

    堆栈算是非常重要的结构了,今晚讲讲它是怎么设计的,最后讲几个跟堆栈相关的汇编指令. 初识堆栈结构 之前学过那些通用寄存器,读取方便,而且快速,但是有一个问题:就是寄存器有大小限制,数据量大的时候,寄存 ...

  7. 实验二:用机器指令和汇编指令编程

    实验任务(1) 1.使用 e 命令修改 0021:0~0021:f 数据,及修改后查看是否正确写入的操作 修改数据并查看 2.使用 a 命令输入的 p74 指令 输入汇编指令 3.每一行指令单步调试 ...

  8. 8086 汇编指令手册查询(转)

    8086 汇编指令手册查询,编语言是一种面向机器的语言.它能够利用计算机所在硬件性并能直接控制硬件,在微型计算机系统的开发应用和过程控制和特别受到重视. 一.数据传输指令 -------------- ...

  9. Windows内核 基本汇编指令

    1)用VS2010新建Win32 Console Application,工程名为ACECore,工程建立完成后得到打开文件ACECore.cpp,代码如下: #include "stdaf ...

最新文章

  1. 使用Caffe进行手写数字识别执行流程解析
  2. 封装、继承、多态、访问符,范围修饰符
  3. 启动jar包并生成日志的linux脚本
  4. python【Matlibplot绘图库】多图合并显示(真の能看懂~!)
  5. MPLS由何而来?—Vecloud微云
  6. 几个OpenSource的源代码管理软件
  7. C++模拟键盘操作窗口入门
  8. Laravel Kernel引导流程分析
  9. 2021年上半年金融科技动向
  10. 爆款预定!雷军再曝小米12 Pro:首发自研芯片澎湃P1
  11. catv系统主要有哪三部分组成_答案光接入试题(答案)3.12
  12. tomcat启动问题
  13. VS2017+Opencv3.3+Opencv_contribute编译
  14. 深入浅出TensorFlow2函数——tf.data.Dataset.shuffle
  15. new创建类对象与直接定义的区别
  16. Metal 系列教程
  17. React 学习笔记:JSX 语法
  18. 数字图像处理必备软件
  19. A-Z,a-z,0-9的unicode编码表
  20. Mac 垃圾清理软件-腾讯柠檬Lemon

热门文章

  1. mysql id div 1000000,mysql – 如何使用随机数据生成1000000行?
  2. linux 挂起后无法唤醒屏幕
  3. Docker安装稳定版及指定版本
  4. Eclipse发布Web项目
  5. php鼠标 显示图片,鼠标放在图片上显示大图的JS代码
  6. 2021 年百度之星·程序设计大赛 - 复赛 1001 Palindrome(结论,奇偶性)
  7. NYOJ399 - 整除个数
  8. 云服务器升级系统,centos云服务器系统升级
  9. mysql 数字处理方法_mysql中保留字段中的数字的处理方法。
  10. python风格logo_感觉logo不给力? Python十分钟制作属于你自己的个性logo