汇编网首页登录博客注册
xitxit的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
最新评论
最新留言
好友圈
文章收藏
友情链接

[2010-10-05 03:18] test和cmp一个很菜很基础的话题!(转载)

*************************
test属于逻辑运算指令 

功能: 执行BIT与BIT之间的逻辑运算
     测试(两操作数作与运算,仅修改标志位,不回送结果). 
Test对两个参数(目标,源)执行AND逻辑操作,并根据结果设置标志寄存器,结果本身不会保存。EST AX,BX 与 AND AX,BX 命令有相同效果 

语法: TEST r/m,r/m/data
影响标志: C,O,P,Z,S(其中C与O两个标志会被设为0) 

运用举例:
1.Test用来测试一个位,例如寄存器: 

test eax, 100b;          b后缀...
阅读全文 | 评论次数(0) | 浏览次数(401) | 所属类型(X86汇编语言)

[2010-10-04 22:44] 寄存器深入体验之FLAG寄存器

点击查看原图
FLAG寄存器是什么,有什么作用?

FLAG为标志寄存器,是一个16位的,用来放条件码的寄存器。条件码标志是用来记录程序运行结果的状态,就例如你在算加法题,突然遇到了有个位要进位,你就要先记住要进的那个位,然后下一位相加的时候,就把刚才进位数也一齐加上去,这时候你计着那个进位的数的那部分脑袋就充当了FLAG了,当然,实际上还要复杂一点。极为有用,请务必熟读。

 FLAG寄存器详解:

条件码标志是根据有关指令的运行结果,由CPU自动设定的。由于这些状态信息会作为之后的转移指令的条件,所以称做条件码。例如下面一个例子:

cmp EAX,EBX   //对比这两个寄存器里面的...
阅读全文 | 评论次数(0) | 浏览次数(431) | 所属类型(X86汇编语言)
页码数(1):  1