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

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

    блера.Мы должны выделить основные компоненты языка ассемблера,

    чтобы можно было затем обозначать эти компоненты с помощью

    сиандартных терминов.

 

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

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

 

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

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

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

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

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

 

    Единственная обязательная часть команды языка ассемблера - ОпКод

    (сокращение от ОПерационный КОД).  Программисты иногда называют ма-

    шинные команды кодами операций. Операционный код в утверждении язы-

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

    цессор, в нашем примере - операцию сложения (по английски - add -

    прим.  перев.).

 

      Поле операндов содержит дополнительную информацию о команде,

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

    определяется операционным кодом.  Каждому коду операции должно

    соответствовать определенное число операндов.  Для команды ADD

    требуется два операнда; операция перемены знака (NEG) обходится

    лишь одним, а для некоторых команд, например, команды десятичной

    коррекции DAA, операнды не нужны.  В главе 4 описаны эти команды и

    их операнды.

 

      Метка и комментарий необязательны  в команде. Поле метки позво-

    ляет  обозначить какое-либо  конкретное место  в памяти компьютера.

    Собственный  адрес имеется      у  любого  участка памяти,  но выделить

    адрес  какой  либо  команды  трудно,  если  вообще      возможно. Метка

    позволяет  идентифицировать  определенное  место  в памяти заданным

    программистом  именем.  Говоря   технически,  поле      метки  содержит

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

    титься к  этой команде позднее,  то мы делаем  это через символьное

    имя и  нам не требуетсся  указывать абсолютное расположение  данной

    инструкции. Использование меток - одна из причин предпочтительности

    языка  ассемблера  перед  машинным    языком.  Превращением же симво-

    лических имен в реальные адреса ведает ассемблер.

 

      Поле комментариев служит для удобства программиста.

    Программист может использовать это поле для сообщения

    дополнительной информации о команде.  Комментарий не обязательно

    жестко связан с командой.  Вы можете отвести под комментарий целую

    строку, поставив в ее начале символ ";".  Это позвляет программисту

    в ключить в листинг ассембле- ра блок собственной информации, к

    примеру, описание используемого алгоритма.

 

      У  каждого есть  собственное представление  о том,  как следует

    комментировать  программы, и  вы наверняка  тоже скоро  выработаете

    свое. Как  правило, вы будете  пытаться включать в      них информацию,

    которая  относится  непосредственно  к  решаемой  проблеме.  В при-

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

    чем-нибудь вроде  "сложить AX и  BX". Это не  более, чем повторение

    операционного кода и операндов (разве  что в переводе с английского

    - прим.перев.). Если  уж вы намерены связаться  с комментариями, то

    делайте их достойными труда их написания и чтения.