Direktivy assembleru: Porovnání verzí
Skočit na navigaci
Skočit na vyhledávání
Řádek 1: | Řádek 1: | ||
Integrovaný assembler podporuje tři direktivy assembleru: [[DB]] (definuje bajt), [[DW]] (definuje slovo) a [[DD]] (definuje dvojité slovo). | Integrovaný assembler podporuje tři direktivy assembleru: [[DB]] (definuje bajt), [[DW]] (definuje slovo) a [[DD]] (definuje dvojité slovo). | ||
− | {| class="wikitable" | + | {| class="wikitable" align="center" |
! Dir!! Typ operandu !! Rozsah hodnot !! Integrovaný assembler generuje | ! Dir!! Typ operandu !! Rozsah hodnot !! Integrovaný assembler generuje | ||
|----------------------------------------------------------------------------- | |----------------------------------------------------------------------------- | ||
Řádek 24: | Řádek 24: | ||
− | {| class="wikitable" | + | {| class="wikitable" align="center" |
! Dir!! Operand !! Výsledek | ! Dir!! Operand !! Výsledek | ||
|---------------------------------------- | |---------------------------------------- |
Verze z 11. 10. 2012, 21:55
Integrovaný assembler podporuje tři direktivy assembleru: DB (definuje bajt), DW (definuje slovo) a DD (definuje dvojité slovo).
Dir | Typ operandu | Rozsah hodnot | Integrovaný assembler generuje |
---|---|---|---|
DB | Konstantní výraz | -128 až 255 | 1 bajt |
Znakový řetězec | Libovolná délka | Posloupnost bajtů, korespondujících s ASCII kódem každého znaku | |
DW | Konstantní výraz | -32768 až 65535 | 1 slovo (word) |
Adresní výraz | Blízký ukazatel (slovo ofsetu) | ||
DD | Konstantní výraz | -2147483648 až 4294967295 | 1 dvojité slovo (double word) |
Adresní výraz | Vzdálený ukazatel (slovo ofsetu následované slovem segmentu) |
Data generovaná direktivami DB, DW a DD jsou vždy uložena v programovém segmentu.
Ke generování neinicializovaných a inicializovaných dat v datovém segmentu Turbo Pascal normálně používá deklarace var nebo const.
Zde jsou některé příklady direktiv DB, DW a DD:
Dir | Operand | Výsledek |
---|---|---|
DB | 0FFH | Jeden bajt |
DB | 0,99 | Dva bajty |
DB | 'A' | Ord('A') |
DB | 'Hello...',0DH,0AH | Řetězec + CR/LF |
DB | 12,"Turbo Pascal" | Řetězec ve stylu Pascalu |
DW | 0FFFFH | Jedno slovo |
DW | 0,9999 | Dvě slova |
DW | 'A' | Stejně jako DB 'A',0 |
DD | 'DCBA' | Stejně jako DB 'A','B','C','D' |
DW | MyVar | Ofset MyVar |
DW | MyProc | Ofset MyProc |
DD | 0FFFFFFFFH | Jedno dvojité slovo |
DD | 0,999999999 | Dvě dvojitá slova |
DD | 'A' | Stejně jako DB 'A',0,0,0 |
DD | 'DCBA' | Stejně jako DB 'A','B','C','D' |
DD | MyVar | Ukazatel na MyVar |
DD | MyProc | Ukazatel na MyProc |
Jediný typ symbolu, který může být definován v příkazech integrovaného assembleru, je pouze návěští. Všechny proměnné musí být deklarovány pomocí deklarační syntaxe Pascalu.