zoukankan      html  css  js  c++  java
  • 汇编指令之CMP, TEST指令

    一、CMP指令

    这一块呢,我不想上图了,汇编的博文我已经快要让我写吐了,其实也有好多我没有补充进来,比如进制,LEA指令,数据宽度,有符号,无符号的区分等等,但我真的要吐了,这些玩意我已经不是第一次写了,也不是第一次看了,以前我是习惯于在EXCEL上写,这一次由于是我对汇编遗忘的有点狠,想从头复习一遍,刚好把这个复习的过程上传到博客园来,于是就有了这些文章,这两条指令,如果有兴趣,大家自己去测试测试吧

    版权声明:本文为博主原创文章,转载请附上原文出处链接和本声明。2019-09-06,20:23:27。
    作者By-----溺心与沉浮----博客园 

    指令格式:CMP  R/M,R/M/IMM

    CPM指令相当于SUB,唯一不同的是它不改变操作数或者寄存器的值

    该指令是比较两个操作数,实际上,它相当于SUB指令,但是相减的结构并不保存到第一个操作数中。

    只是根据相减的结果来改变零标志位的,当两个操作数相等的时候,零标志位置1。

    MOV EAX,100

    MOV ECX,100

    CMP EAX,ECX    观察Z位

     MOV EAX,100

     MOV ECX,200

     CMP EAX,ECX    观察S位

     CMP AX,WORD PTR DS:[405000]

     CMP AL,BYTE PTR DS:[405000]

     CMP EAX,DWORD PTR DS:[405000]

     二、TEST指令

     指令格式:TEST  R/M,R/M/IMM

     该指令在一定程序上和CMP指令时类似的,两个数值进行与操作,结果不保存,但是会改变相应标志位.

     与的操作表项如下:

     1 and 1 = 1

     1 and 0 = 0

     0 and 1 = 0

     0 and 0 = 0

     常见用法:用这个指令,可以确定某寄存器是否等于0。

     TEST EAX,EAX    观察Z位

     但是如果EAX的二进制某些位为1的话,那么运算的结果就不为零。

    版权声明:本文为博主原创文章,转载请附上原文出处链接和本声明。2019-09-06,20:23:27。
    作者By-----溺心与沉浮----博客园

  • 相关阅读:
    57-java 开发环境配置,mysql解压版安装
    56-MyBatis关联映射之一对多映射
    55-mybatis dao 和 映射xml
    54-jquery发送请求 json 转化等
    58-wxPython 嵌入html页面
    57-2015-第六届蓝桥杯国赛 java B组真题与解析
    【读书笔记】Effective Modern Cpp(二)
    【读书笔记】Effective Modern Cpp(一)
    【剑指offer】汇总
    【剑指offer】序列化二叉树
  • 原文地址:https://www.cnblogs.com/Reverse-xiaoyu/p/11478355.html
Copyright © 2011-2022 走看看