汇编传指针

写接口实验程序,想写个函数,函数里读入一个数字,存到内存一个变量里,传了变量的偏移值进去,函数里怎么也写不进内存,调了很长时间后才发现mov [bp+4],ax是不对的,[bp+4]只取出了地址,想在写进去还要再寻一次值,我觉得一般的办法就是寄存器间接寻址了,加一条:

MOV SI,[BP+4]

MOV [SI],AX

这里寄存器只能用BX,BP,SI,DI,对32位汇编可以使用EAX,EBX,ECX,EDX,ESI,EDI,EBP,ESP

当然如果用invoke指令应该会简单很多.....

C语言还是最伟大的语言啊,简化多少操作.....

原文地址:https://www.cnblogs.com/sdqxcxh/p/1798992.html