![]() | |
| |||||||
| Home | Register | Blogs | FAQ | Members List | Calendar | Downloads | Arcade | Mark Forums Read |
| Algorithms The source of algorithms for your project |
![]() |
| | LinkBack | Thread Tools | Display Modes |
| | #1 |
| Administrator Join Date: Sep 2001 Location: South Korea, Gumi
Posts: 7,164
Blog Entries: 15 Rep Power: 10 Reputation:
298 | Замена значений двух чисел Если значения переменных уже лежат в регистрах, то эффективно обменять их можно вот так: a xor= b b xor= a a xor= b xor= по аналогии с операциями с присваиванием в С, такие как |=, += и т.д. Т.е. значение в 'а' xor-ится значением из 'b' и остаётся в 'а' и т.д. Всего три такта и без использования дополнительного регистра/памяти. |
| | |
| | #2 |
| Грустно... | Технология известна В молодости на ассемблере так писал.xor ax, bx xor bx, ax xor ax, bx ![]()
__________________ http://аvitya.livejournal.com Хотели, как лучше, а получилось даже хуже... Лозунг шахматиста: На каждый шах - ответим матом! |
| | |