C - флаг переноса (CarryFlag)
Nbsp;
Назначение выводов корпуса МКMC9S08QG8
Карта памяти
Регистры портов ввода/вывода расположены в общей карте памяти и не требуют для обращения специальных команд. | $0000 $005F | Порты ввода/вывода и регистры специальных функций |
Обращение к ячейкам ОЗУ и ПЗУ не требует применения разных типов команд. | $0060 $025F | ОЗУ пользователя 512байт |
$1800
$184F | Неиспользованная область адресов | |
Старший банк специальных функций регистров | ||
Неиспользованная область адресов | ||
$E000 $FFBF | Память программ FLASH 8032байта | |
Произвольный выбор векторов сброса и прерываний сокращает время обслуживания внешних устройств и создает удобство программисту . | $FFC0 $FFFF | Вектора прерывания и сброса 64 байта |
Распределение адресного пространства МК MC9S08QG8
Программно-логическая модель процессора HCS08
Центральный процессор МК семейства HCS08 (далее CPU08) выполняет действия над 8-разрядными операндами. Программная модель CPU08 (рис.1.2) содержит пять регистров, которые не являются частью объединенного адресного пространства, и, следовательно, для обращения к ним должны быть использованы специальные команды.
Аккумулятор (АСС) – 8-разрядный регистр, в котором хранятся операнды, результаты арифметических и логических операций. Сброс не изменяет состояние ACC.
Индексный регистр (H:X)– 16-разрядный регистр (H-старший байт, X-младший байт). Основное назначение индексного регистра – участие в формировании адреса операнда в режимах индексной адресации. Индексный регистр может также использоваться для хранения промежуточных результатов вычислений или как источник одного из операндов в операциях умножения и деления. Система команд CPU08 предусматривает загрузку данных в индексный регистр и выполнение операций над ними как в двухбайтовом, так и в однобайтовом форматах. В последнем случае обращение производится только к младшему байту регистра X. После сброса МК старший байт индексного регистра H принудительно устанавливается в 0. Сброс не изменяет состояние младшего байта индексного регистра X.
|
|
Программный счетчик (PC) – 16-разрядный регистр, содержит адрес текущей команды, либо адрес операнда, используемого в текущей команде. После сброса МК программный счетчик автоматически загружается вектором начального запуска, который записан в ячейках памяти
резидентного ПЗУ с адресами $FFFE (старший байт) и $FFFF (младший байт). Вектор начального запуска является адресом начала прикладной программы управления.
Указатель стека (SP) - 16-разрядный регистр, содержит адрес верхушки стека. Глубина стека МК семейства HCS08 ограничена только объемом резидентного ОЗУ. Вызов подпрограммы использует 2 ячейки стека, прерывание 5 ячеек. При переходе на подпрограмму прерывания CPU08 автоматически сохраняет в стеке программный счетчик PC, аккумулятор АСС, младший байт индексного регистра Х и регистр признаков CCR, но не сохраняет старший байт индексного регистра Н. При сбросе МК указатель стека устанавливается в состояние $00FF, назначая область стека в нулевую страницу ОЗУ МК.
|
|
Регистр признаков (CCR) - 8-разрядный регистр, содержит 5 флагов условий: переноса (C), нулевого результата (Z), отрицательного результата (N), переполнения (V), дополнительного переноса (H) и бит глобальной маски прерывания (I). Особенностью флага нулевого результата Z и флага знака N является установка их после операций пересылки.
1.1. Краткое описание логики установки флагов CPU08:
C - флаг переноса (CarryFlag).
Устанавливается в 1, если в результате операции сложения произошло переполнение из бита 7 разрядной сетки аккумулятора или в результате операции вычитания произошел заем. Часть логических операций могут устанавливать, либо сбрасывать флаг переноса C. CPU08 имеет две специальные команды: CLC - очистить бит переноса, SEC - установить бит переноса. Перевод МК в состояние сброса не влияет на значение бита переноса.
|
|
Дата добавления: 2018-04-04; просмотров: 453; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!