Пересылка и арифметические команды

Команды пересылки и обмена

Одна из основных команд языка ассемблер – это команда пересылки. С её помощью можно записать в регистр значение другого регистра, константу или значение ячейки памяти, а также можно записать в ячейку памяти значение регистра или константу. Команда имеет следующий синтаксис:

MOV <операнд1>, <операнд2>

По команде MOV значение второго операнда записывается в первый операнд. Операнды должны иметь одинаковый размер. Команда не меняет флаги.

mov eax, ebx; Пересылаем значение регистра EBX в регистр EAX

mov eax, 0ffffh; Записываем в регистр EAX шестнадцатеричное значение ffff

mov x, 0; Записываем в переменную x значение 0

mov eax, x; Переслать значение из одной ячейки памяти в другую нельзя.

mov y, eax; Но можно использовать две команды MOV.

На самом деле процессор имеет много команд пересылки – код команды зависит от того, куда и откуда пересылаются данные. Но компилятор языка ассемблера сам выбирает нужный код в зависимости от операндов, так что, с точки зрения программиста, команда пересылки только одна.

Для перестановки двух величин используется команда обмена:

XCHG <операнд1>, <операнд2>

Каждый из операндов может быть регистром или ячейкой памяти. Однако переставить содержимое двух регистров можно, а двух ячеек памяти – нет. Операнды должны иметь одинаковый размер. Команда не меняет флаги.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: