ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ВСТРОЕННЫХ СИСТЕМ УПРАВЛЕНИЯ НА БАЗЕ ОДНОКРИСТАЛЬНЫХ МИКРОПРОЦЕССОРОВ (МП)
1. Программная модель МП с регистр-аккумуляторной архитектурой
Выполнение определенной функции с помощью микропроцессорного устройства (МПУ) требует изучения особенностей архитектурной организации применяемого МП. Составной частью архитектуры является система команд, т.е. полный набор инструкций, предписывающих МП выполнять на каждом шаге программы элементарные операции. Зная программно-доступные ресурсы МП и принципы перемещения данных, можно с помощью набора команд запрограммировать любую сложную операцию.
Программная модель МПС, построенной на базе однокристального 8-разрядного МП состоит из программно доступных регистров, восьмиразрядных ячеек ОЗУ и восьмиразрядных портов ввода/вывода. Разряды регистров нумеруются справа налево целыми числами начиная с нуля. Программно-доступными регистрами такого МП являются регистры специальных функций (РСФ) и регистры общего назначения (РОН). К регистрам специальных функций относятся: аккумулятор (А), регистр признаков (F), регистр указателя стека (SP), регистр счетчика команд (PC).
Регистр А предназначен для временного хранения одного из операндов, участвующих в арифметических или логических операциях, и полученного результата после ее выполнения. Кроме того, А используется для программно управляемого обмена с внешними устройствами через порты ввода/вывода.
Регистр признаков (F) – это восьмиразрядный регистр, содержащий признаки результата выполнения команд (рис.1.1).
Для большинства команд признаки устанавливаются следующим образом:
признак S – единица, если седьмой разряд результата равен единице, в противном случае – нуль;
признак нуля Z – единица, если во всех разрядах результата нули, в противном случае – нуль;
признак дополнительного переноса AC – единица при переносе из третьего разряда или при займе в третий разряд результата, в противном случае – нуль;
признак четности P – единица, если результат в двоичном коде содержит четное количество единиц, в противном случае – нуль;
признак переноса CY – единица при переносе из седьмого разряда или при займе в седьмой разряд результата, в противном случае – нуль.
Регистр указатель стека (SP) – это шестнадцатиразрядный регистр, который содержит адрес вершины стека. Стек – это динамическая последовательная структура данных в ОЗУ, организованная таким образом, что очередная запись данных всегда осуществляется в вершину (начало) стека. Максимальный размер стека равен адресуемой емкости памяти. В вершину стека могут записываться только шестнадцатибитные данные.
При записи данных в стек содержимое регистра указателя уменьшается на 2, а при считывании – увеличивается на 2.
Регистр счетчика команд (PC) – это шестнадцатиразрядный регистр, указывающий адрес следующей команды, которая должна быть выполнена микропроцессором.
Регистры общего назначения, как правило, обозначаются буквами B, C, D, E, H, L, А. Регистры В и С, D и E, H и L в некоторых командах рассматриваются как шестнадцатиразрядные регистры, называемые регистровыми парами. Регистры B, D, и H образуют старшие восемь разрядов регистровых пар, а регистры C, E, и L – младшие.
Программно-доступные восьмиразрядные ячейки ОЗУ используются в качестве памяти МПС. ............