专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 汇编语言

一个蛋疼的机器码有关问题

发布时间:2010-06-14 15:51:27 文章来源:www.iduyao.cn 采编人员:星星草
一个蛋疼的机器码问题
由于最近在研究如何把汇编语言转成机器码,现在大概了解了方法,于是随便找了个程序,

用od反汇编了一下,得到如下指令:
004073C9 |> \8B45 F8 |mov eax,dword ptr ss:[ebp-8]
004073CC |. 25 FF000000 |and eax,0FF
004073D1 |. 8B0D A0524300 |mov ecx,dword ptr ds:[4352A0]
004073D7 |. 33D2 |xor edx,edx
004073D9 |. 66:8B1441 |mov dx,word ptr ds:[ecx+eax*2]
004073DD |. 81E2 03010000 |and edx,103
004073E3 |. 8955 E0 |mov dword ptr ss:[ebp-20],edx
004073E6 |> 837D E0 00 |cmp dword ptr ss:[ebp-20],0

其中的004073D9这行, 机器码是66:8B1441,请问66:是什么意思,怎么来的. 其他代码都可以插手册一一对应的,就这个66:不知道什么意思.

很蛋疼的问题,希望知道的老大指点一下,呵呵.

------解决方案--------------------
66h- Operand-size override prefix is encoded using 66H (66H is also used as a
mandatory prefix for some instructions).
影响立即操作数和寄存器操作数的位数。
比如32位(D=1)中,dx,edx 的ModRM相同,为了区别,加前缀66h 指定为dx 16位寄存器操作数。
Assembly code
                        use32
00000000: 66 8B 14 41   mov dx,[ecx+eax*2]
00000004: 8B 14 41      mov edx,[ecx+eax*2]
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: