Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МАВЦ.464319.001ТУ 20140414 Семенов.doc
Скачиваний:
11
Добавлен:
01.07.2025
Размер:
3 Мб
Скачать
☆

3.4 Элементы программирования на языке ассемблер

Программы составляются, как правило, на машинно-независимом алгоритми­ческом языке высокого уровня (Basic, Pascal, FORTRAN, С, PROLOG и т. д.). Представление об основах программирования на машинно-ориентированных язы­ках полезно для:

  • лучшего понимания архитектуры ПК и более грамотного использования ком­пьютеров; для разработки более рациональных структур алгоритмов и программ решения прикладных задач;

  • возможности просмотра и корректировки исполняемых программ с расшире­ниями .ехе и .com, компилированных с любых языков высокого уровня, в слу­чае утраты исходных программ (вызвав указанные программы в отладчик про­грамм DEBUG и декомпилировав их, можно получить их отображение на языке ассемблера);

составления программ решения наиболее ответственных задач (программа, со­ставленная на машинно-ориентированном языке, обычно эффективнее (короче и быстрее процентов на 30-60) программ, полученных в результате трансля­ции с языков высокого уровня) и для реализации процедур, включаемых в ос­новную программу в виде отдельных фрагментов в том случае, если они не могут быть реализованы ни на используемом языке высокого уровня, ни с использо­ванием служебных процедур операционной системы.

4 Основные компоненты языка ассемблер

4.1Алфавит языка

Алфавит языка составляют символы ASCII:

  • буквы от А до Z (или от а до z, строчные и прописные буквы в ассемблере не различаются);

  • цифры от 0 до 9;

  • специальные символы : @, $, ?, ., _, -, +, *, ', ", ;, : и т. д.

Из букв, цифр и символов: @, $, ?, ., _ формируются:

  • простые сообщения: имена (идентификаторы) процедур (подпрограмм), пере­менных, директив, команд (метки), значения констант и переменных;

  • составные сообщения: команды (операторы);

  • директивы (псевдооператоры), модификаторы (операции) и т. д.

Имена меток, переменных, идентификаторов могут быть длиной до 31 символа и начинаться должны обязательно не с цифры.

4.2 Константы (числа и строки)

Числа — только целые

Различают:

  • двоичные числа; заканчиваются буквой В;

  • десятичные числа; без специального окончания или заканчиваются бук­вой D;

  • шестнадцатеричные числа; заканчиваются буквой Н.

Для обозначения цифр 10, 11, 12, 13,14, 15 в шестнадцатеричной системе счисле­ния используются соответственно буквы А, В, С, D, E, F; но начинаться шестна­дцатеричные числа должны обязательно с цифры, например: выражение F19H -не число, а идентификатор, правильно число надо записать так: OF19H.

Запись отрицательных чисел:

  • десятичные числа записываются обычным образом, просто со знаком: -32, -32D;

  • двоичные числа записываются только в дополнительном модифицированном коде: -32D -> 11.100000В, -19D -> 11.01101В;

  • шестнадцатеричные числа записываются только в дополнительном коде: -32D записывается как l.EOH, -119D записывается как 1.89Н.

Строки (литералы)

Строки символов: включают любые буквы, цифры и символы, но заключаются в кавычки: "ПЭВМ IBM PC с микропроцессором 80386".

Команды (операторы)

Формат команды:

[Метка [ : ] ] КОП [Операнд] [Операнд] [Комментарий].

Между элементами команды вставлены пробелы. Здесь и далее элементы, заключенные в квадратные скобки, необязательны.

КОП (Код Оператора) — мнемокод команды (состоит из 2-6 букв). Может быть до 256 различных кодов (в ассемблере IBM PC их число изменяется в зависимо­сти от типа МП.

Например: 133 в МП 8088, 240 в МП 80386).

Операнд — явно заданный адрес (прямой или косвенный); имя метки, перемен­ной; само значение переменной; ассоциативный признак и т. п. Количество необ­ходимых в команде операндов ассемблер узнает по КОП. В большинстве двухад­ресных команд присутствуют операнды приемник (dst — destination) и источник (src — source); источник не изменяет своего содержания, в приемнике 1-е число, участвующее в операции, заменяется результатом.

Метка — имя команды ассемблера для ссылки (обращения) к этой команде (до 31 символа).

Двоеточие, стоящее после метки, означает, что метка всегда находится в текущем сегменте памяти.

Комментарий — любой текст, поясняющий человеку программу (не воспринима­ется ассемблером, но выводится в листинге).