码迷,mamicode.com
首页 > 其他好文 > 详细

汇编指令之CMP, TEST指令

时间:2019-09-06 22:53:06      阅读:88      评论:0      收藏:0      [点我收藏+]

标签:汇编指令   nbsp   汇编   补充   位置   ptr   过程   sub   程序   

一、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-----溺心与沉浮----博客园

汇编指令之CMP, TEST指令

标签:汇编指令   nbsp   汇编   补充   位置   ptr   过程   sub   程序   

原文地址:https://www.cnblogs.com/Reverse-xiaoyu/p/11478355.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!