на всяких попсовых языках это делается так:
a:= a+b;
b:= b-a;
a:=a+b;
b:=-b;
Но тут вазможны варианты с выходом за область лопустимых значений, поэтому лучше использовать оператор XOR вместо +-.
как сделать с xor - сам подумай.
[Ответ]
fishca 17:56 24.05.2007
Правильно что не куришь HepB, быстро сообразил! Спасибо!
[Ответ]
Сообщение от :
Instruction Description
XCHG AX,r16 Exchange r16 with AX
XCHG r16,AXExchange AX with r16
XCHG EAX,r32 Exchange r32 with EAX
XCHG r32,EAXExchange EAX with r32
XCHG r/m8,r8 Exchange r8 (byte register) with byte from r/m8
XCHG r8,r/m8 Exchange byte from r/m8 with r8 (byte register)
XCHG r/m16,r16 Exchange r16 with word from r/m16
XCHG r16,r/m16 Exchange word from r/m16 with r16
XCHG r/m32,r32 Exchange r32 with doubleword from r/m32
XCHG r32,r/m32 Exchange doubleword from r/m32 with r32
Как видишь, как минимум один из операндов должен находиться в регистре. Я не могу вспомнить есть ли вообще команды которые в качестве двух операндов могут принимать значения в виде памяти. Я сомневаюсь что такие вообще есть...
[Ответ]