Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ по Асм №1.doc
Скачиваний:
12
Добавлен:
06.02.2016
Размер:
313.86 Кб
Скачать

1.4. Лексемы

Лексемыэто простейшие конструкции, такие как имена, числа и строки.

1.4.1. Идентификаторы

Идентификаторы применяются для обозначения объектов программы (переменных, маток, и т.п.).

В языке ассемблера (ЯА) идентификатор– это последовательность из латинских букв (больших и малых) и цифр.

Ограничения:

  1. длина идентификатора может быть любой, но значащими являются только первые 31 символ.

  2. идентификатор не должен начинаться с цифр.

  3. в идентификаторах одноименные большие и малые буквы считаются эквивалентными (Ax, aX, AX, ax – одно и тоже).

  4. в идентификаторах нельзя использовать буквы русского алфавита.

1.4.2. Целые числа

Целые числа могут быть записаны в десятеричной, двоичной(добавляется B-binary),восьмеричной(q) ишестнадцатеричной(h-hexadecimal).

Замечание. Если шестнадцатеричное число начинается с «буквенной» цифры (A –F), например A5h, следует в начале числа записывать хотя бы один незначащий ноль, иначе запись может быть воспринята как идентификатор.

1.4.3. Символьные данные

Символы заключаются либо в одинарные, либо в двойные кавычки: “A”, ‘B’, ‘A+B’.

Если в качестве символа внутри строки надо указать кавычку то делается так: если строка заключается в те кавычки, которую надо указать внутри строки, то эта кавычка удваевается, иначе удваивание не требуется. Например: ‘don’’n’, ‘’don’t’’, ‘’don’’’’t’’. Разрешается использовать кириллицу.

1.5. Предложения

Программа ЯА– это последовательность предложений, каждое из которых записывается в отдельной строке. Переносить предложение на следующую строку или записывать в одной строке два предложения нельзя. Если в предложении более 131 символа, то 132 – ой и все остальные символы игнорируются.

При записи предложений действуют следующие правила расстановки пробелов:

  • Пробел обязателен между двумя рядом стоящими идентификаторами или числами;

  • Внутри идентификаторов и чисел пробелы недопустимы;

  • В остальных местах можно ставить или не ставить;

  • Там, где допустим один пробел, можно ставить любое число пробелов.

  • По смыслу все предложения ЯА делятся на три группы:

  • Комментарии

  • Команды

  • Директивы.

1.5.1. Комментарии

Комментариемсчитается любая строка, начинающаяся со знака ‘;’ (перед ним может быть любое число пробелов) либо пустая строка.

Например:

; Заполнение регистра Ах.

В ЯА допустим и многострочный комментарий. Он должен начинаться со строки

COMMENT <маркер> <текст>.

В качестве маркера берется первый отличный от пробела символ, идущий засловом COMMENT; этот символ начинает комментарий. Концом такого комментария считается конец первой из последующих строк программы, в которой (в любой позиции) снова встретился этот же маркер.

Например:

COMMENT *все это является

комментарием к тому же * и это тоже.

Такой вид комментария используется для временного исключения фрагмента программы.

1.5.2. Команды

Предложения-команды – это символьная форма записи машинных команд.

Синтаксис:

[< метка >:] < мнемокод > [<операнды>] [; < комментарий>]

Метка

Синтаксически, метка – это имя. Метка нужна для ссылок на команду из других мест программы, например, для перехода на эту команду. В ЯА разрешается в одной строке указать только метку (с двоеточием).

Это применяется, когда:

  1. команду надо пометить двумя метками;

  2. метка очень длинная => остальную часть команды выгоднее поместить на следующей строке.

Например:

Init:

Lab: ADD BX, AX;

Мнемокод

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

Операнды

Операнды обычно записываются в виде выражений состоящих из чисел или переменных. Операнды отделяются друг от друга запятой.

Комментарий

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