PDA

View Full Version : Замена значений двух чисел


acid
Aug 8, 2004, 16:06
Если значения переменных уже лежат в регистрах, то эффективно обменять их можно вот так:

a xor= b
b xor= a
a xor= b

xor= по аналогии с операциями с присваиванием в С, такие как |=, += и т.д. Т.е. значение в 'а' xor-ится значением из 'b' и остаётся в 'а' и т.д.
Всего три такта и без использования дополнительного регистра/памяти.

Agregat
Aug 9, 2004, 06:36
Технология известна ;) В молодости на ассемблере так писал.
xor ax, bx
xor bx, ax
xor ax, bx
:)