Přidáno 1 402 bajtů,
29. 9. 2012, 22:26 Příkaz a direktiva inline dovoluje vkládat instrukce strojového kódu přímo do kódu jednotky nebo programu.
;Syntaxe
inline ( data / data / ... data )
;Popis
:Když je použit jako příkaz, data za slovem inline jsou přímo vloženy do kódu.
Když je použita jako direktiva v záhlaví procedury nebo funkce, data za slovem inline jsou přímo vložena do kódu při každém volání procedury nebo funkce.
*Data sestávají z identifikátoru konstanty nebo proměnné, s volitelným prefixovým operátorem explicitní specifikace délky < nebo >.
*Identifikátor proměnné může být následován znakem plus (+) nebo mínus (-) a konstantou, která určuje ofset z adresy proměnné.
*Je-li konstanta v rozsahu 0..255, prvek inline generuje 1 bajt, jinak generuje slovo (word).
*Operátory < a > lze použít pro řízení velikosti kódu (překrývá se automatické generování).
< znamená, vždy generuj bajt
> znamená, vždy generuj slovo (word)
Příklad
(* příkaz "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;
;Viz také
[[Integrovaný assembler]]
[[Category:rezervovaná slova]]