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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!