首页
社区
课程
招聘
[已解决][求助]标志位未定义的问题
发表于: 2009-7-29 01:29 4964

[已解决][求助]标志位未定义的问题

2009-7-29 01:29
4964
Intel开发者手册第一卷<<附录A Eflags交叉索引>>中有一个表,罗列的是各指令对标志寄存器Eflags的影响。
    问题:如下图,最后一行,符号"-"表示未定义,其中空格表示无影响.IDIV对OF,SF等都是未定义的.这里的未定义实在让我费解.
    实验如下:用OD加载一个程序,输入:(其中mov和cdq指令是不改变任何标志位的)
设此时SF=0
mov  eax, -2
cdq
mov  ecx, 2
idiv ecx

运行SF未被改变,

再输入:
设此时SF=0
mov  eax, 2
cdq
mov  ecx, -2
idiv ecx

SF仍未被改变,

设此时ZF=0
mov  eax, 0
cdq
mov  ecx, 2
idiv ecx

ZF也未被改变.
    如果idiv不影响CF和SF标志位应当被定义为不影响,即对应符号空格.难道这里的未定义指的是不可预知或者不可预料,无法文档化?

[课程]Linux pwn 探索篇!

上传的附件:
  • 1.JPG (191.36kb,32次下载)
收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 0
活跃值: (954)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
2
楼主要预先设置标志位的!!
2009-7-29 08:13
0
雪    币: 558
活跃值: (43)
能力值: ( LV12,RANK:220 )
在线值:
发帖
回帖
粉丝
3
你指的是用SAHF,POPFD设置eflags的特定位吗?

逻辑上以下代码执行后SF应该为1,
mov  eax, -2
cdq
mov  ecx, 2
idiv ecx


应该怎么预先设定标志位?
2009-7-29 09:18
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
4
未定义就不要拿来做任何用途吧
上传的附件:
2009-7-29 09:42
0
雪    币: 331
活跃值: (57)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
5
难道这里的未定义指的是不可预知或者不可预料

我就是这么认为的……
2009-7-29 11:56
0
雪    币: 558
活跃值: (43)
能力值: ( LV12,RANK:220 )
在线值:
发帖
回帖
粉丝
6
目前来看sessiondiy所言才是正解,非常感谢!~~
看来我还应当再好好翻翻手册
2009-7-29 14:53
0
游客
登录 | 注册 方可回帖
返回
//