Структура информационных связей.
Можно выделить девять типов операндов, между которыми выполняется информационный обмен (Рис. 9). Операнды, учавствующие в операциях пересылки, различаются по месту расположения и способу адресации. К командам относятся: аккумулятор, регистры общего назначения, ССП, таймеры, порты, непосредственный операнд, внешняя и резидентная память данных и память программ (ПП). Аккумулятор является как бы "почтовым ящиком", через который остальные устройства (операнды) могут обмениваться данными. К памяти программ существует только односторонний доступ для чтения.
Рис. 9. Граф пересылок данных
Форматы данных. Большинство команд выполняет пересылку 8–битных (1–байтных) операндов. Существуют также несколько команд, оперирующих с 4–битными операндами (тетрадами). Команды пересылки тетрад используются при обращении к 4-битным портам внешней схемы расширителя ввода/вывода (Р4–Р7).
Режимы передачи данных. В МК48 возможна передача данных в двух режимах: пересылки (загрузки) и обмена. Пересылка предполагает передачу данных в направлении от источника к приемнику. При этом источник не изменяет своего содержимого. Обмен предполагает одновременную передачу данных в двух направлениях: в результате операции обмена изменяются значения обоих операндов, участвующих в операции.
Способы адресации. Для обращения к данным используются четыре способа адресации:
1) прямая, когда адрес операнда содержится в теле самой команды, например:
MOV A, RN ; (A) ← (RN)
Номер регистра, пересылаемого в аккумулятор, указывается в трех младших битах кода операции (КОП);
2) непосредственная, когда сам 8-битный операнд (константа) располагается непосредственно в теле команды (второй байт команды), например:
MOV A, 05 ; (A) ← 05
Содержимое второго байта команды (05) пересылается в аккумулятор;
3) косвенная, при которой адрес операнда располагается в регистре (R0 или R1), например:
MOV A, @RO ; (A) ← ( (R0) )
Содержимое ячейки РПД по адресу, хранимому в регистре R0, пересылается в аккумулятор;
4) неявная, при которой в коде операции содержится неявное (по умолчанию) указание на один из операндов. Чаще всего таким операндом является аккумулятор, как, например, в команде
MOV A, RN ; (A) ← (RN).
Особенности передач через порты. Порты Р1 и Р2 представлют собой управляемые буферные регистры. При выдаче информации вводимый байт данных фиксируется в буферном регистре порта, а при вводе он не фиксируется и должен быть прочитан контроллером в течение периода присутствия байта на входах порта. Ориентация МК на применение в устройствах управления объектами привела к появлению в его системе команд таких команд, которые позволяют выполнять операции ввода/вывода информации с использованием маскирования, что предоставляет разработчику удобные средства обмена не только байтами, но отдельными битами и их произвольными комбинациями. Схемотехника портов Р1 и Р2 такова, что ввод данных в некоторую линию возможен только в том случае, если предварительно в данный бит порта программой МК была записана 1.
Порт BUS может выполнять все функции, перечисленные для портов Р1 и Р2, но в отличие от них оно не может специфицировать отдельные линии на ввод или вывод. Все восемь линий порта BUS должны одновременно быть либо входными, либо выходными. По командам MOVX порт BUS используется в качестве двунаправленного синхронного канала для доступа к ВПД.
Задание к лабораторной работе
1. Исследовать группу команд пересылки данных.
2. Составить и исследовать программу увеличения на 5 числа, записанного по адресу (в регистре) 1, и записи результата по адресу (в регистр) 2.
3. Составить и исследовать программу, передачи байта данных, записанных в РПД по адресам 1 и 2, в адрес 3 ВПД.
4. Составить и исследовать программу пересылки содержимого таймера/счетчика в порт 1, и записи данных из порта 2, в ССП.
5. Исследовать процесс выполнения программ в пошаговом режиме.
Содержание отчета
Отчеты должны содержать:
1. Полный перечень команд пересылки данных.
2. Данные о выполнении программ.
3. Разработанные программы 1., 2., 3.
4. Вывод.
Контрольные вопросы
1. Организация ввода/вывода, порты Р1 и Р2, порт BUS расскажите принцип их действия.
2. Перечислите способы адресации МК48, на какие группы разбиты команды.
3. Какие команды модифицируют флаги, укажите достоинства МК48 по отношению к другим аналогам.
4. Группа команд пересылки данных, перечислите состав команд.
5. Расскажите о структуре информационных связей, какие операнды участвуют в информационном обмене.
6. Формат данных, режимы передачи данных.
7. Какие существуют особенности при передачи информации через порты.