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

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

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 209 210 211 212 213 214 < 215 > 216 217 218 219 220 221 .. 528 >> Следующая

которого указан во втором байте команды PC = PC + 002 (SP) <= PCL SP = SP
- 1 (SP) <= PCH SP = SP - 1 PC= PC + Rel, где Rel - код смещения REL

SWI Программное прерывание. PC = PC + 01 (SP) <= PCL SP = SP - 1
(SP)<=PCH SP = SP-1 (SP) <= X SP = SP - 1 (SP) <= A SP = SP - 1 (SP) <=
CCR SP = SP - 1 1 = 1, установка глобальной маски прерывания РСН<=
($FFFC) PCH <= ($FFFD) Счетчик команд загружается вектором программного
прерывания из ячеек памяти SFFFC и SFFFD PC = PC + 01 (SP) <= PCL SP
= SP - 1 (SP) <= PCH SP = SP - 1 (SP) <= X SP= SP - 1 (SP) <= A SP= SP -
1 (SP) <= CCR SP = SP - 1 1 = 1, установка глобальной маски прерывания
PCH <= ($FFFC) PCH <= ($FFFD) INH 1
383
8-РАЗРЯДНЫЕ МИКРОКОНТРОЛЛЕРЫ
Продолжение табл. 4.29
Мнемокод Операция Выполняемое действие Способ адресации Влияние на
признаки
V н i N Z с
RTS Возврат из подпрограммы. Адрес возврата загружается из стека в
счетчик команд SP = SP + 1 РСН <= (SP) SP = SP + 1 PCL <= (SP) INH

RTI Возврат из прерывания.Восстанавливается содержимое регистров CPU и
счетчика команд SP = SP + 1 CCR <= (SP) SP = SP + 1 А <= (SP) SP = SP +
1 X <= (SP) SP = SP + 1 РСН <= (SP) SP = SP + 1 PCL <= (SP) INH г
г г г t г
RSP Установить регистр указатель стека в состояние $FF SP <= $FF INH

PSHA Загрузить аккумулятор АСС в стек Push (А); SP<= (SP) - $0001 INH

PSHH Загрузить старший байт индексного регистра Н в стек Push (H);
SP<= (SP) - $0001 INH
PSHX Загрузить младший байт индексного регистра X в стек Push (X);
SP<= (SP)-$0001 INH
PULA Восстановить аккумулятор АСС из стека SP<= (SP+$0001); Pull (A)
INH
PULH Восстановить старший байт индексного регистра Н из стека SP<=
(SP+$0001); Pull (H) INH
PULX Восстановить младший байт индексного регистра X из стека SP<=
(SP+$0001); Pull (X) INH
Среди команд вызова подпрограмм и обслуживания прерываний следует
выделить команду программного немаскируемого прерывания SWI. Механизм
программного прерывания позволяет обратиться к какой-либо подпрограмме
прерывания по ходу выполнения прикладной программы и воспользоваться
подпрограммой прерывания как обычной подпрограммой. Наличие в системе
команд инструкции программного прерывания SWI предоставляет такую
возможность. Эта команда автоматически загружает в стек регистры CCR,
АСС, X и увеличенное на единицу содержимое счетчика команд PC, а затем
осуществляет переход по адресу, который указан в ячейках памяти $FFFC и
$FFFD сегмента векторов прерывания. Этот адрес может быть начальным
адресом подпрограммы прерывания или же находиться внутри нее. При выходе
из подпрограммы прерывания команда RTI восстановит содержимое регистров
центрального процессора, и МК продолжит выполнение прикладной программы с
команды, которая была следующей за командой SWI. Таким образом,
программисту предоставляется возможность обращения в произвольный момент
времени к фрагменту подпрограммы прерывания, который начинается с
произвольно выбранной инструкции внутри подпрограммы прерывания, но
заканчивается обязательно командой RTI.
384
I
СЕМЕЙСТВО МК НС08 ФИРМЫ "MOTOROLA"
Команды управления режимами энергопотребления. Команды WAIT и STOP
переводят МК в один из режимов пониженного энергопотребления (табл.
4.30).
Таблица 4.30
Команды перехода к режимам пониженного энергопотребления
Мнемокод Операция Выполняемое действие Способ адресации Влияние на
признаки
V Н I N Z С
WAIT Переводит МК в режим ожидания (Wait mode) I бит <= 0 INH
-
STOP Переводит МК в режим оста нова (Stop mode) I бит <= 0; Stop
Oscillator INH -
4.3.4. СРАВНИТЕЛЬНЫЙ АНАЛИЗ СИСТЕМЫ КОМАНД MCS-51 И НС08
В предыдущих разделах вы познакомились с двумя представителями CISC-
архитектуры в классе 8-разрядных МК. Процессорное ядро MCS-51 выполнено
по гарвардской архитектуре с раздельным адресным пространством памяти
программ и памяти данных. Напротив, процессорное ядро НС08 использует
принстонскую архитектуру с объединенным адресным пространством.
Соответственно отличаются и системы команд. Однако не все отличия
обусловлены способами доступа к тем или иным ячейкам памяти. Значительную
часть определяет техническое творчество разработчиков ядра и традиции
фирмы. Последнее не является лишь данью истории:
• во-первых, многие решения проверены десятилетиями, и именно это
обстоятельство обеспечивает высокую надежность БИС;
• во-вторых, использование новых моделей МК в значительной степени
определяется возможностью использования имеющихся наработок программного
обеспечения. Поэтому при разработке нового процессорного ядра фактор
программной совместимости стоит на одном из первых мест.
Однако, к счастью, последнее не всегда берет верх в технической политике.
Иначе принципиально новые решения были бы невозможными.
Итак, сравним два процессорных ядра.
• Несмотря на кажущиеся принципиальные отличия, и в архитектуре MCS-51, и
в НС08 нулевая страница оперативной памяти данных (00h - OFFh) занимает
Предыдущая << 1 .. 209 210 211 212 213 214 < 215 > 216 217 218 219 220 221 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

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

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed