Assembler - язык неограниченных возможностей


Строковые операции - часть 3


/p>

Копирует один байт (LODSB), слово (LODSW) или двойное слово (LODSD) из памяти по адресу DS:ESI (или DS:SI, в зависимости от разрядности адреса) в регистр AL, АХ или ЕАХ соответственно. При использовании формы записи LODS ассемблер сам определяет из типа указанного операнда (принято указывать имя строки, но можно использовать любой операнд подходящего типа), какую из трех форм этой команды (LODSB, LODSW или LODSD) выбрать. Используя LODS с операндом, можно заменить регистр DS на другой с помощью префикса замены сегмента (ES:, GS:, FS:, CS:, SS:). После выполнения команды регистр ESI (SI) увеличивается на 1, 2 или 4 (если считывается байт, слово или двойное слово), если флаг DF = 0, и уменьшается, если DF = 1. При использовании с префиксом REP команда LODS выполнит копирование строки длиной в ЕСХ (или СХ), что приведет к тому, что в аккумуляторе окажется последний элемент строки. На самом деле эту команду используют без префиксов, часто внутри цикла в паре с командой STOS, так что LODS считывает число, другие команды выполняют над ним какие-нибудь действия, а затем STOS записывает измененное число в то же место в памяти.

  • Команда:
  • 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
    <


    Начало  Назад  Вперед