Assembler для начинающих

Загрузка и запись


    Листинг ассемблера на Фиг. 4.22 показывает различные строковые
    команды.  Загрузка строки LODS и запись строки STOS являются
    простейшими строковыми командами.  Если программа указывает
    байтовый операнд в команде LODS, то она загружает в регистр AL
    байт, на который указывает пара регистров DS:SI.  Затем она
    изменяет регистр SI на единицу; он увеличивается, либо уменьшается,
    в зависимости от состояния флага направления.  Если команда LODS
    указывает на слово, то она загружает регистр AX и изменяет регистр
    SI на 2.  Команда STOS строго противоположна, и записывает байт из
    регистра AL либо слово из регистра AX в ячейку памяти.  В случае
    записи ячейка определяется парой регистров ES:DI.  Команда записи
    изменяет регистр DI либо на единицу, либо на 2, в зависимости от
    типа операнда.


 
      Программист может писать на ассемблере команду LODS (а также и
    все другие строковые команды) различными способами. Тип операнда
    можно указать частью кода операции, либо ассемдлер может определить
    тип элемента строки, основываясь на операнде, присутствующем в
    команде. Как показано на Фиг. 4.22, команда
 
      LODS EXBYTE
 
      порождает команду загрузки строк байтов, так же как и команда
      LODSB.

           Microsoft (R) Macro Assembler Version 5.00              1/1/80 04:01:26
           Фиг. 4.22 Команды обработки строк                      Page   1-1
 
                                         PAGE    ,132
                                         TITLE   Фиг. 4.22 Команды обработки строк
            0000                   CODE    SEGMENT
                                         ASSUME  CS:CODE,DS:CODE,ES:CODE
            0000                   EXBYTE  LABEL   BYTE
            0000                   EXWORD  LABEL   WORD
            0000                   EXBYTE1 LABEL   BYTE
            0000                   EXWORD1 LABEL   WORD
 
            0000  AC                           LODS    EXBYTE          ; Загрузка AL из DS:SI



Содержание раздела