32位汇编
本帖最后由 CHECHE55555 于 2020-9-7 18:33 编辑mov ,5的意思是 把5传送到esp+08这个地址里面的值所指的地址 还是 传送到esp+08这个地址
mov eax,dword ptr 的意思是 把esp+08的地址里面的值所指的地址的值传送到eax还是 esp+08的地址的值传送到eax
mov dword ptr ,eax 的意思是 把eax的值给ecx里的值所指的地址 还是 把eax的值给ecx
mov ecx, 的意思是 把esp里的值所指地址的值给ecx还是 esp里的值给ecx
看书之后 红色文字均是答案要是按照前二个第三,四个绿色文字是不是答案(理解有问题?)
如果答案是eax里的值给了ecx 那么为什么不直接mov ecx,eax要中括号干啥。。。。
还是说在中括号 里面有计算 和 没有计算在内的 不是一样的?
我迷糊了,。。:dizzy:我那边出了问题。。
我看了一篇文章之后解惑了。 过来自己解答一下自己的问题。
举个例子来解答吧
如 lea ebx , xxxx;(xxxx为一个变量。)取一下这个变量的地址
此时的 就是 ebx中放着xxxx变量的地址 则表示的是地址指向的值
如果是的话 就是 ebx中存放的地址+4h 指向的值 后面的对, 内存地址cpu寄存器 自己琢磨{:3_41:}建议学下汇编 dword 双字 就是四个字节
ptr pointer缩写 即指针
[]里的数据是一个地址值,这个地址指向一个双字型数据
比如mov eax, dword ptr 把内存地址12345678中的双字型(32位)数据赋给eax
页:
[1]