Inline: Porovnání verzí
Skočit na navigaci
Skočit na vyhledávání
(Vytvorená stránka „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...“) |
(Žádný rozdíl)
|
Verze z 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é