- •Микропроцессорные устройства
- •4.2.1.3 Специальный режим использования порта р0:
- •10 Примеры схем включения омэвм………………………………………...……..……………..73
- •Введение
- •1 Общая характеристика омэвм к1816ве751
- •2 Условное графическое обозначение омэвм к1816ве751 и назначение ее отдельных выводов
- •3 Структура омэвм к1816ве751 и ее описание
- •3.1 Блок управления и синхронизации микроЭвм
- •3.2 Блок арифметико-логического устройства (алу)
- •3.3 Резидентная память данных
- •3.4 Резидентная память программ
- •3.5 Блок прерываний
- •3.6 Блок таймеров – счетчиков
- •3.7 Блок последовательного порта (интерфейса)
- •3.8 Параллельные порты ввода-вывода
- •3.9 Схема десятичной коррекции аккумулятора (сдка)
- •3.10 Внутренний тактовый генератор (osc)
- •3.11 Резидентная шина данных
- •3.12 Регистры
- •4 Особенности функционирования и применение омэвм в различных режимах
- •4.1 Использование таймеров-счётчиков
- •4.2 Использование параллельных портов ввода-вывода
- •4.2.1 Особенности работы порта р0
- •4.2.1.1 Особенности работы р0 с вп (впп или впд)
- •4.2.1.2 Особенности работы р0 в качестве портов ввода/вывода
- •4.2.1.2.1 Вывод данных через р0
- •4.2.1.2.2 Ввод данных через р0
- •4.2.1.3 Специальный режим использования порта р0:
- •4.2.2 Особенности работы порта р1
- •4.2.3 Особенности работы порта р2
- •4.2.4.1.2 Выполнение портом р3 альтернативных функций входа
- •4.2.4.2 Работа р3 в качестве порта вывода
- •4.2.4.3 Работа р3 в качестве порта ввода
- •4.3 Применение последовательного порта
- •4.3.1 Работа последовательного порта в режиме 0
- •4.3.1.1 Передача в режиме 0
- •4.3.1.2 Приём в режиме 0
- •4.3.2 Работа последовательного порта в режиме 1
- •4.3.2.1 Передача в режиме 1
- •4.3.2.2 Приём в режиме 1
- •4.3.3 Работа последовательного порта в режимах 2 и 3
- •4.3.4 Скорость передачи-приёма данных через последовательный порт
- •4.3.5 Пример программирования последовательного порта омэвм
- •4.3.6 Особенности межконтроллерного обмена информацией в локальных управляющих сетях
- •4.4 Особенности структуры прерываний
- •4.5 Организация пошагового режима работы
- •4.6 Организация памяти
- •4.6.1 Особый режим работы памяти омэвм
- •4.7 Расширение резидентной (внутренней) системы ввода-вывода (рсвв/выв)
- •5 Система команд
- •5.1 Способы адресации операндов
- •5.2 Команды передачи данных
- •5.3 Арифметические команды
- •5.4 Логические команды
- •5.5 Операции с битами
- •5.6 Команды передачи управления
- •6 Программирование и проверка омэвм км1816ве751
- •7 Программирование бита защиты памяти
- •8 Режим холостого хода и пониженного энергопотребления
- •8.1 Режим холостого хода
- •8.2 Режим микропотребления
- •8.3 Режим пониженного потребления для омэвм серии 1816 (n-моп)
- •9 Начальная инициализация омэвм
- •10 Примеры схем включения омэвм
- •Список литературы
5.1 Способы адресации операндов
Существуют следующие способы адресации операндов – данных, участвующих в операциях:
неявная;
регистровая (прямая регистровая);
прямая (байтовая и битовая);
непосредственная;
косвенная;
относительная;
базово-индексная.
При неявнойадресации информацию об адресе операнда, участвующего в операции, устройство управления микроЭВМ получает из кода операции команды. Чаще всего так адресуются аккумулятор и флаг переноса, например, INC A, CLR C.
При регистровойадресации команда содержит трехразрядный прямой адрес одного из восьми рабочих регистров текущего банка РОНов РПД.
Для выбора рабочего (текущего) банка используются разряды PSW3, PSW4 регистра флагов (таблица 3). Примеры команд с регистровой адресацией: MOV A, Rn; XCH A, Rn.
Прямая байтоваяадресация применяется для обращения к ячейкам РПД и к регистрам специальных функций (таблица 2). В этом случае команда включает в себя прямой 8-разрядный адрес операнда, обозначаемый ad, например: ADD A, ad; DEC ad и др.
Прямая битоваяадресация используется для обращения к отдельно адресуемым 128 битам РПД (рисунок 5, 26) и к отдельно адресуемым битам регистров специальных функций (рисунок 27). При этом команда содержит прямой 8-разрядный адрес бита, участвующего в операции. Этот адрес обозначается bit, например: SET bit; MOV C, bit и др.
При непосредственнойадресации операнд входит в саму команду и извлекается из памяти при выполнении команды вслед за ее кодом операции. Непосредственный операнд обозначается #D8, #D16, например: MOV A, #D8; MOV DPTR, #16 и др.
При косвеннойадресации в команде содержится ссылка на регистр, в котором содержится адрес операнда. Эта адресация может использоваться для обращения к ячейкам внутреннего (РПД) или внешнего ЗУ (ВПД). В качестве регистров-указателей РПД служат регистры R0, R1 выбранного рабочего (текущего) банка РОНов. Это, например, команды MOV A, @Ri; MOV ad, @Ri и др.
В качестве регистров указателей ВПД применяются те же R0 и R1, что позволяет выбрать одну из 256 ячеек внешней памяти, либо 16-разрядный регистр-указатель данных (DPTR), который обеспечивает адресацию одной из 65536 = 64 К восьмиразрядный ячеек ВПД. Например, команды MOVX A, @Ri; MOVX @DPTR, A и др.
Относительнаяадресация применяется в командах условных переходов. При этом в команде задается 8-разрядное смещение относительно адреса самой команды. Смещение воспринимается как число со знаком, представленное в дополнительном коде. Это позволяет осуществлять переходы на +127 байт вперед и на –128 байт назад относительно адреса следующей команды. Например, команды JNZ rel; DJNZ ad, rel и др., где rel – 8-битное смещение.
При базово-индекснойадресации адрес операнда вычисляется как сумма 16-разрядного базового адреса, содержащегося регистрах DPTR или PC, и 8-битного индекса, загружаемого в аккумулятор. Это позволяет обращатся к элементам таблиц, массивов и т.д. Например, команды MOVC A, @A+DPTR; MOVC A, @A+PC.
5.2 Команды передачи данных
Большую часть команд данной группы (таблица 21) составляют команды передачи и обмена байтами. Команды пересылки входят и в группу команд работы с отдельными битами (таблица 24). Все команды данной группы не модифицируют флаги результата, за исключением команд загрузки PSW, триггера (флага) C и аккумулятора (устанавливается флаг паритета). На рисунке 31 показан граф путей передачи данных в ОМЭВМ. Отдельной вершиной на этом графе представлен аккумулятор (А), т.к. он участвует в большинстве пересылок и адресуется с помощью неявной или прямой адресации. Тем не менее, некоторые пересылки выполняются без участия аккумулятора.
Рисунок 30 – Граф путей передачи данных в ОМЭВМ
В число команд пересылок входят операции со стеком, который организуется в РПД. Для адресации ячеек стека используется регистр-указатель стека (SP), что позволяет адресовать любую ячейку внутреннего ОЗУ. Запись информации в стек производится командой PUSH ad, а чтение из стека – POP ad. В исходном состоянии SP адресует «верхушку» стека – последнюю ячейку стековой памяти, в которую записана информация. Длина операнда при работе со стеком – 8 бит. Перед записью в стек содержимое SP инкрементируется, а после чтения – декрементируется.