Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ассемблер.doc
Скачиваний:
24
Добавлен:
25.08.2019
Размер:
526.34 Кб
Скачать

2.5. Синаксис языка Ассемблера

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

Команда языка ассемблера состоит из четырех частей. Фиг. 2.8 показывает типичную команду ассемблера и названия этих частей.

--------------------------------------------------------

PART1: ADD AX,BX ;Добавить к длине буфера

Метка ОпКод Операнды Комментарий

--------------------------------------------------------

Фиг. 2.8 Синтаксис языка ассемблера

Единственная обязательная часть команды языка ассемблера - ОпКод (сокращение от ОПерационный КОД). Программисты иногда называют машинные команды кодами операций. Операционный код в утверждении языка асемблера определяет, какую операцию должен будет выполнить процессор, в нашем примере - операцию сложения (по английски - add - прим. перев.).

Поле операндов содержит дополнительную информацию о команде, например, какие значения участвуют в операции. Поле операндов определяется операционным кодом. Каждому коду операции должно соответствовать определенное число операндов. Для команды ADD требуется два операнда; операция перемены знака (NEG) обходится лишь одним, а для некоторых команд, например, команды десятичной коррекции DAA, операнды не нужны. В главе 4 описаны эти команды и их операнды.

Метка и комментарий необязательны в команде. Поле метки позволяет обозначить какое-либо конкретное место в памяти компьютера. Собственный адрес имеется у любого участка памяти, но выделить адрес какой либо команды трудно, если вообще возможно. Метка позволяет идентифицировать определенное место в памяти заданным программистом именем. Говоря технически, поле метки содержит символический указатель расположения команды. Если мы хотим обратиться к этой команде позднее, то мы делаем это через символьное имя и нам не требуетсся указывать абсолютное расположение данной инструкции. Использование меток - одна из причин предпочтительности языка ассемблера перед машинным языком. Превращением же символических имен в реальные адреса ведает ассемблер.

Поле комментариев служит для удобства программиста. Программист может использовать это поле для сообщения дополнительной информации о команде. Комментарий не обязательно жестко связан с командой. Вы можете отвести под комментарий целую строку, поставив в ее начале символ ";". Это позвляет программисту в ключить в листинг ассемблера блок собственной информации, к примеру, описание используемого алгоритма.

У каждого есть собственное представление о том, как следует комментировать программы, и вы наверняка тоже скоро выработаете свое. Как правило, вы будете пытаться включать в них информацию, которая относится непосредственно к решаемой проблеме. В приведенном примере было бы бессмысленно комментировать команду чем-нибудь вроде "сложить AX и BX". Это не более, чем повторение операционного кода и операндов (разве что в переводе с английского - прим.перев.). Если уж вы намерены связаться с комментариями, то делайте их достойными труда их написания и чтения.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]