Обмен значений двух четырехбайтовых переменных без использования xchg - Assembler

Узнай цену своей работы

Формулировка задачи:

Добрый вечер! Подскажите, пожалуйста, как можно реализовать обмен значений двух четырехбайтовых переменных без использования xchg? Спасибо!

Решение задачи: «Обмен значений двух четырехбайтовых переменных без использования xchg»

textual
Листинг программы
mov eax,12345678h
mov ebx,12345678h
xor eax,ebx; eax=0 ebx=12345678h
xor ebx,eax; eax=0 ebx=12345678h
xor eax,ebx; eax=12345678h ebx=12345678h
;--------------------------------------
mov eax,12345678h
mov ebx,87654321h
xor eax,ebx; eax=95511559h ebx=87654321h
xor ebx,eax; eax=95511559h ebx=12345678h
xor eax,ebx; eax=87654321h ebx=12345678h

Объяснение кода листинга программы

  1. mov eax,12345678h Перемещение значения 12345678 в регистр eax.
  2. mov ebx,12345678h Перемещение значения 12345678 в регистр ebx.
  3. xor eax,ebx; eax=0 ebx=12345678h Операция исключающего ИЛИ (XOR) между eax и ebx. Результат 0 в eax и исходное значение ebx (12345678) в ebx.
  4. xor ebx,eax; eax=0 ebx=12345678h Операция исключающего ИЛИ (XOR) между ebx и eax. Результат 0 в eax и исходное значение ebx (12345678) в ebx.
  5. xor eax,ebx; eax=12345678h ebx=12345678h Операция исключающего ИЛИ (XOR) между eax и ebx. Результат 12345678 в eax и 12345678 в ebx.
  6. mov eax,12345678h Перемещение значения 12345678 в регистр eax.
  7. mov ebx,87654321h Перемещение значения 87654321 в регистр ebx.
  8. xor eax,ebx; eax=95511559h ebx=87654321h Операция исключающего ИЛИ (XOR) между eax и ebx. Результат 95511559 в eax и 87654321 в ebx.
  9. xor ebx,eax; eax=95511559h ebx=12345678h Операция исключающего ИЛИ (XOR) между ebx и eax. Результат 95511559 в eax и 12345678 в ebx.
  10. xor eax,ebx; eax=87654321h ebx=12345678h Операция исключающего ИЛИ (XOR) между eax и ebx. Результат 87654321 в eax и 12345678 в ebx.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4 из 5
Похожие ответы