Команды STOS, STOSB, STOSW, STOSD
Рубрика: Архитектура PC
(Команды CPU)
16386
Опубликовано: 08.05.2017
Команды STOS, STOSB, STOSW, STOSD предназначены для сохранения значения регистра AL, AX, EAX в область памяти по заданному адресу.
Команда STOS
| Синтаксис: | STOS op1 |
| Операнды: | op1 - m8, m16, m32 |
| Назначение: | Запись в строку |
| Процессор: | 8086+ |
| Флаги: | Не изменяются |
| Комментарий: | Команда STOS на самом деле не является командой процессора. Когда в тексте программы встречается эта команда, компилятор вычисляет размерность ее операнда и на основании вычислений подставляет на ее место одну из реальных команд процессора STOSB, STOSW или STOSD. |
| Ограничения: | Нет |
| Примеры: |
stos es:str2 |
Команда STOSB
| Синтаксис: | STOSB |
| Операнды: | Нет |
| Назначение: | Запись байта в строку |
| Процессор: | 8086+ |
| Флаги: | Не изменяются |
| Комментарий: | Команда STOSB сохраняет регистр AL в ячейке памяти по адресу ES:DI. После выполнения команды, регистр DI увеличивается на 1, если флаг DF = 0, или уменьшается на 1, если DF = 1. Если команда используется в 32-разрядном режиме адресации, то используется регистр EDI. |
| Ограничения: | Нет |
| Примеры: |
mov di,offset str1 cld stosb |
Команда STOSW
| Синтаксис: | STOSW |
| Операнды: | Нет |
| Назначение: | Запись слова в строку |
| Процессор: | 8086+ |
| Флаги: | Не изменяются |
| Комментарий: | Команда STOSW сохраняет регистр AX в ячейке памяти по адресу ES:DI. После выполнения команды, регистр DI увеличивается на 2, если флаг DF = 0, или уменьшается на 2, если DF = 1. Если команда используется в 32-разрядном режиме адресации, то используется регистр EDI. |
| Ограничения: | Нет |
| Примеры: |
mov di,offset str1 cld stosw |
Команда STOSD
| Синтаксис: | STOSD |
| Операнды: | Нет |
| Назначение: | Запись двойного слова в строку |
| Процессор: | 8086+ |
| Флаги: | Не изменяются |
| Комментарий: | Команда STOSD сохраняет регистр EAX в ячейке памяти по адресу ES:DI. После выполнения команды, регистр DI увеличивается на 4, если флаг DF = 0, или уменьшается на 4, если DF = 1. Если команда используется в 32-разрядном режиме адресации, то используется регистр EDI. |
| Ограничения: | Нет |
| Примеры: |
mov di,offset str1 cld stosd |
Комментарии (0)