m2m eax,hInst
和
push hInst
pop eax
为什么两种方式作用相同?
------解决方案--------------------------------------------------------
m2m 是个宏,主要目的是为了方便内存到内存的操作。memory to memory。
因为mov 操作不能实现直接内存到内存的操作,主要有两种方式实现内存到内存的操作,一种是借用一寄存器中转一下即:MOV REG,MEM1 MOV MEM2,REG. 另一种就是利用栈,即:PUSH MEM1 POP MEM2的方式。
m2m 在masm32 中就是利用栈来实现的即:
m2m macro M1, M2
push M2
pop M1
endm
对于内存到寄存器,寄存器到内存的操作,完全可以用,而且应该用 mov 来操作。