Команды LODS, LODSB, LODSW, LODSD
Рубрика: Архитектура PC
(Команды CPU)
17596
Опубликовано: 07.05.2017
Команды LODS, LODSB, LODSW, LODSD загружают байт, слово или двойное слово из памяти по определенному адресу в регистр AL, AX или EAX соответственно. Могут использоваться для копирования какого-то участка памяти в другое место с выполнением над данными каких-либо действий. Используются в паре с командами STOS, STOSB, STOSW, STOSD, которые выполняют обратные действия по сохранению значения регистра в память.
Команда LODS
Синтаксис: | LODS op1 |
Операнды: | op1 - m8, m16, m32 |
Назначение: | Чтение из строки |
Процессор: | 8086+ |
Флаги: | Не изменяются |
Комментарий: | Команда LODS на самом деле не является командой процессора. Когда в тексте программы встречается эта команда, компилятор вычисляет размерность ее операнда и на основании вычислений подставляет на ее место одну из реальных команд процессора LODSB, LODSW или LODSD. |
Ограничения: | Нет |
Примеры: |
lods es:str2 |
Команда LODSB
Синтаксис: | LODSB |
Операнды: | Нет |
Назначение: | Чтение байта из строки |
Процессор: | 8086+ |
Флаги: | Не изменяются |
Комментарий: | Команда LODSB копирует один байт из памяти по адресу DS:SI в регистр AL. После выполнения команды, регистр SI увеличивается на 1, если флаг DF = 0, или уменьшается на 1, если DF = 1. Если команда используется в 32-разрядном режиме адресации, то используется регистр ESI. |
Ограничения: | Нет |
Примеры: |
mov si,offset str1 cld lodsb |
Команда LODSW
Синтаксис: | LODSW |
Операнды: | Нет |
Назначение: | Чтение слова из строки |
Процессор: | 8086+ |
Флаги: | Не изменяются |
Комментарий: | Команда LODSW копирует слово из памяти по адресу DS:SI в регистр AX. После выполнения команды, регистр SI увеличивается на 2, если флаг DF = 0, или уменьшается на 2, если DF = 1. Если команда используется в 32-разрядном режиме адресации, то используется регистр ESI. |
Ограничения: | Нет |
Примеры: |
mov si,offset str1 cld lodsw |
Команда LODSD
Синтаксис: | LODSD |
Операнды: | Нет |
Назначение: | Чтение двойного слова из строки |
Процессор: | 80386+ |
Флаги: | Не изменяются |
Комментарий: | Команда LODSD копирует двойное слово из памяти по адресу DS:SI в регистр EAX. После выполнения команды, регистр SI увеличивается на 4, если флаг DF = 0, или уменьшается на 4, если DF = 1. Если команда используется в 32-разрядном режиме адресации, то используется регистр ESI. |
Ограничения: | Нет |
Примеры: |
mov si,offset str1 cld lodsd |
Комментарии (0)