Iinline

Встроенные операторы и директивы позволяют вам вставлять команды машинного кода непосредственно в код программы или модуля.

Замечания

Когда используется как оператор, встроенные команды вставляются непосредственно в генерируемый код.

Когда используется как директива при объявлении процедуры или функции, встроенные команды вставляются в генерируемый код, каждый раз при вызове процедуры или функции.

Встроенная команда состоит из идентификатора константы или переменной,необязательно предваренных указателем размера "<" или ">".

Идентификатор переменной может сопровождаться знаком + (плюс) или - (минус)и константой, для определения смещения от адреса переменной.

Встроенная команда генерирует 1 байт кода, если это константа в диапазоне от 0 до 255; иначе она генерирует слово (2 байта).

Вы можете использовать операторы "<" и ">", для отмены автоматического выбора размера

  • < Всегда генерирует байт,
  • > Всегда генерирует слово.
Синтаксис

InLine (команда/команда/.../команда)

Примеры
Пример:
(* Встроенный оператор *)
Procedure FillWord(Var Dest; Count : Word; Data : Word);
Begin
 Inline(
  $C4/$7E/<Dest/    (* les   di, Dest[bp] *)
  $8B/$4E/<Count/   (* mov   cx, Count[bp]*)
  $8B/$46/<Data/    (* mov   ax, Data[bp] *)
  $FC/              (* cld                *)
  $F3/$AB);         (* rep   stosw        *)
End;

См. также  Встроенный ассемблер.