Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция - red 25.12.12.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
156.67 Кб
Скачать

1.10.2012 — Лекция №6

Достоинства Ассемблера:

  • Символическая адресация (мнемонические имена) – присвоение определенным адресам специальных имен, называемых метками.

  • Мнемонические обозначения кодов команд. Т.е. слово образуется по первым буквам слов словосочетания – сокращенное обозначение действия команды в символьном виде.

  • Позволяет реализовать разнообразные способы адресации, что очень удобно при работе с массивами, структурами и т.д.

  • Позволяет использовать выражения вместо операндов, что существенно уменьшает число ошибок.

  • Позволяет присваивать имена константам.

  • Имеется большой набор псевдокоманд (макроассемблеры), предназначенных для управления трансляцией и т.о. более удобному программированию.

Ассемблер – язык, очень строгий по синтаксису, поэтому и очень простой.

Ассемблер состоит из предложений. Каждое предложение пишется на одной строке. Конец строки всегда обозначается символом Enter (перевод строки и возврат каретки). Каждое предложение состоит из 4х полей, каждое из которых ограничивается определенным разделителем.

I

II

III

I

Поле …

Метки

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

Операнды

Комментария

Пример

MET:[Tab]

M2:

MOV:

Q2:

MOV[пробел]

mov

JUMP

AL,BH[пробел/Tab]

al,bh

получатель,источник

;СOMMENTS [Enter]

Метка – символическое имя, состоящее из букв латинского алфавита и цифр, длиной не более 8 символов. Ограничивается справа двоеточием. Если двоеточие не указано, метка воспринимается в качестве имени константы (введено для удобства программирования).

В каждом трансляторе имеется группа зарезервированных имен, которую запрещено использовать в качестве меток:

  • Мнемонические обозначения команд и псевдокоманд

  • Специальные символы

Метки запрещено дублировать в команде, каждая должна быть уникальна. Если метка длиннее 8 символов, она укорачивается и может совпасть с другим именем. После двоеточия следует горизонтальная табуляция, что улучшает читаемость кода

В поле оператора указывается мнемонический код команды с использованием латинских символов. Строчная или заглавная буква – не имеет значения. Кроме команд в этом поле указываются псевдокоманды Ассемблера. Псевдокоманда – команда, не существующая в наборе команд ЭВМ, н имеющаяся в наборе транслятора. Обычно это поле справа ограничивается знаком пробела

В поле операнда указывается 1-2 операнда. Если 2 операнда, они м/у собой разделяются запятой (пробел после запятой можно не ставить). В качестве операндов могут выступать имена внутренних регистров ЭВМ, имена веток, констант или конкретные числовые значения в различных системах счисления. Кроме того в этом поле могут указываться выражения в виде последовательности арифметических и логических операций. Операнды отделяются пробелом, либо горизонтальной табуляцией/

Поле комментария от поля операнда отделяется «;». Поле комментария содержит любой текст, который транслятором игнорируется. После комментария перевод строки осуществляется ч/з Enter.

Константы Ассемблера.

В качестве констант могут использоваться любые числа в 2(b), 8(q), 16(h), 10-тичной системах счислениях, при этом наиболее распространенные Ассемблеры (разработчик Intel) записывают числа и в конце указывают букву – признак системы счисления. Если после цифры ничего не указано – это признак 10-тичной системы счисления. Если 16-речное число начинается с буквы, перед ней всегда устанавливается цифра 0 (например, 0А2h), указывая, что это число, а не метка.