请大神给解释下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次。
刚开始学习汇编 晕头转向的!
很不错的学习方法遇到困难会接请教! 你给人家解释下哈 eax只有一个 如果被改变的话就是被改变的值 当然不是了。和63330D是不一样的,具体是什么值要看内存单元中的数据。 谢谢5楼了 这里我好像已经懂了
MOV EAX,DWORD PTR DS: //这里是去 63330D这个地址的内容
MOV EAX,DWORD PTR DS:/这里是取 (63330D这个地址的内容+70 ) 这个内存地址的内容
要是 这样 也合法的话
MOV EAX,EAX+70
和上面 是不一样的 EAX+70 是内存地址 ,但没有[]的话 不会寻址 最后EAX 是一个内存的地址,而不是内存地址的 值
这样理解 不知道 对不对 ? 楼主 请看: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]