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

UptoLike

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

STI
CLI
FB
FA
Флаг IF=1 — разрешение аппаратных прерываний;
флаг IF=0 — запрещение аппаратных прерываний.
STC
CMC
CLC
F9
F5
F8
Флаг CF = 1;
флаг CF = -<CF> — инверсия флага CF;
флаг CF = 0.
Другая группа команд позволяет заменять сегмент данных DS,
используемый по умолчанию в командах, оперирующих с данными в
области запоминающего устройства. Имеется в виду dst при
mod<>11
2
(см. главу 3). Замена DS распространяется только на
команду, следующую за командой замены сегмента. Эти команды
называют префиксом замены сегмента или просто префиксом сегмента.
Команды префиксов сегмента в ассемблере и машинных кодах
приведены в таблице 13.
Таблица 13 — Префиксы замещения сегментов
Ассембле
р
КОП Наименование Комментарий
CS: 2E
Командный префикс
сегмента
SS: 36
Стековый префикс
сегмента
ES: 26
Резервный префикс
сегмента
При формировании
физического адреса
данных вместо сегмента
DS используется
заданный сегмент.
Рассмотрим пример использования префикса сегмента.
Пример 1 Пусть в регистре DS=0000, в регистре CS=5FC0.
Необходимо составить фрагмент программы пересылки байта данных из
ячейки памяти с адресом 100 в нулевом сегменте по 105-у адресу
программы, в составе которой должен находится составленный фрагмент
программы.
Ответ: Поскольку программа выполняется в командном сегменте,
то у приемника (dst) необходимо заменить сегмент данных на командный
сегмент. Для источника никаких изменений не требуется, так как в DS по
условиям примера уже содержится нулевое значение. Составляем
фрагмент программы:
XOR AX,AX ; загрузить в АХ ноль и <AX>
MOV DS,AX ;переслать в DS;
MOV AL,[0100] ;AL:=<M
DS:0100
>=<M
0000:0100
>;
CS: ;в следующей команде —CS вместо DS;
MOV [0105],AL ;M
CS:0105=
M
5FC0:0105
:= <AL>;
63
    STI    FB         Флаг IF=1 — разрешение аппаратных прерываний;
    CLI    FA           флаг IF=0 — запрещение аппаратных прерываний.
    STC    F9                          Флаг CF = 1;
    CMC    F5             флаг CF = - — инверсия флага CF;
    CLC    F8                         флаг CF = 0.


     Другая группа команд позволяет заменять сегмент данных DS,
используемый по умолчанию в командах, оперирующих с данными в
области запоминающего устройства. Имеется в виду dst при
mod<>112 (см. главу 3). Замена DS распространяется только на
команду, следующую за командой замены сегмента. Эти команды
называют префиксом замены сегмента или просто префиксом сегмента.
Команды префиксов сегмента в ассемблере и машинных кодах
приведены в таблице 13.

 Таблица 13 — Префиксы замещения сегментов
 Ассембле
             КОП      Наименование              Комментарий
     р
                    Командный префикс        При формировании
    CS:       2E
                          сегмента           физического адреса
                     Стековый префикс      данных вместо сегмента
    SS:       36
                          сегмента            DS используется
                                             заданный сегмент.
                    Резервный префикс
    ES:       26
                          сегмента

    Рассмотрим пример использования префикса сегмента.
          Пример 1 — Пусть в регистре DS=0000, в регистре CS=5FC0.
    Необходимо составить фрагмент программы пересылки байта данных из
    ячейки памяти с адресом 100 в нулевом сегменте — по 105-у адресу
    программы, в составе которой должен находится составленный фрагмент
    программы.
          Ответ: Поскольку программа выполняется в командном сегменте,
    то у приемника (dst) необходимо заменить сегмент данных на командный
    сегмент. Для источника никаких изменений не требуется, так как в DS по
    условиям примера уже содержится нулевое значение. Составляем
    фрагмент программы:

    XOR AX,AX           ; загрузить в АХ ноль и 
MOV DS,AX     ;переслать в DS;
    MOV AL,[0100]      ;AL:==;
    CS:                   ;в следующей команде —CS вместо DS;
    MOV [0105],AL       ;MCS:0105=M5FC0:0105 := ;


                                                                        63