- •Внутренняя архитектура.Методы адресации. Команды пересылки данных. Команды передачи управления.
- •2.1. Теоретическая часть.
- •2.1.1. Архитектура центрального процессора.
- •2.1.2. Карта памяти. Назначение регистров.
- •Регистр конфигурации (option).
- •Регистры данных портов (dRn) и установки направления передачи данных (ddRn).
- •Регистры управления (scr), состояния (ssr) и данных (sdr) порта последовательного периферийного интерфейса spi.
- •Регистры сброса (coprst) и управления сбросом (copcr).
- •2.1.3. Методы адресации.
- •2.1.4. Команды пересылки данных.
- •2.1.5. Команды передачи управления.
- •2.2.1. Исследование работы команд пересылки данных.
- •Команды загрузки регистров а и х данными из памяти.
- •Команды модификации памяти.
- •Команды межрегистровой пересылки.
- •Команды условного перехода.
- •Команды работы с подпрограммами.
- •Команда установки указателя стека в исходное состояние.
- •2.3. Контрольные вопросы.
- •2.4. Задания.
Лабораторная
работа N2. Внутренняя архитектура...
Лабораторная работа ¹2.
Внутренняя архитектура.Методы адресации. Команды пересылки данных. Команды передачи управления.
2.1. Теоретическая часть.
В данной работе изучаются:
Ÿвнутренняя архитектура (набор регистров, встроенная память);
методы адресации MC68HC05;
·группа команд пересылки данных;
·группа команд передачи управления.
Рассмотрим архитектуру центрального процессорного устройства (ЦПУ) и структуру памяти МК MC68HC705C8.
2.1.1. Архитектура центрального процессора.
Центральный процессорсодержит пять программно (или косвенно) доступных регистров, структура которых представлена на рисунке 2.1:
Рис.2.1. Регистры ЦПУ.
АККУМУЛЯТОР(À)- это восьмибитовый регистр общего назначения, в котором хранятся операнды, результаты арифметических и догических операций, а также данные, с которыми производятся какие-либо другие действия.
ИНДЕКСНЫЙ РЕГИСТР (X) - используется в качестве смещения при индексном режиме адресации либо как дополнительный аккумулятор. Этот регистр можно загрузить как непосредственно, так и из памяти; значение, находящееся в нем можно сохранить в ячейке памяти или сравнить с ее содержимым.
ПРОГРАММНЫЙ СЧЕТЧИК (PC) - это шестнадцатиразрядный регистр, в котором используются только тринадцать младших битов (старшие три бита ВСЕГДА РАВНЫ НУЛЮ), содержащий адрес команды, следующей за выполняемой или адрес операнда, входящего в код программы. Адресная шина ОЭВМ имеет разрядность 13 бит, что позволяет адресовать до восьми килобайт памяти. Этот регистр НЕ ДОСТУПЕН непосредственно из программы.
УКАЗАТЕЛЬ СТЕКА (SP) - этот регистр также имеет разрядность 13 бит (как и программный счетчик), он содержит адрес следующей свободной ячейки стека. Во время начальной установки или при выполнении командыRSP ("сброс указателя стека") в регистр записывается значение$00FF. Далее, по мере заполнения стека, адрес, содержащийся в регистре, уменьшается. При обращении к области стека семь старших бит адреса ВСЕГДА имеют значение0000011, что обуславливает расположение стека в диапазоне адресов от$00C0äî$00FF, т.е. его объем-64 байта. Следует обратить внимание на то, что при полном заполнении стека, указатель автоматически устанавливается в значение$00FF и записанная ранее информация ТЕРЯЕТСЯ. Вызов подпрограммы требует двух ячеек стека, обработка прерывания - пяти ячеек. Если в программе большой уровень вложенности подпрограмм, то в начале работы программы необходимо использовать командуRSP (ñì. íèæå).
РЕГИСТР ФЛАГОВ (CCR) - содержит пять флагов, которые изменяются в зависимости от выполнения текущей команды. Рассмотрим назначение флагов более подробно.
· ФЛАГ ПОЛУПЕРЕНОСА (H)
устанавливается в единицу при возникновении переноса из бита с номером три в четвертый бит. Флаг используется для операций с числами в двоично-десятичном виде и изменяется командами сложения (ADD) и сложения с переносом (ADC);
· ФЛАГ РАЗРЕШЕНИЯ ПРЕРЫВАНИЙ (I)
при установленном в единицу бите запрещаются все маскируемые прерывания. Флаг устанавливается автоматически при возникновении любого прерывания сразу после сохранения регистров в стеке, но до передачи управления по вектору прерывания. Если при установленном бите Iвозникает внешнее прерывание, то оно запоминается и обрабатывается сразу после сброса бита. По окончании обслуживания программного прерывания командойRTI восстанавливается содержимое регистровPC,X, A èCCR (в обратном порядке). Этот бит можно изменить программно;
·ÔËÀÃОТРИЦАТЕЛЬНОГО РЕЗУЛЬТАТА (N)
устанавливается в единицу, если результат последней операции был отрицательным числом и сбрасывается в обратном случае;
·ÔËÀÃНУЛЕВОГО РЕЗУЛЬТАТА (Z)
флаг устанавливается в единицу, если результатом последней операции был нуль, в противоположном случае он сбрасывается;
·ÔËÀÃПЕРЕНОСА (C)
установленный бит означает, что произошел перенос при сложении (т.е. результат больше $FF) или заем при вычитании. При выполнении некоторых операций сдвига этот бит используется, что дает возможность осуществлять операции сдвига с несколькими словами (байтами).