Метки
Меткой является последовательность цифр в диапазоне от 0 до 9999. Начальные нули не являются значащими. Метки используются с операторами перехода goto.
----------------------- Метка -------T-------->¦ последовательность +----------> ¦ ¦ цифр ¦ ^ ¦ L----------------------- ¦ ¦ ¦ ¦ -------------- ¦ L----------->¦идентификатор+------------- L--------------
Как расширение стандартного Паскаля, Borland Pascal позволя- ет использовать в качестве меток идентификаторы функций.
Метки в ассемблере определяются также, как в Паскале: перед оператором записывается идентификатор метки и двоеточие. Как и в Паскале, метки в ассемблере должны описываться в объявлении label того блока, который содержит оператор asm. Однако из этого прави- ла есть одно исключение. Это локальные метки.
Локальные метки - это метки, которые начинаются с символа @. Поскольку этот символ не может быть частью идентификатора Паска- ля, такие локальные метки автоматически ограничиваются использо- ванием их в операторах asm. Локальная метка известна только в оп- ределяющем ее операторе asm (то есть область действия локальной метки начинается от ключевого слова asm и заканчивается ключевым словом end оператора asm, который ее содержит).
В отличие от обычной метки, локальную метку перед ее исполь- зованием не требуется описывать в объявлении label.
Идентификатор локальной метки состоит из символа @, за кото- рым следует одна или более букв (A..Z) цифр (0..9) символов под- черкивания или символов @. Как и все метки, идентификатор завер- шается двоеточием.
Коды инструкций
Встроенный ассемблер поддерживает инструкции процессоров 8086/8087 и 80286/80287. Инструкции процессора 8087 доступны только в состоянии {$N+} (разрешено использование сопроцессора), инструкции процессора 80286 - только в состоянии {$G+} (разрешена генерация кода для процессора 80286), а инструкции сопроцессора 80287 - только в состоянии {$G+,N+}.
Полное описание каждой инструкции содержится в справочных материалах по процессорам 80х86 и 80х87.