//改变内存中 i 的值,但是又不让编译器知道
__asm { mov dword ptr [ebp-4], 20h
- mov dword ptr [ebp-4], 10h mov 是指令,
- 意思是把数据从“源地址”移动到“目的地址”;
- 10h 就是“源地址”,只不过这里用了一个常数而不是地址;
- dword ptr [ebp-4] 就是“目的地址”。
- 其中,ebp你可以理解为一个指针,ebp-4则是向下4的偏移处(刚好就是nA的地址)。
- dword ptr意思是把刚才那个偏移处解释为双字指针,即指向4个字节的内存空间的指针。
此话出处为csdn博文(https://bbs.csdn.net/topics/310068363)下方 nicky_zs于2009-06-09 11:21:58的回复内容。
nicky_zs : https://blog.csdn.net/nicky_zs