Otevřít hlavní menu

Změny

Direktivy assembleru DB, DW a DD

Přidáno 3 388 bajtů, 12. 10. 2012, 12:17
bez shrnutí editace
Integrovaný assembler podporuje tři direktivy assembleru: [[DB]] (definuje bajt), [[DW]] (definuje slovo) a [[DD]] (definuje dvojité slovo).

{| class="wikitable"
! Dir!! Typ operandu !! align="left"| Rozsah hodnot !! align="left"| 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:


{| class="wikitable" align="center"
! 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.
[[Category:assembler]]