Otevřít hlavní menu

Změny

Typy výrazů integrovaného assembleru

Přidáno 1 160 bajtů, 12. 10. 2012, 11:55
Vytvorená stránka „Každý výraz integrovaného assembleru patří k určitému typu. Tento typ znamená velikost, protože assembler se dívá na typ výrazu jako na velikost jeho pamě...“
Každý výraz integrovaného assembleru patří k určitému typu.

Tento typ znamená velikost, protože assembler se dívá na typ výrazu jako na velikost jeho paměťového místa v bajtech.

Assembler vykonává kontrolu typu, kdekoli je to možné; ohlásí chybu, jestliže kontrola typu selhala.

Lze použít přetypování typu paměťového odkazu. Například, všechny následující řádky se odkazují na první bajt proměnné OutBufPtr:

asm
MOV DL,BYTE PTR OutBufPtr
MOV DL,Byte(OutBufPtr)
MOV DL,OutBufPtr.Byte
end;

V některých případech je paměťový odkaz netypový; například, přímá hodnota uzavřená do hranatých závorek:

asm
MOV AL,[100H]
MOV BX,[100H]
end;

Assembler připustí oba příkazy, protože výraz [100H] má přidružený typ (tzn. "obsah adresy 100H v datovém segmentu"), který je určen prvním operandem (bajt pro AL, slovo pro BX).

V případě, kde typ nemůže být určen z prvního operandu, assembler požaduje explicitní přetypování, jako např.:

asm
INC BYTE PTR [100H]
IMUL WORD PTR [100H]
end;

[[Category:assembler]]