- •Глава 14 Элементы программирования на языке ассемблера После изучения данной главы вы должны знать:
- •Основные компоненты языка ассемблер Алфавит языка
- •Константы (числа и строки) Числа — только целые
- •Строки (литералы)
- •Команды (операторы)
- •Директивы (псевдооператоры)
- •Модификаторы
- •Адресация регистров и ячеек памяти в ассемблере
- •Непосредственная адресация
- •Прямая адресация регистров мпп
- •Адресация ячеек оп
- •Основные команды языка ассемблер
- •Команды пересылки данных
- •Арифметические команды
- •Команды сложения, вычитания и сравнения
- •Команды приращения
- •Команды умножения
- •Команды деления
- •Логические команды
- •Команды безусловной передачи управления
- •Команды перехода к подпрограмме и выхода из подпрограммы
- •Команда перехода к подпрограмме: call opr
- •Команда выхода из подпрограммы
- •Команды условной передачи управления
- •Команды условной передачи управления для беззнаковых данных
- •Команды условной передачи управления для знаковых данных
- •Команды условной передачи управления для прочих проверок
- •Команды управления циклами
- •Команды прерывания
- •Основные директивы ассемблера
- •Директивы определения идентификаторов
- •Директивы определения данных
- •Директивы определения сегментов и процедур
- •Видеооперации с прерыванием 21h dos
- •Программирование работы с клавиатурой
- •Программирование работы с принтерами
- •Печатающие устройства параллельного типа
- •Печатающие устройства последовательного типа
- •Программирование работы с файлами
- •Прерывания, используемые при работе с файлами на дисках
- •Некоторые аспекты создания исполняемых программ
- •Процедуры формирования программы
- •Структура программы на языке ассемблера для получения исполняемого файла формата exe
- •Основные сведения о листинге и его структуре
- •Особенности структуры машинных команд
- •Последовательность работы пк при выполнении программы
- •Краткие сведения об отладчике программ debug
- •Основные команды отладчика debug
- •Вопросы для самопроверки
Глава 14 Элементы программирования на языке ассемблера После изучения данной главы вы должны знать:
назначение и области использования языка Ассемблера;
основные компоненты языка;
основные команды, директивы, модификаторы;
адресацию регистров МПП и ячеек памяти в ассемблере;
программирование процедур вывода информации на дисплей и ввода информации с клавиатуры;
структуру ассемблерной программы;
процедуры формирования программы формата EXE;
назначение, команды и варианты использования отладчика программ Debug.
Пользователь компьютера, равно как и прикладной программист, программы составляет, как правило, на машинно-независимом алгоритмическом языке высокого уровня (Basic, Pascal, FORTRAN, C, PROLOG и т. д.), однако иметь представление об основах программирования и на машинно-ориентированных языках грамотному пользователю весьма полезно для:
лучшего понимания архитектуры ПК и более грамотного использования компьютеров; для разработки более рациональных структур алгоритмов и программ решения прикладных задач;
возможности просмотра и корректировки исполняемых программ с расширениями EXE и COM, компилированных с любых языков высокого уровня, в случае утраты исходных программ (вызвав указанные программы в отладчик программ DEBUG и деассемблировав их, можно получить их отображение на языке ассемблера);
составления программ решения наиболее ответственных задач (программа, подготовленная на машинно-ориентированном языке, обычно эффективнее (короче и быстрее на 30–60%) программ, полученных в результате трансляции с языков высокого уровня) и для реализации процедур, включаемых в основную программу в виде отдельных фрагментов в том случае, если они не могут быть реализованы ни на используемом языке высокого уровня, ни с помощью служебных процедур операционной системы.
Основные компоненты языка ассемблер Алфавит языка
Алфавит языка составляют символы ASCII:
буквы от А до Z (или от а до z, строчные и прописные буквы в ассемблере не различаются);
цифры от 0 до 9;
специальные символы: @, $, ?, ., _,–, +, *, ', “, ; ,: и т. д.
Из букв, цифр и символов: @, $, ?, ., _ формируются:
простые сообщения: имена (идентификаторы) процедур (подпрограмм), переменных, директив, команд (метки), значения констант и переменных;
составные сообщения: команды (операторы);
директивы (псевдооператоры), модификаторы (операции) и т. д.
Имена меток, переменных, идентификаторов могут быть длиной до 31 символа и начинаться должны обязательно не с цифры.
Константы (числа и строки) Числа — только целые
Различают:
двоичные числа; заканчиваются буквой В;
десятичные числа; без специального окончания или заканчиваются буквой D;
шестнадцатеричные числа; заканчиваются буквой Н.
Для обозначения цифр 10, 11, 12, 13, 14, 15 в шестнадцатеричной системе счисления используются, соответственно, буквы A, B, C, D, E, F; но начинаться шестнадцатеричные числа должны обязательно с цифры, например: выражение F19Н — не число, а идентификатор, правильно число надо записать так: 0F19Н.
Запись отрицательных чисел:
десятичные числа записываются обычным образом, просто со знаком: –32, –32D;
двоичные числа записываются только в дополнительном модифицированном коде: –32D 11.100000B, –19D 11.01101B;
шестнадцатеричные числа записываются только в дополнительном коде: –32D выглядит как 1.E0H, –119D — как 1.89H.