反汇编语句求解释
movsxedx,wordptrds:[edx+ecx*2+0x463]已经知道edx的值=0000004e我在call。。。。下了断点得到edx的值是4e就是不知道该怎...
movsx edx,word ptr ds:[edx+ecx*2+0x463]
已经知道edx的值=0000004e
我在call。。。。下了断点得到 edx的值是4e
就是不知道该怎么算出[edx+ecx*2+0x463]得到这个4e 展开
已经知道edx的值=0000004e
我在call。。。。下了断点得到 edx的值是4e
就是不知道该怎么算出[edx+ecx*2+0x463]得到这个4e 展开
3个回答
展开全部
movsx edx,word ptr ds:[edx+ecx*2+0x463]表示:
从地址ds:[edx+ecx*2+0x463]处取出一个word(16bit),扩展为double word(32bit),存入32位寄存器edx中。
地址ds:[edx+ecx*2+0x463]处的连续两个字节为4e 00,在小端模式下低地址存低字节,所以该处的word值为004e,扩展为double word即在高位补上0,结果即为00 00 00 00 4e
ds:[edx+ecx*2+0x463]地址的计算:
使用的是段地址(ds)加偏移量(edx+ecx*2+0x463)的方式,即ds*16+(edx+ecx*2+0x463)
从地址ds:[edx+ecx*2+0x463]处取出一个word(16bit),扩展为double word(32bit),存入32位寄存器edx中。
地址ds:[edx+ecx*2+0x463]处的连续两个字节为4e 00,在小端模式下低地址存低字节,所以该处的word值为004e,扩展为double word即在高位补上0,结果即为00 00 00 00 4e
ds:[edx+ecx*2+0x463]地址的计算:
使用的是段地址(ds)加偏移量(edx+ecx*2+0x463)的方式,即ds*16+(edx+ecx*2+0x463)
展开全部
地址word ptr ds:[edx+ecx*2+0x463] 指向的内存位置的 内容是 4E 00
就是从这个内存地址里面读出来两个字节 扩展放到edx里面了
就是从这个内存地址里面读出来两个字节 扩展放到edx里面了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
从edx+ecx*2+0x463取一个字到edx中,可以自己算一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询