Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы по СПО(2 часть).docx
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
101.14 Кб
Скачать
  1. Строковые операции: stos, stosb, stosw, stosd, ins, insb, insw, insd, outs, outsb, outsw, outsd.

 Команда:

STOS приемник

 Назначение:

Запись в строку

 Процессор:

8086

 Команда:

STOSB

 Назначение:

Запись байта в строку

 Процессор:

8086

 Команда:

STOSW

 Назначение:

Запись слова в строку

 Процессор:

8086

 Команда:

STOSD

 Назначение:

Запись двойного слова в строку

 Процессор:

80386

Копирует регистр AL (STOSB), AX (STOSW) или ЕАХ (STOSD) в память по адресу ES:EDI (или ES:DI, в зависимости от разрядности адреса). При использовании формы записи STOS ассемблер сам определяет из типа указанного операнда (принято указывать имя строки, но можно использовать любой операнд подходящего типа), какую из трех форм этой команды (STOSB, STOSW или STOSD) выбрать. После выполнения команды регистр EDI (DI) увеличивается на 1, 2 или 4 (если копируется байт, слово или двойное слово), если флаг DF = 0, и уменьшается, если DF = 1. При использовании с префиксом REP команда STOS заполнит строку длиной в ЕСХ (или СХ) числом, находящимся в аккумуляторе.

 Команда:

INS источник, DX

 Назначение:

Чтение строки из порта

 Процессор:

80186

 Команда:

INSB

 Назначение:

Чтение строки байт из порта

 Процессор:

80186

 Команда:

INSW

 Назначение:

Чтение строки слов из порта

 Процессор:

80186

 Команда:

INSD

 Назначение:

Чтение строки двойных слов из порта

 Процессор:

80386

Считывает из порта ввода-вывода, номер которого указан в регистре DX, байт (INSB), слово (INSW) или двойное слово (INSD) в память по адресу ES:EDI (или ES:DI, в зависимости от разрядности адреса). При использовании формы записи INS ассемблер определяет из типа указанного операнда, какую из трех форм этой команды (INSB, INSW или INSD) употребить. После выполнения команды регистр EDI (DI) увеличивается на 1, 2 или 4 (если считывается байт, слово или двойное слово), если флаг DF = 0, и уменьшается, если DF = 1. При использовании с префиксом REP команда INS считывает блок данных из порта длиной в ЕСХ (или СХ) байт, слов или двойных слов.

 Команда:

OUTS DX, приемник

 Назначение:

Запись строки в порт

 Процессор:

80186

 Команда:

OUTSB

 Назначение:

Запись строки байт в порт

 Процессор:

80186

 Команда:

OUTSW

 Назначение:

Запись строки слов в порт

 Процессор:

80186

 Команда:

OUTSD

 Назначение:

Запись строки двойных слов в порт

 Процессор:

80386

Записывает в порт ввода-вывода, номер которого указан в регистре DX, байт (OUTSB), слово (OUTSW) или двойное слово (OUTSD) из памяти по адресу DS:ESI (или DS:SI, в зависимости от разрядности адреса). При использовании формы записи OUTS ассемблер определяет из типа указанного операнда, какую из трех форм этой команды (OUTSB, OUTSW или OUTSD) употребить. Используя OUTS с операндами, также можно заменить регистр DS на другой с помощью префикса замены сегмента (ES:, GS:, FS:, CS:, SS:). После выполнения команды регистр ESI (SI) увеличивается на 1, 2 или 4 (если считывается байт, слово или двойное слово), если флаг DF = 0, и уменьшается, если DF = 1. При использовании с префиксом REP команда OUTS записывает блок данных размером в ЕСХ (или СХ) байт, слов или двойных слов в указанный порт. Все процессоры вплоть до Pentium не проверяли готовность порта принять новые данные в ходе выполнения команды REP OUTS, так что, если порт не успевал обрабатывать информацию с той скоростью, с которой ее поставляла эта команда, часть данных терялась.