Научная литература
booksshare.net -> Добавить материал -> Физика -> Александров Е.К. -> "Микропроцессорные системы" -> 207

Микропроцессорные системы - Александров Е.К.

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 201 202 203 204 205 206 < 207 > 208 209 210 211 212 213 .. 528 >> Следующая

стеке программный счетчик PC, аккумулятор АСС, младший байт индексного
регистра X и регистр признаков CCR, но не сохраняет старший байт
индексного регистра Н. При сбросе МК указатель стека устанавливается в
состояние $00FF, назначая область стека в нулевую страницу ОЗУ МК.
Регистр признаков (CCR)- 8-разрядный регистр, содержит 6 флагов условий:
переноса (С), нулевого результата (Z), отрицательного результата (N),
переполнения (V), дополнительного переноса (Н), бит глобальной маски
прерывания (I). Особенностью флага нулевого результата Z и флага знака N
является установка их после операций пересылки (см. систему команд).
Отличительная особенность ядра CPU08 и всех 8-разрядных процессорных ядер
фирмы "Motorola" - расположение маски прерывания в составе регистра
признаков.
Установка маски прерывания в "1" запрещает все прерывания, кроме
программного по команде SWI. Если запрос на прерывание появится, когда
маска I = 0, то центральный процессор сохранит в стеке содержимое
программного счетчика PC, аккумулятора АСС, младшего байта индексного
регистра X и регистра признаков, установит бит I в "1" и перейдет на
выполнение подпрограммы прерывания. Если запрос на прерывание появится,
когда флаг I = 1, то запрос на прерывание будет запомнен. МК начнет
обрабатывать запрос на прерывание сразу, как только бит I будет очищен.
Инструкция RTI (возврат из прерывания) сбрасывает бит I в "О"
автоматически. CPU08 имеет две специальные команды: CLI - очистить бит
маски, SEI - установить бит маски.
365
8-РАЗРЯДНЫЕ микроконтроллеры
7 О
Сброс: 0000000011111 1 11
Регистр признаков CCR_______
I V М П I НI ' I N | Z ГСП
Сброс: х 1 1 х 1 х х х
Рис. 4.46. Программно-логическая модель центрального процессора МК НС08
В состоянии сброса бит I устанавливается в "1", что запрещает аппаратные
прерывания. Разрешение аппаратных прерываний (установка I в "0") может
быть выполнено только программно командой CLI.
Для выборки операндов из памяти МК семейства НС08 используют следующие
способы адресации:
• неявную (INH - Inherent);
• непосредственную (IMM - Immediate);
• прямую (DIR - Direct);
• прямую расширенную (EXT - Extended);
• индексную (IX - Indexed);
• индексную со смещением в один байт (1X1 - Indexed, 8 bit offset);
• индексную со смещением в два байта (IX2 - Indexed, 16 bit offset);
• индексную с постинкрементированием (IX+ - Indexed with post
incremented;
• индексную со смещением в один байт с постинкрементированием (1X1+ -
Indexed, 8 bit offset with post incremented;
• индексную по указателю стека со смещением в один байт (SP1 - Stack
pointer, 8 bit offset);
• индексную по указателю стека со смещением в два байта (SP2 - Stack
pointer, 16 bit offset);
• относительную (REL - Relative).
Неявная адресация. К инструкциям с неявной адресацией относятся команды,
которые не требуют для своего выполнения каких-либо операндов, например
команда STOP или команда возврата из прерывания RTI.
Неявную адресацию имеют инструкции, которые содержат адрес операнда в
коде команды, например, команда установки бита переноса SEC или команда
инкремента аккумулятора INCA. Все команды с неявной адресацией имеют
длину в 1 байт и состоят только из кода операции.
366
СЕМЕЙСТВО МК НС08 ФИРМЫ "MOTOROLA"
Непосредственная адресация. Код операции команды с непосредственной
адресацией размещается в первом байте. Сразу же за кодом операции следует
1 байт данных. Эти данные не могут быть изменены в ходе выполнения
программы, так как они расположены непосредственно в памяти программ,
т.е. в ПЗУ. Большинство команд с непосредственной адресацией имеют длину
в 2 байта. Условное обозначение операнда в мнемонике команды - #орг:
Примеры.
ADD #орг ;3апись команды ADD с непосредственной адресацией в общем
виде.
ADD #3 ; Сложить содержимое аккумулятора АСС с числом 3,
; результат записать в АСС.
ORA #$0А ; Выполнить операцию поразрядного ИЛИ над содержимым АСС и
; шестнадцатеричным числом $0А. Результат записать в АСС.
Прямая адресация. Команды с прямой адресацией имеют длину 2 байта. Первый
байт предназначен для кода команды, второй байт содержит адрес ячейки
памяти, где хранится операнд. Так как МК семейства НС08 имеют адресное
пространство, превышающее диапазон $00 - $FF, то во втором байте команды
задается только младший байт адреса, а старший автоматически
устанавливается $00. Условное обозначение адреса в мнемонике команды -
орг:
Примеры.
ADD opr ; Запись команды ADD с прямой адресацией в общем виде.
ADD $31 ; Сложить содержимое аккумулятора АСС с содержимым ячейки
памяти
; с адресом $0031. Результат поместить в АСС.
ORA $0А ; Выполнить операцию поразрядного ИЛИ над АСС и содержимым
ячейки
; памяти с адресом $0031. Результат поместить в АСС.
Прямая расширенная адресация. Команды с прямой расширенной адресацией
имеют длину 3 байта. Первый байт предназначен для кода команды, второй и
третий байты содержат адрес ячейки памяти, где хранится операнд. Команды
Предыдущая << 1 .. 201 202 203 204 205 206 < 207 > 208 209 210 211 212 213 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed