Прежде чем двигаться дальше, обсудим синтаксис команд языка ассем-
блера.Мы должны выделить основные компоненты языка ассемблера,
чтобы можно было затем обозначать эти компоненты с помощью
сиандартных терминов.
Команда языка ассемблера состоит из четырех частей. Фиг. 2.8
показывает типичную команду ассемблера и названия этих частей.
--------------------------------------------------------
PART1: ADD AX,BX ;Добавить к длине буфера
Метка ОпКод Операнды Комментарий
--------------------------------------------------------
Фиг. 2.8 Синтаксис языка ассемблера
Единственная обязательная часть команды языка ассемблера - ОпКод
(сокращение от ОПерационный КОД). Программисты иногда называют ма-
шинные команды кодами операций. Операционный код в утверждении язы-
ка асемблера определяет, какую опреацию должен будет выполнить про-
цессор, в нашем примере - операцию сложения (по английски - add -
прим. перев.).
Поле операндов содержит дополнительную информацию о команде,
например, какие значения участвуют в операции. Поле операндов
определяется операционным кодом. Каждому коду операции должно
соответствовать определенное число операндов. Для команды ADD
требуется два операнда; операция перемены знака (NEG) обходится
лишь одним, а для некоторых команд, например, команды десятичной
коррекции DAA, операнды не нужны. В главе 4 описаны эти команды и
их операнды.
Метка и комментарий необязательны в команде. Поле метки позво-
ляет обозначить какое-либо конкретное место в памяти компьютера.
Собственный адрес имеется у любого участка памяти, но выделить
адрес какой либо команды трудно, если вообще возможно. Метка
позволяет идентифицировать определенное место в памяти заданным
программистом именем. Говоря технически, поле метки содержит
символический указатель расположения команды. Если мы хотим обра-
титься к этой команде позднее, то мы делаем это через символьное
имя и нам не требуетсся указывать абсолютное расположение данной
инструкции. Использование меток - одна из причин предпочтительности
языка ассемблера перед машинным языком. Превращением же симво-
лических имен в реальные адреса ведает ассемблер.
Поле комментариев служит для удобства программиста.
Программист может использовать это поле для сообщения
дополнительной информации о команде. Комментарий не обязательно
жестко связан с командой. Вы можете отвести под комментарий целую
строку, поставив в ее начале символ ";". Это позвляет программисту
в ключить в листинг ассембле- ра блок собственной информации, к
примеру, описание используемого алгоритма.
У каждого есть собственное представление о том, как следует
комментировать программы, и вы наверняка тоже скоро выработаете
свое. Как правило, вы будете пытаться включать в них информацию,
которая относится непосредственно к решаемой проблеме. В при-
веденном примере было бы бессмысленно комментировать команду
чем-нибудь вроде "сложить AX и BX". Это не более, чем повторение
операционного кода и операндов (разве что в переводе с английского
- прим.перев.). Если уж вы намерены связаться с комментариями, то
делайте их достойными труда их написания и чтения.