Руководство по языку B.Pascal 7

Операнды


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

Во встроенном ассемблере предопределенный смысл имеют следу- ющие зарезервированные слова:

AH CL FAR SEG AL CS HIGH SHL AND CX LOW SHR AX DH MOD SI BH DI NEAR SP BL DL NOT SS BP DS OFFSET ST BX DWORD OR TBYTE BYTE DX PTR TYPE CH ES WQORD WORD XOR

Зарезервированные слова всегда имеют больший приоритет, чем определенные пользователем идентификаторы. Например, во фрагменте программы:

var ch: Char; ... asm mov ch,1 end;

1 будет загружаться в регистр CH, а не в переменную CH. Для дос- тупа к определенному пользователем имени нужно использовать ам- персанд - операцию переопределения идентификатора (&).

asm mov &ch,1 end;

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



Содержание раздела