首页
社区
课程
招聘
小弟不才请问CMP指令
发表于: 2006-3-16 21:40 3841

小弟不才请问CMP指令

2006-3-16 21:40
3841
请问一下CMP指令是怎么影响旗标的阿~
看了本书写
CMP AL,50H
执行前AL=72H
执行后旗标便成
CF=0 SF=0 PF=1 AF=0 OF=0
CMP AL,CL
执行前
AL=01H CL=03H
执行后旗标便成
CF=1 SF=1 PF=0 AF=1 OF=0
为什么呢??~
初新者发问…

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 196
活跃值: (135)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
2
我个人的理解如下:
  在执行时,它会用CL中的值减去50H,所以CF为1,AF
  也为1 ,而SF为1表示此时结果为一个有符号数,而有
  符号 数不存在OF为1,所以它为0,,PF就比较简单了
  ,它此时意味着结果有奇数个1
TO:楼上,如果我错了,别拍砖中^-^
2006-3-16 23:01
0
雪    币: 215
活跃值: (85)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
强人啊。学习。
能不能把test设置标志位也给将一讲。谢谢
2006-3-17 01:38
0
雪    币: 157
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
虚心学习中。。。
2006-3-17 08:13
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
不好意思~
还是有点不懂~
不懂在于~
用CL减去50H??
这句是在说我的第一个问题吗??
因为我上面有2个问题
第一个跟第二个是分开来的~
所以~用CL减去50H就有点不懂了
另外第2个问题~SF为1我知道它是符号旗标
他为1表示为负数(有正负时)~就是领导位为1
为什么有符号数不存在OF为1~
小弟不才~不知道能不能分的更细点说明呢~感谢~
2006-3-24 22:43
0
雪    币: 222
活跃值: (72)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
6
CMP  是 Sub, 减运算
TEST 是 And, 与运算

他们的区别是不修改寄存器, 只修改标志位
2006-3-25 08:19
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
去看Intel的手册吧
什么情况怎么变
一清二楚的
2006-3-25 15:18
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
不好意思~
Intel手册~那是瞎咪-.-我没有那种东西
2006-3-26 00:16
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
汇编里面有详细讲解这些标志位的用途和用法的
2006-3-27 06:58
0
游客
登录 | 注册 方可回帖
返回
//