主题:菜鸟求助!
lullaby
[专家分:70] 发布于 2006-02-22 19:50:00
想交换两个变量的值 ,传地址 , 但为什么总是没交换成功,想了半天也没想明白。
Swap PROC uses eax pValX : ptr dword , pValY : ptr dword
mov eax , [pValX]
xchg eax , [pValY]
mov [pValX] , eax
ret
Swap ENDP
回复列表 (共3个回复)
沙发
erping [专家分:3660] 发布于 2006-02-22 20:43:00
http://www.programfan.com/club/showbbs.asp?id=141521
板凳
lullaby [专家分:70] 发布于 2006-02-23 18:08:00
正确答案我是知道的
但是我就是想不明白我的为什么会错?
Swap PROC uses eax pValX : ptr dword , pValY : ptr dword
mov eax , [pValX]
xchg eax , [pValY]
mov [pValX] , eax
ret
Swap ENDP
pValX 是指针 那[pValX]就是这个指针指向的dword数据,xchg eax,[pValY]以后把eax的值放到了pValY指向的dword数据里,那pValY的值就会跟先不一样,但为什么程序执行后还是没变呢?请达人指教啊。。。
3 楼
dby [专家分:0] 发布于 2006-03-04 15:13:00
我怎么觉着你换了两次
我来回复