免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2843 | 回复: 3
打印 上一主题 下一主题

关于intel指令的疑问,难道是手册错了? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-10-27 18:38 |只看该作者 |倒序浏览
intel新版本手册指令:
   51 SQRTPS Wps,Vps
66 51 SQRTPD Wpd,Vpd
F3 51 SQRTSS  Vss,Wss
F2 51 SQRTSD  Vsd,Wsd
老版本:
   51 SQRTPS Vps,Wps
66 51 SQRTPD Vpd,Wpd
F3 51 SQRTSS  Vss,Wss
F2 51 SQRTSD  Vsd,Wsd

按理说应该是按照新版本的,但是我查了一下,新版旧版指令描述都是一样的:
SQRTPS xmm1, xmm2/m128
SQRTSD xmm1, xmm2/m64
...
按它描述的。那就应该都是Vxx,Wxx,但为什么新版有些改了Wxx,Vxx呢?

参照AMD手册同intel旧版手册是一样的,OD,WinDBG翻译的指令也是同旧版手册一样,但我怀疑OD、WinDBG编写的时候就是使用的旧版手册,现在我很矛盾,我到底要参照旧版手册还是新版手册?难道旧版是对的,新版给改错了?那为什么描述却没有变,还和旧版的一样?

论坛徽章:
1
白羊座
日期:2014-01-14 17:31:01
受到警告 2 [报告]
发表于 2010-10-28 08:11 |只看该作者
顶一下!

论坛徽章:
0
3 [报告]
发表于 2010-11-12 23:29 |只看该作者
新版手册的确是错了,在SQRTPS xmm1, xmm2/m128 指令下面的Instruction Operand Encoding里,明确说明了这条指令的 Operand 1 为ModRM:reg (w),Operand 2为ModRM:r/m (r), 根据opcode map前头的说明V 表示reg, W表示r/m,所以正确的表示就是 Vps, Wps。

论坛徽章:
0
4 [报告]
发表于 2010-12-05 20:03 |只看该作者
额,原来手册也有错误
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP