回 帖 发 新 帖 刷新版面

主题:菜鸟求助!

想交换两个变量的值 ,传地址 , 但为什么总是没交换成功,想了半天也没想明白。

Swap PROC uses eax pValX : ptr dword , pValY : ptr dword
         mov eax , [pValX] 
         xchg eax , [pValY]
         mov [pValX] , eax 
        ret
Swap ENDP

回复列表 (共3个回复)

沙发

http://www.programfan.com/club/showbbs.asp?id=141521

板凳

正确答案我是知道的
但是我就是想不明白我的为什么会错?
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 楼


我怎么觉着你换了两次

我来回复

您尚未登录,请登录后再回复。点此登录或注册