Читать «Assembler. Программирование на языке ассемблера IBM PC» онлайн - страница 18

Unknown Author

В ЯА разрешается в одной строке указывать только метку (с двоеточием) и больше ничего. Такая метка, считается, метит следующую команду программы. Эта возможность полезна, по крайней мере, в двух случаях: когда команду надо пометить двумя или более метками и когда метка очень длинная и потому остальная часть команды слишком сильно сдвигается вправо, что плохо смотрится.

Пример:

INITIALIZATION:

LAB: ADD ВХ,АХ

Мнемокод

Мнемокод (мнемонический код) является обязательной частью команды. Это служебное слово, указывающее в символьной форме операцию, которую должна выполнить команда. В Я А не используются цифровые коды операций, операции указываются только своими символьными названиями, которые, конечно, легче запомнить (слово ’’мнемонический’1 означает "легко запоминающийся").

Сами мнемокоды мы будем рассматривать по ходу дела, при описании команд.

Операнды

Операнды команды, если они есть, отделяются друг от друга запятыми. Операнды обычно записываются в виде выражений, о которых мы еще будет говорить. Пока лишь отметим, что частными случаями выражений являются числа и имена переменных. В отличие от машинного языка, в ЯА в командах не указываются адреса ячеек и, чтобы сослаться на какую-то переменную (ячейку), ей дают имя, а затем в командах указывают это имя.

Комментари й

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

2.2 3. Директивы

Помимо машинных команд в программе на ЯА надо указывать и другие вещи. Например, надо сообщать, какие константы и переменные используются в программе и какие имена мы им дали. Это делается с помощью предложений, называемых приказами ассемблеру или директивами.

Синтаксис директив следующий:

[<имя>] «название директивы> [«операнды>] [;«комментарий]

Пример:

X DB 10,-5,0FFh ; массив X

Как видно, формат директив в целом совпадает с форматом команд. Единственное отличие - в директиве после имени, если оно есть, не ставится двоеточие.

Имя, указываемое в начале директивы, - это, как правило, имя константы или переменной, описываемой данной директивой. В нашем примере X - это имя переменной-массива из трех элементов.

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

Остальные части директивы (операнды и комментарий) записываются так же, как и в командах.

2.2.4. Ссылки назад и вперед

Теперь сделаем несколько замечаний о метках и именах.

Во-первых, метки команд и имена (констант, переменных и т. п.), указываемые в директивах, - это, вообще говоря, разные вещи как по смыслу, так и по ряду формальных признаков. Однако, если не вдаваться в детали, то метки можно рассматривать как имена команд. Поэтому в дальнейшем под термином "имя” мы будем обычно понимать как имена переменных, так и метки.