- •Оглавление.
- •Изучение цифроаналоговых преобразователей (цап).
- •3. Основные параметры цап.
- •Введение.
- •1.Цифроаналоговые преобразователи.
- •2. Основные параметры цап.
- •3. Основные типы цап.
- •Порядок выполнения работы.
- •Изучение аналогово-цифровых преобразователей (ацп).
- •Введение.
- •1. Аналогово-цифровые преобразователи.
- •2. Входные и выходные сигналы ацп. Основные параметры.
- •3. Работа мультивибраторного ацп.
- •Порядок выполнения работы.
- •2. Структура микропроцессорной лаборатории.
- •3. Распределение памяти "Микролаб", запись данных и выполнение программ.
- •Порядок выполнения работы.
- •Программирование в машинных кодах (1).
- •1. Программные средства.
- •2. Форматы команд и данных.
- •3. Команды мп кр580ик80.
- •2. Арифметические и логические команды.
- •4. Команды переходов.
- •4. Команды ввода/вывода и управления.
- •Порядок выполнения работы.
- •Программирование в машинных кодах (2).
- •1. Архитектура эвм "Микролаб".
- •2. Программы временной задержки.
- •3. Индикация данных.
- •Порядок выполнения работы.
- •Программирование в машинных кодах (3).
- •Вариант № 1.
- •Вариант № 2.
- •Вариант № 3.
- •Вариант № 4.
- •Вариант № 5.
- •Вариант № 6.
- •Литература.
Программирование в машинных кодах (1).
1. Программные средства.
При программировании ЭВМ на машинном языке нужно знать систему команд микропроцессора, архитектуру микропроцессора и архитектуру ЭВМ.
Микропроцессор КР580ИК80 может выполнять 4 основные операции:
1) чтение данных из памяти или порта ввода;
2) запись данных в память или в порт ввода;
3) выполнение внутренних операций МП;
4) передача управления другой ячейке памяти.
С точки зрения программиста микропроцессор включает в себя 8 оперативных регистров, имеющих имена: А (аккумулятор), B, C, D,E, H, L и регистр состояния (внутренние регистры). Структурная схема микропроцессора КР580ИК80 представлена на рис. 1.
Рис. 1.
1. Аккумулятор (или регистр А) является ядром всех операций МП, к которым относятся арифметические, логические, загрузки или размещения данных и ввода/вывода. Это 8-ми разрядный регистр. В нем концентрируется большинство результатов выполнения команд ("Микролаб" копирует содержимое аккумулятора в ячейку ОЗУ по адресу 83ЕВ для анализа в пошаговом режиме).
2. Регистры общего назначения (B, C, D, E, H, L) – 8-ми разрядные регистры. Как правило, регистры B, C, D, E используются для временного хранения данных. Регистры H и L также могут использоваться как два восьмиразрядных регистра для хранения данных. Однако чаще всего их объединяют в регистровую пару HL (16-разрядная) для указания адреса. (Несколько команд используют также пары ВС и DE). В этом случае в регистрах H и L запоминается адрес ячейки, в которой находятся нужные данные. При этом старший байт адреса хранится в регистре Н, а младший – в регистре L (от англ. сл. High – высокий и Low – низкий). (Адреса регистров – 83Е9, 83Е8, 83Е7, 83Е6, 83Е5, 83Е4.)
3. Счетчик команд (РС) – 16-разрядный регистр. Служит для хранения адреса следующей команды, чтобы извлечь ее из памяти. Адрес автоматически увеличивается на 1 после считывания каждого байта (83Е1 – старший байт адреса, 83Е0 – младший байт).
4. Указатель стека (SP – от англ. Stack Pointer) – является специальным 16-разрядным регистром. SP указывает на адрес последнего помещенного в стек байта (на вершину стека). Указатель стека декрементируется (уменьшается на 1) при каждом помещении в стек и инкрементируется (увеличивается на 1) при каждом извлечении из него. Стек представляет собой запоминающее устройство с последовательным доступом, в котором слова считываются в порядке, обратном записи, т.е. по правилу LIFO (Last – Input - First – Output – последним вошел, первым вышел). Стек можно представить в виде вертикально расположенного массива запоминающих ячеек. Доступ осуществляется всегда к верхней ячейке – вершине стека. Когда слово записывается в вершину стека, указатель стека показывает на новую свободную ячейку области стека.
МП КР580ИК80 (ВМ80А) использует в качестве стека ОЗУ (причем емкость стека не ограничена). Область стека ОЗУ определяется при занесении в указатель стека нужного адреса. Монитор микролаборатории при включении питания и после нажатия кнопки СБРОС заносит (автоматически) в указатель стека число 83С7. Это позволяет применять стек без предварительной установки указателя стека.
Указатель стека находится в ячейке 83Е3 (старший байт) и 83Е2 (младший байт).
Стек играет важную роль в микроЭВМ как средство сохранения адресов возврата и состояния данных для подпрограмм.
5. Регистр состояния (или признаков, или индикаторов, или флаговый регистр) содержит пять одноразрядных индикаторов (триггеров), в которых содержится информация, относящаяся к состоянию МП (адрес 83ЕА).
Эти индикаторы могут быть установлены или сброшены, исходя из результатов последней операции, выполненной АЛУ. Они содержат указатели нуля, отрицательного результата, переноса и т.д.
Индикатор знака S устанавливается в зависимости от состояния наиболее значимого бита после выполнения арифметической или логической операции. Установленный индикатор соответствует отрицательной величине, сброшенный – положительной.
Индикатор нуля Z установлен, когда результатом операции является нуль, в противном случае он сбрасывается.
Индикатор четности Р проверяет число бит единиц в аккумуляторе. Если это число четное, индикатор установлен в 1, если нет – сброшен в 0.
Индикатор переноса С устанавливается в 1 при переполнении 8 бит при сложении; в случае вычитания, когда С установлен, это указывает, что вычитаемое больше уменьшаемого.
Индикатор вспомогательного переноса AC показывает переполнение или перенос в 3-ем разряде аккумулятора.
Флаги можно проверить, заглянув в ячейку памяти 83ЕА. Флаги собраны в 1 байт. Не все команды изменяют флаги.