Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lec_asm_06_3495.doc
Скачиваний:
1
Добавлен:
03.01.2020
Размер:
178.18 Кб
Скачать

1.3. Регистры указателей и индексов

Доступ к данным осуществляется за счет выбора номера блока из соответ­ствующего регистра сегмента, а смещения – из другого регистра.

Регистры указателей:

SP – указатель стека

ВР – указатель базы

обеспечивают системе доступ к данным в сегменте стека. Номер блока извлекается из регистра SS, а смещение – из регистров SP или ВР. Реже они используются для операций сложения и вычитания.

Индексные регистры:

Оба индексных регистра могут применяться для расширенной адресации и для использования в операциях сложения и вычитания.

SI – индекс источника

при использовании для операций над строками связан с регистром DS,

DI –индекс приемника

при использовании для операций над строками связан с регистром ES.

1.4. Регистр командного указателя

Регистр IP содержит смещение на команду, которая должна быть выполнена.

Для вычисления адреса следующей исполня­емой команды микропроцессор 8088 извлекает номер блока памяти из регистра CS, а смеще­ние – из регистра IP.

1.5. Флаговый регистр

Во флаговом регистре являются активными 9 из 16 бит. Биты регистра определяют текущее состояние машины и результаты выполнения команд. Многие арифметические команды и команды сравнения изменяют состояние флагов. Рассмотрим назначение флаговых битов:

OF – переполнение – указывает на переполнение старшего бита при арифметических командах;

DF – направление – обозначает левое или правое направление при работе со строками;

IF – прерывание – разрешает микропроцессору реагировать на прерывания от внешних устройств;

ТF – пошаговый режим – обеспечивает возможность работы процессора в пошаговом режиме и используется при отладке программ;

SF – знак – содержит результирующий знак после арифметических

операций над числами со знаком (0 – плюс, 1 – минус).

ZF – ноль – показывает результат арифметических операций и операций сравнения (0 – ненулевой, 1 – нулевой результат).

АF – внешний перенос – содержит перенос из 3-го бита для 8-битовых данных, используется для специальных арифметических операций.

РF – контроль четности – показывает четность младших 8-битовых данных (1 – четное и 0 – нечетное число).

СF – перенос – содержит перенос из старшего бита после арифметических операций, а также последний бит при сдвигах или циклических сдвигах.

2. Структура и процесс разработки программы на языке ассемблера

Язык ассемблера имеет два достоинства: с одной стороны, он позво­ляет писать программы на уровне команд микропроцессора, а с другой сторо­ны, не требует запоминания числовых кодов команд, которыми оперирует процессор. Язык ассемблера оперирует символическими мнемокодами вместо машинных команд и описательными именами для полей данных и адресов памяти.

Процесс подготовки ассемблерной программы к выполнению состоит из трех этапов.

Сначала записывается исходная программа, содержащая ассемблерной команды.

Затем исходная программа транслируется в машинный код, называемый объектной программой.

И наконец, программа компоновщик или загрузчик генерирует загрузочный модуль на основе одной или нескольких объектных программ.

Программа на языке ассемблера представляет собой последовательность операторов, описывающих выполняемые действия. Операто­ром исходной программы может быть или команда, или псевдооператор языка ассемблера.

Команды языка ассемблера представляют собой краткую нотацию системы ко­манд микропроцессора 8088.

Псевдооператоры сообщают программе, производящей ассемблирование (Ассемблеру), что ей делать с вводимыми командами и данными.

Операторы любого вида могут включать в себя операции, которые дают Ассем­блеру информацию об операндах, относительно которых нет полной определенно­сти. Существует несколько видов операций, например, арифметические, логические.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]