ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 26.02.2020
Просмотров: 2348
Скачиваний: 5
специальных функций с их адресами приведен в табл. 2.1а раздела 2.1. Эти регистры допускают только прямую адресацию. Двенадцать байт в области регистров специальных функций допускают как байтовую, так и побитовую адресацию. Список регистров с побитовой адресацией показан на рис. 2.27. Как видно из рисунка, побитовую адресацию допускают те регистры специальных функций, чей адрес заканчивается 000В. Биты в рассматриваемой области регистров специальных функций имеют адреса 80Н—F7H.
Рис. 2.26. Битовая адресация ОЗУ
Внешняя память данных формируется дополнительными микросхемами памяти, подключаемыми к ОМЭВМ и может иметь емкость до 64 Кбайт. Пространства внутренней и внешней памяти данных не пересекаются, т.к. доступ к ним осуществляется с помощью разных команд. Для работы с внешней памятью данных существуют специальные команды MOVX, которые не влияют на внутреннюю память данных ОМЭВМ. Таким образом, в системе могут одновременно присутствовать внутренняя память данных с адресами 00Н—FFH и внешняя память данных с адресами 0000Н—FFFFH. Обращение к ячейкам внешней памяти данных осуществляется только с использованием косвенной адресации по регистрам R0 и R1
активного банка регистров внутреннего ОЗУ (команды типа MOV @Ri) илу. регистру специальных функций DPTR (команды типа MOV @DPTR). Соответствен первом случае будет формироваться 8-разрядный, а во втором случае 16-разряд адреса внешней памяти данных.
При обращениях к внешней памяти данных адрес выводится через порт (младший байт) и порт Р2 (старший байт) ОМЭВМ. Обмен байтом данных (запи< чтение) производится через порт Р0 ОМЭВМ, т. е. порт Р0 используется как ш адреса/данных в режиме мультиплексирования.
Считывание данных из внешней _памяти данных в ОМЭВМ производите;
помощью выходного сигнала ОМЭВМ RD, а запись данных из ОМЭВМ во внешн] память данных с помощью выходного сигнала ОМЭВМ WR.
Каждый тип внешней памяти (память программ, память данных) может 6i добавлен независимо от другого и каждый использует те же адреса и шины данш но различные сигналы управления.
2.4. Система команд
Система команд ОМЭВМ предоставляет большие возможности обработ данных, обеспечивает реализацию логических, арифметических операций, а так:
управление в режиме реального времени. Реализована побитовая, потетрадная бита), побайтовая (8 бит) и 16-разрядная обработка данных.
БИС семейства МК51 — 8-разрядная ОМЭВМ: ПЗУ, ОЗУ, регистр специального назначения, АЛУ и внешние шины имеют байтовую организацю Двухбайтовые данные используются только регистром-указателем (DPTR) счетчиком команд (PC). Следует отметить, что регистр-указатель данных мож< быть использован как двухбайтовый регистр DPTR или как два однобайтовы регистра специального назначения DPH и DPL. Счетчик команд всегда используете как двухбайтовый регистр.
Набор команд ОМЭВМ имеет 42 мнемонических обозначения (аббревиатур команд для конкретизации 33 функций этой системы.
Синтаксис большинства команд ассемблерного языка ОМЭВМ состоит и;
мнемонического обозначения функции, вслед за которым идут операнды указывающие методы адресации и типы данных. Различные типы данных wit режимы адресации определяются установленными операндами, а не изменениями мнемонических обозначений. Например, аббревиатура "MOV" используется восемнадцатью различными командами для обработки трех типов данных (битов, байтов, адресов) в различных адресных пространствах.
Мнемонические обозначения функций однозначно связаны с конкретными комбинациями способов адресации и типами данных. Всего в системе команд возможно 111 таких сочетаний. В табл. 2.20 представлен перечень команд, упорядоченных по алфавиту, а в табл. 2.21 — упорядоченных по кодам.
Таблица 2.20
|
Мнемоника |
Код |
Кол-во байт |
Кол-во циклов |
Страница в описании |
|
ACALL addrll |
11 |
2 |
2 |
188 |
|
|
31 |
2 |
2 |
|
|
|
51 |
2 |
- 2 |
|
|
|
71 |
2 |
2 |
|
|
|
91 |
2 |
2 |
|
|
|
В1 |
2 |
2 |
|
|
|
D1 |
2 |
2 |
|
|
|
F1 |
2 |
2 |
|
Продолжение таблицы 2.21
|
Код |
Мнемоника |
Кол-во байт |
Кол-во циклов |
Страница в описании |
|
F6 |
MOV @R0,A |
1 |
1 |
206 |
|
F7 |
MOV ©R1,A |
1 |
1 |
206 |
|
F8 |
MOV R0 А |
i |
1 |
204 |
|
F9 |
MOV Rl A |
1 |
1 |
204 |
|
FA |
. MOV R2 A |
1 |
1 |
204 |
|
FB |
MOV R3 A |
1 |
1 |
204 |
|
FC |
MOV R4 A |
1 |
1 |
204 |
|
FD |
MOV R5 A |
1 |
1 |
204 |
|
FE |
MOV R6 A |
1 |
1 |
204 |
|
FF |
MOV R7 A |
1 |
1 |
204 |
В машинном коде команда занимает один, два или три байта.
Команды выполняются за один, два или четыре (умножение и делени< машинных цикла.
При частоте тактового генератора, равной 12 МГц, одноцикловые команд выполняются за 1 мкс, двухцикловые — за 2 мкс и т.д.
Из 111 типов команд 64 выполняются за 1 мкс (12 тактов), 45 команд — за мкс (24 такта) и две команды — умножение и деление (MUL, DIV) выполняются :
4 мкс (48 тактов).
В системе команд ОМЭВМ семейства МК51 по сравнению с системой кома! ОМЭВМ типа МК48 отсутствуют специальные команды ввода-вывода, управлеш таймерами/счетчиками и др. Эти функции реализуются, например, как частнь случаи обращения к регистрам специального назначения с помощью прямс адресации:
MOV direct, A;
Все команды условных переходов осуществляются относительно содержимо] счетчика команд с адресом перехода, вычисляемым ЦПУ во время выполнен» команды.
Трехбайтовые команды перехода и вызова LCALL, LJMP (с 16-разрядны адресом) позволяют осуществлять переход и обращение по любому адре( адресного пространства памяти программ емкостью 64 Кбайт. Если необходи переход в пределах области памяти программ 2 К, то можно использовать команд перехода и вызова с 11-разрядным адресом (ACALL, AJMP). Переход внутри учасп памяти, определяемый 8-разрядной величиной смещения, осуществляется г команде SJMP.
В табл. 2.22 приведены конструкции, влияющие на установку флагов.
В табл. 2.23 приведены обозначения и символы, используемые в систем команд.
Систему команд ОМЭВМ условно можно разбить на пять групп:
— арифметические команды;
— логические команды с байтовыми переменными;
— команды передачи данных;
— команды битового процессора;
— команды ветвления программ и передачи управления ОМЭВМ.
2.4.1 Арифметические команды
В наборе команд ОМЭВМ имеются следующие арифметические операпи] сложение, сложение с учетом флага переноса, вычитание с заемо! инкрементирование, декрементирование, сравнение, десятичная коррекци умножение и деление.