Функции и процедурыДирективы компилятораВстроенный ассемблерКоманды редактора и зарезервированные словаСообщения об ошибкахПримеры программНаписать письмо
О проектеАвтора!Автора!

 

 

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

Синтаксис:
InLine (команда/команда/.../команда)

Замечания:
Когда используется как оператор, встроенные команды вставляются непосредственно в генерируемый код. Когда используется как директива при объявлении процедуры или функции, встроенные команды вставляются в генерируемый код, каждый раз при вызове процедуры или функции. Встроенная команда состоит из идентификатора константы или переменной, необязательно предваренных указателем размера "<" или ">". Идентификатор переменной может сопровождаться знаком + (плюс) или - (минус) и константой, для определения смещения от адреса переменной. Встроенная команда генерирует 1 байт кода, если это константа в диапазоне от 0 до 255; иначе она генерирует слово (2 байта). Вы можете использовать операторы "<" и ">", для отмены автоматического выбора размера:
< Всегда генерирует байт,
> Всегда генерирует слово.

Пример:
(* Встроенный оператор *)
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;

Hosted by uCoz