
- •Тема 2.5 Основы программирования процессора
- •1 Оперативная память, регистры, представление данных
- •1.Программная модель микропроцессорной системы на основе мп кр580вм80
- •2.Формат данных и структура команд языка ассемблер
- •3 Формат команд
- •4 Методы адресации
- •5 Система команд
- •6 Команды передачи данных и ввода-вывода
- •6.1 Команды передачи данных
- •6.2 Команды ввода-вывода
- •6.3 Команды работы со стеком
- •7 Команды обработки данных
- •Арифметические команды
- •Логические команды
- •8 Команды управления
- •1.Команды условного и безусловного переходов
- •2.Команды вызова подпрограмм и возврата из них, программное прерывание
- •9 Составление программ
Тема 2.5 Основы программирования процессора
С увеличением длины программы все труднее становится запомнить коды различных операций. Некоторую помощь в этом отношении оказывают мнемонические обозначения.
Язык символического кодирования команд называется ассемблером.
Язык ассемблер – это язык, в котором каждое высказывание соответствует ровно одной машинной команде.
Ассемблированием называется преобразование программы с языка ассемблера, т. е. подготовка программы на машинном языке путем замены символических имен операций на машинные коды, а символических адресов – на абсолютные или относительные номера, а также включение библиотечных программ и генерация последовательностей символических команд путем указания конкретных параметров в микрокомандах. Данная программа обычно размещается в ПЗУ или вводится в ОЗУ с некоторого внешнего носителя.
Язык ассемблер имеет несколько особенностей, отличающих его от языков высокого уровня:
Это взаимно однозначное соответствие между высказываниями языка ассемблера и машинными командами.
Программист на языке ассемблера имеет доступ ко всем объектам и командам, присутствующим на целевой машине.
Представление об основах программирования на машинно-ориентированных языках полезно для:
лучшего понимания архитектуры ПК и более грамотного использования компьютеров;
для разработки более рациональных структур алгоритмов программ решения прикладных задач;
возможности просмотра и корректировки исполняемых программ с расширением .exe и .com, компилированных с любых языков высокого уровня, в случае утраты исходных программ (вызвав указанные программы в отладчик программы DEBUG и декомпилировав их отображение на языке ассемблера);
составления программ решения наиболее ответственных задач (программа, составленная на машинно-ориентированном языке, обычно эффективнее – короче и быстрее процентов на 30-60 программ, полученных в результате трансляции с языков высокого уровня)
для реализации процедур, включаемых в основную программу в виде отдельных фрагментов в том случае, если они не могут быть реализованы ни на используемом языке высокого уровня, ни с использованием служебных процедур ОС.
Программа на языке ассемблера может работать только на ЭВМ одного семейства, а программа, написанная на языке высокого уровня, потенциально может работать на разных машинах.
Алфавит языка ассемблера составляют символы ASCII.
Числа только целые. Различают:
двоичные числа, заканчиваются буквой В;
десятичные числа, заканчиваются буквой D;
шестнадцатеричные числа, заканчиваются буквой Н.
1 Оперативная память, регистры, представление данных
Для определённой серии МП используется индивидуальный язык составления программ – язык ассемблер.
Язык ассемблер занимает промежуточное положение между машинными кодами и языками высокого уровня. Программировать на этом языке проще. Программа на языке ассемблер более рационально использует возможности конкретной машины (точнее МП), чем программа на языке высокого уровня (который более прост для программиста, чем ассемблер). Основные принципы программирования на машинно-ориентированных языках рассмотрим на примере языка ассемблер для МП КР580ВМ80. Для программирования на языке используется общая методика. Конкретные же технические приемы записи программ связаны с особенностями архитектуры и системы команд целевого МП.