- •История развития микропроцессоров
- •Структурная схема микро-эвм на базе микропроцессорного комплекта кр 580
- •Архитектура модуля центрального процессора
- •Форматы команд и способы адрасации Классификация команд
- •2. По длине
- •3. По способам адресации
- •Команды восьмиразрядного микропроцессора кр580
- •Команды передачи Общая характеристика.
- •Системы счисления, применяемые в эвм
- •1. Двоичная (бинарная)
- •2. Восьмеричная
- •3. Шестнадцатеричная
- •4. Двоично - десятичная
- •Арифметические основы эвм
- •Способы кодирования чисел
- •Команды арифметических операций Общая характеристика
- •Логические основы эвм
- •Команды логических операций Общая характеристика
- •Команды инвертирования и установки переноса Общая характеристика
- •Команды сравнения Общая характеристика
- •Команды сдвига Общая характеристика
- •Команды перехода Общая характеристика
- •Команды вызова Общая характеристика
- •Команды возврата Общая характеристика
- •Команды ввода – вывода и управления Общая характеристика
- •Классификация микропроцессоров
- •2. Классификация по разрядности
- •3. Классификация по назначению
- •4. Классификация по виду обрабатываемых сигналов
- •5. Классификация по характеру временной организации работы
- •6. Классификация по организационной структуре
- •7. Классификация по количеству выполняемых программ
- •Программное обеспечение микропроцессорных систем
- •Элементы языка асcемблер
- •Ассемблеры
- •Типы ассемблеров
- •Директивы языка ассемблер
- •Пример программы на языке ассемблер
- •Способы физического представления двоичных цифр
- •Современные направления в развитии микропроцессоров
Элементы языка асcемблер
ДЛЯ 8 – ми РАЗРЯДНОГО ПРОЦЕССОРА
При использовании языка Ассемблер, каждой команде языка соответствует одна машинная команда или один машинный код. Это усложняет программирование, однако позволяет использовать все возможности микропроцессорной системы.
Алфавит языка
1. Все большие буквы латинского алфавита.
2. Все цифры от 0 до 9.
3. Дополнительные символы: . ’ @ · ¤ .
Представление чисел
Шестнадцатеричные числа : 1B H
Восьмеричные числа : 72 Q
Двоичные числа : 101 B
Десятичные числа : 10 или 10 D
Если шестнадцатеричное число начинается с буквы, то для того, чтобы его отличить от метки слева приписывается " 0 ". Например: FА Н→0FА Н.
Имена переменных
1. Зарезервированные имена переменных (A, B, C, D, E, H, L , SP, ¤) – это имена, которые программист не имеет права использовать в своей программе (¤ - имя счетчика команд);
2. Переменные, определяемые пользователем. Они могут иметь от 1 до 6 символов, причем первый не должен быть цифрой.
Пример: MVI A, ALFA 1; по этой команде значение переменной ALFA 1
; загрузится в аккумулятор
Метка
Метка- это символичный адрес, по которому записана команда или данные. Метка должна содержать не более шести символов, первый не цифра. После метки ставят двоеточие (" : ").
Например: TIME : LXI B, DLIT ; Задание длительной задержки
M1 : DCX B ; Уменьшение счетчика
MOV A , B ; Проверка счетчика на нулевое состояние
ORA C ;
JNZ M1 ; Переход если счетчик не равен нулю
RET ; Выход на подпрограмму
В примере программе: TIME – символический адрес подпрограммы задержки времени; M1- символический адрес переход, в случае если задержка времени не закончилась.
Ассемблеры
Исходные программы, написанные с помощью редактора текста и хранящихся в памяти, не могут непосредственно выполняться МП. Поэтому текст должен быть преобразован в такую форму, которая воспринимается МП. Для этого используется программа, которая называется «Ассемблер». После обработки текста программы программой Ассемблер получается программа на машинном языке (в машинных кодах), которая может выполняться процессором.
Типы ассемблеров
Существует несколько разновидностей ассемблеров:
1. Однопроходные.
Появились раньше других, наиболее просты, но используются редко, т.к. они имеют один существенный недостаток - они не допускают ссылок вперед. Работают очень быстро, т.к. исходная программа просматривается и транслируется за один проход, но если в тексте появляется ссылка вперёд, то ассемблер выдаёт сообщение об ошибке.
2. Двухпроходные.
Исходный текст программы просматривается два раза, при первом просмотре задаются логические адреса всем меткам, при втором просмотре формируется программа в виде машинных кодов. В наше время используется очень широко.
3. Макроассемблеры.
Двухпроходный ассемблер, который позволяет использовать в исходном тексте макрокоманды и макроопределения. Макроопределение – это определённая последовательность команд, которой программист даёт определённое имя. Таким образом, вместо того, что бы многократно вписывать одну и туже последовательность команд, программист в определённых местах программы указывает имена макроопределений.
4. Кроссассемблер.
Он реализуется также как и ассемблер любого другого типа. Особенность в том, что программа ассемблируется на одной машине, а в результате получается программа в машинных кодах для другого МП.
5. Резидентный ассемблер.
Противоположность кроссассемблеру, т.е. программа формируется в машинных кодах того процессора на котором она обрабатывается.
6. Обратный ассемблер или дизассемблер.
Обычно используется при отладке программы и для проверки того, что программа на машинном языке соответствует именно той программе, которая должна выполняться. Происходит преобразование программы написанной в машинных кодах в текст программы на языке Ассемблер.
