永远の一瞬 发表于 2012-9-29 22:20:04

请大神给解释下3局汇编代码的含义

MOV EAX,DWORD PTR DS:   // 这里我懂 是取 63330D 这个内存地址的值 放到 EAX 这寄存器里
MOV EAX,DWORD PTR DS:   //这里不太懂 []里的 EAX 是 上句EAX 的值吗?还是63330D 这个地址?
MOV EAX,DWORD PTR DS: //如果 []里的 EAX 是值的话 最后的 EAX 不就是 63330D+70+1DC 这个值吗
为啥还要赋值3次。

刚开始学习汇编 晕头转向的!

网络学习 发表于 2012-9-30 00:02:42

很不错的学习方法遇到困难会接请教!

netpg 发表于 2012-9-30 09:47:58

你给人家解释下哈

冬末、妳已赱 发表于 2012-9-30 10:30:44

eax只有一个 如果被改变的话就是被改变的值

Roc 发表于 2012-9-30 10:58:38

当然不是了。和63330D是不一样的,具体是什么值要看内存单元中的数据。

永远の一瞬 发表于 2012-9-30 14:47:30

谢谢5楼了 这里我好像已经懂了
MOV EAX,DWORD PTR DS: //这里是去 63330D这个地址的内容
MOV EAX,DWORD PTR DS:/这里是取 (63330D这个地址的内容+70 ) 这个内存地址的内容

要是 这样 也合法的话
MOV EAX,EAX+70
和上面 是不一样的 EAX+70 是内存地址 ,但没有[]的话 不会寻址 最后EAX 是一个内存的地址,而不是内存地址的 值

这样理解 不知道 对不对 ?

乱闯 发表于 2012-9-30 21:35:24

楼主 请看:1、 MOV EAX,DWORD PTR DS:   这里是把63330D这个地址里的内容送EAX   设内容为n (n只是方便下面我给楼主解释,没啥意思)
2、指令 MOV EAX,DWORD PTR DS: 相当于MOV EAX,DWORD PTR DS:   (这里就是把n+70这个地址处的内容送EAX )   设内容为m (m只是方便下面我给楼主解释,没啥意思)
3、指令 MOV EAX,DWORD PTR DS:这句的意思是相当于 MOV EAX,DWORD PTR DS:   也就是把m+1DC 处的内容送EAX
希望楼主能明白{:1_1:}
页: [1]
查看完整版本: 请大神给解释下3局汇编代码的含义