Архитектура микропроцессорной системы. Состав машинных команд и основы программирования микропроцессорной системы на ассемблере. Булатов В.Н. - 61 стр.

UptoLike

Составители: 

MOV ES, AX ; ES значение сегмента приемника;
MOV SI, 15ЗС ; загрузить адрес источника;
MOV DI, 5000 ; загрузить адрес приемника;
MOV CX, 005 ; счетчик CX:= 5
10
число пересылаемых байт;
REP ; повторить пересылку
MOVSB ; пять раз.
Получили классический образец использования цепочной команды.
Теперь можно сделать некоторые выводы, которые необходимо
учитывать при использовании цепочных команд:
— src в цепочной команде всегда M
<DS:SI>
;
— dst в цепочной команде всегда M
<ES:DI>
;
длина элемента цепочки равна байту или слову и задается в
ассемблере команды последней буквой соответственно B и W;
повтор выполнения цепочной команды задается префиксом REP,
стоящим перед цепочной командой;
число повторов выполнения строчной команды в случае
применения префикса REP определяется предварительно заданным
числом в регистре СХ;
направление перебора адресов в SI и DI задается флагом
направления DF: при DF=0 — инкремент; при DF=1 — декремент.
Поскольку оставшиеся нерассмотренные 4 цепочных команды в
основе своей содержат тот же механизм, что и рассмотренная команда
пересылки, дальнейшее изучение цепочных команд построим на их
различии.
Обобщенный код операции выглядит следующим образом:
Здесь:
W=0длина элемента цепочки 1 байт;
W=1длина элемента цепочки 2 байта.
В таблице 10 приведены команды в ассемблере с
комментариями их
действия, привязанные к типу команды. Последние два типа команд
требуют дополнительного пояснения, которые касаются их совместного
использования с префиксом повторения. По сути это арифметические
команды, и они воздействуют на флажки. И префикс повторения перед
этими командами микропроцессором воспринимается по-разному, в
зависимости от кода операции: F2 или F3 (для пересылочных команд это
61
     MOV ES, AX       ; ES значение сегмента приемника;
     MOV SI, 15ЗС        ; загрузить адрес источника;
     MOV DI, 5000        ; загрузить адрес приемника;
     MOV CX, 005         ; счетчик CX:= 510 — число пересылаемых байт;
     REP              ; повторить пересылку
     MOVSB            ; пять раз.
Получили классический образец использования цепочной команды.
          Теперь можно сделать некоторые выводы, которые необходимо
     учитывать при использовании цепочных команд:
     — src в цепочной команде всегда M;
     — dst в цепочной команде всегда M;
     — длина элемента цепочки равна байту или слову и задается в
ассемблере команды последней буквой соответственно B и W;
          — повтор выполнения цепочной команды задается префиксом REP,
     стоящим перед цепочной командой;
          — число повторов выполнения строчной команды в случае
     применения префикса REP определяется предварительно заданным
     числом в регистре СХ;
          — направление перебора адресов в SI и DI задается флагом
     направления DF: при DF=0 — инкремент; при DF=1 — декремент.
          Поскольку оставшиеся нерассмотренные 4 цепочных команды в
     основе своей содержат тот же механизм, что и рассмотренная команда
     пересылки, дальнейшее изучение цепочных команд построим на их
     различии.
          Обобщенный код операции выглядит следующим образом:




Здесь:
     W=0 —длина элемента цепочки 1 байт;
     W=1 —длина элемента цепочки 2 байта.
           В таблице 10 приведены команды в ассемблере с
     комментариями их
     действия, привязанные к типу команды. Последние два типа команд
     требуют дополнительного пояснения, которые касаются их совместного
     использования с префиксом повторения. По сути — это арифметические
     команды, и они воздействуют на флажки. И префикс повторения перед
     этими командами микропроцессором воспринимается по-разному, в
     зависимости от кода операции: F2 или F3 (для пересылочных команд это

                                                                       61