问题描述
我创建了以下流程:
labOne PROC USES esi eax ebx ecx edi,pX1:DWORD,pY1:PTR DWORD,pY2:PTR DWORD,pY3:PTR DWORD,pY4:PTR DWORD
当我将 pX1 地址移动到 esi 寄存器时,它会移动 pY1 的地址。当我移动到寄存器 pY1 时,它会移动 pY2 的地址等等。
地址好像被转移了。
这是 labOne 的原型:
labOne PROTO,:dword,:PTR dword,:PTR dword
调用:
INVOKE labOne,ADDR X,ADDR Y1,ADDR Y2,ADDR Y3,ADDR Y4
.数据:
X dd 32127212h,43121153h,21344214h,0064216340h,23243245h,51542145h
Y1 dd 6 DUP(0FFFFFFFFh)
Y2 dd 6 DUP(0FFFFFFFFh)
Y3 dd 6 DUP(0FFFFFFFFh)
Y4 dd 6 DUP(0FFFFFFFFh)
mov esi,pX1 screen
addresses 请帮忙,也许我没有注意到什么?
解决方法
问题是我用过
.386
.model medium,stdcall
代替
.686
.model flat,stdcall