Команды MOVS, MOVSB, MOVSW, MOVSD
Рубрика: Архитектура PC
(Команды CPU)
15962
Опубликовано: 07.05.2017
Команды MOVS, MOVSB, MOVSW, MOVSD используются для копирования одного участка памяти в другой. Копирование может происходить побайтно, словами или двойными словами.
Команда MOVS
Синтаксис: | MOVS op1,op2 |
Операнды: | op1 - m8, m16, m32 op2 - m8, m16, m32 |
Назначение: | Копирование строки |
Процессор: | 8086+ |
Флаги: | Не изменяются |
Комментарий: | Команда MOVS на самом деле не является командой процессора. Когда в тексте программы встречается эта команда, компилятор вычисляет размерность ее операндов и на основании вычислений подставляет на ее место одну из реальных команд процессора MOVSB, MOVSW или MOVSD. |
Ограничения: | Операнды должны иметь один и тот же размер |
Примеры: |
movs str1, es:str2 |
Команда MOVSB
Синтаксис: | MOVSB |
Операнды: | Нет |
Назначение: | Копирование строк байтов |
Процессор: | 8086+ |
Флаги: | Не изменяются |
Комментарий: | Команда MOVSB копирует один байт из ячейки памяти по адресу DS:SI в ячейку памяти по адресу ES:DI. После выполнения команды, регистры SI и DI увеличиваются на 1, если флаг DF = 0, или уменьшаются на 1, если DF = 1. Если команда используется в 32-разрядном режиме адресации, то используются регистры ESI и EDI соответственно. |
Ограничения: | Нет |
Примеры: |
mov si,offset str1 mov di,offset str2 cld movsb |
Команда MOVSW
Синтаксис: | MOVSW |
Операнды: | Нет |
Назначение: | Копирование строк слов |
Процессор: | 8086+ |
Флаги: | Не изменяются |
Комментарий: | Команда MOVSW копирует слово из ячейки памяти по адресу DS:SI в ячейку памяти по адресу ES:DI. После выполнения команды, регистры SI и DI увеличиваются на 2, если флаг DF = 0, или уменьшаются на 2, если DF = 1. Если команда используется в 32-разрядном режиме адресации, то используются регистры ESI и EDI соответственно. |
Ограничения: | Нет |
Примеры: |
mov si,offset str1 mov di,offset str2 cld movsw |
Команда MOVSD
Синтаксис: | MOVSD |
Операнды: | Нет |
Назначение: | Копирование строк двойных слов |
Процессор: | 80386+ |
Флаги: | Не изменяются |
Комментарий: | Команда MOVSD копирует двойное слово из ячейки памяти по адресу DS:SI в ячейку памяти по адресу ES:DI. После выполнения команды, регистры SI и DI увеличиваются на 4, если флаг DF = 0, или уменьшаются на 4, если DF = 1. Если команда используется в 32-разрядном режиме адресации, то используются регистры ESI и EDI соответственно. |
Ограничения: | Нет |
Примеры: |
mov si,offset str1 mov di,offset str2 cld movsd |
Комментарии (0)