1.3. Система команд микропроцессора КР580.
АССЕМБЛЕР - системная обслуживающая программа, преобразующая символические инструкции в команды машинного языка, называемые объектным кодом, объектной программой или объектным модулем. Символические инструкции (мнемокоды) образуют основу языка Ассемблера.
Программа-ассемблер, реализованная на такой МП-системе, которая может выполнить полученный объектный код, называется естественным ассемблером.
Кросс-ассемблер - это программа-ассемблер, реализованная на такой (как правило, более мощной) машине, которая не способна выполнить полученный объектный код. Соответствующая машина называется кросс-ЭВМ.
Ассемблерные программы записываются в виде последовательности команд, называемых операторами Ассемблера. Для каждого оператора выделяется одна строка, и каждый оператор порождает ОДНУ машинную команду.
Метка | Поле мнемоники (кода) | Поле операнда | Поле комментария |
начинается с буквы, за последним символом двоеточие. AGAIN: A15: M1: DONE: | cимволическое описание команд. MOV ADD JNZ XCHG MVI | A,M B,A AGAIN C, 0AAH | ;комментарии к ;программе |
В основе этих символических обозначении, как правило, лежит аббревиатура от полной записи наименования команды на английском языке. Например, команда «загрузить аккумулятор с прямой адресацией» имеет мнемокод LDА, который представляет собой аббревиатуру от английского load direct accumulator.
Хотя состав команд у каждого микропроцессора свой, но существует элементарный состав команд, присущий практически каждому процессору.
ОСНОВНЫЕ ТИПЫ КОМАНД
1. Команды обработки данных (команды арифметических и логических операций);
2. Команды пересылки и загрузки данных;
3. Команды ветвления программ (передачи управления);
4. Команды управления.
В поле операндов всех команд определяются каким-либо образом данные, участвующие в операции (операнды). Способ определения операнда называется режимом адресации.
ТИПЫ АДРЕСАЦИИ
1. Прямая (полная, расширенная, абсолютная) – адрес операнда явно или неявно указан в команде;
2. Косвенная - указан адрес регистра, в котором хранится значение адреса операнда ((R) или @R).
РЕЖИМЫ (СПОСОБЫ) АДРЕСАЦИИ
Всего существует несколько десятков способов адресации. Важнейшими из них являются:
1. Непосредственная адресация - значение операнда явно записано в последующих байтах команды (например, если операнд – константа).
2. Неявная адресация - код операции определяет также и адреса, которые явно не записываются. Пример - команда XCHG процессора i8080 - обмен содержимого регистровых пар DE и HL.
3. Регистровая адресация - операндами являются адреса регистров.
4. Индексная адресация - адрес образуется путем сложения второго байта команды (целое число без знака, смещение) с содержимым индексного регистра.
5. Автоинкрементная адресация - операнд в ячейке по адресу @R. После выполнения операции R инкрементируется (увеличивается на 1 или иногда 2)
6. Автодекрементная адресация - до операции содержимое регистра R уменьшается. Операнд в ячейке с адресом, равным новому @R.
7. Относительная адресация – указывается смещение относительно содержимого какого-либо регистра, например, программного счетчика РС
8. Стековая адресация.
Глава 2. Разработка программы преобразования кодов.
2.1. Разработка блок-схемы алгоритма программы.
2.2. Кодирование программы.
IN | A | INPUT X1 | |
LXI | H,0101H | ||
MOV | M,A | ||
CMA | |||
LXI | H,0111H | ||
MOV | M,A | ||
IN | A | INPUT X2 | |
LXI | H,0102H | ||
MOV | M,A | ||
CMA | |||
LXI | H,0112H | ||
MOV | M,A | ||
IN | A | INPUT X3 | |
LXI | H,0103H | ||
MOV | M,A | ||
CMA | |||
LXI | H,0113H | ||
MOV | M,A | ||
IN | A | INPUT X4 | |
LXI | H,0104H | ||
MOV | M,A | ||
CMA | |||
LXI | H,0114H | ||
MOV | M,A | ||
IN | A | INPUT X5 | |
LXI | H,0105H | ||
MOV | M,A | ||
CMA | |||
LXI | H,0115H | ||
MOV | M,A | ||
LDA | 0115H | Y5 | |
LXI | H,0112H | ||
ANA | M | ||
MOV | B,A | ||
LDA | 0105H | ||
LXI | H,0101H | ||
ANA | M | ||
ORA | B | ||
LDA | 0105H | ||
LXI | H,0102H | ||
ANA | M | ||
ORA | B | ||
MOV | A,B | ||
STA | 0125H | Y5 -> 0125 | |
LDA | 0103H | Y4 | |
MOV | B,A | ||
LDA | 0115H | ||
LXI | H,0101H | ||
ANA | M | ||
ORA | B | ||
MOV | A,B | ||
STA | 0124H | Y4 -> 0124 | |
LDA | 0103H | Y3 | |
LXI | H,0112H | ||
ANA | M | ||
MOV | B,A | ||
LDA | 0102H | ||
LXI | H,0101H | ||
ANA | M | ||
ORA | B | ||
LDA | 0105H | ||
LXI | H,0102H | ||
ANA | M | ||
ORA | B | ||
MOV | A,B | ||
STA | 0123H | Y3 -> 0124 | |
LDA | 0105H | Y2 | |
LXI | H,0104H | ||
ANA | M | ||
MOV | B,A | ||
LDA | 0103H | ||
LXI | H,0102H | ||
ANA | M | ||
ORA | B | ||
MOV | A,B | ||
STA | 0122H | Y2 -> 0122 | |
LDA | 0104H | Y1 | |
LXI | H,0113H | ||
ANA | M | ||
MOV | B,A | ||
LDA | 0115H | ||
LXI | H,0101H | ||
ANA | M | ||
ORA | B | ||
LDA | 0105H | ||
LXI | H,0102H | ||
ANA | M | ||
ORA | B | ||
MOV | A,B | ||
STA | 0121H | Y1 -> 0121 | |
MVI | A,00H | ||
LXI | H,0125 | ||
ORA | M | ||
RAL | |||
LXI | H,0124 | ||
ORA | M | ||
RAL | |||
LXI | H,0123 | ||
ORA | M | ||
RAL | |||
LXI | H,0122 | ||
ORA | M | ||
RAL | |||
LXI | H,0121 | ||
ORA | M | ||
OUT | B | ||
END |
Заключение:
Автоматизм работы процессора, возможность выполнения длинных последовательных команд без участия человека – одна из основных отличительных особенностей ЭВМ как универсальной машины по обработке информации.
Список используемой литературы
1. Безуглов Д. А., Калиенко И. В. Цифровые устройства и микропроцессоры. – Ростов-на-Дону, - 2006.
2. Гурский А. Л., Лапшин С. М. Проектирование микропроцессорных устройств. Мелодическое пособие к лабораторным работам по курсу «Цифровые и микропроцессорные устройства». – Мн., – 2003.
3. Конспект лекций.