如题,变量A,B进行互换,但不许使用第三个中间变量,如何实现?
如题,变量A,B进行互换,但不许使用第三个中间变量,如何实现?
假设a b 不等
a = a^b
b = b^a
a = a^b
delphi
asm
mov eax, A
mov edx,B
xchg eax,edx
mov A,Eax
mov B,Edx
end;
push a
push b
pop a
pop b
既然这样了,为什么不如此操作?引用:
最初由 nig发布 (帖子 312346)delphi
asm
mov eax, A
mov edx,B
xchg eax,edx
mov A,Eax
mov B,Edx
end;
如果是A,B是独立数的话,也可以:代码:asm
mov eax,A
mov edx,B
mov A,edx
mov B,eax
end;
A=A+B
B=A-B
A=A-B