Direktivy assembleru: Porovnání verzí

Z Delphi & Pascal (česká wiki)
Skočit na navigaci Skočit na vyhledávání
m (1 revízia: Assembler pismeno D)
 
(Není zobrazeno 5 mezilehlých verzí od stejného uživatele.)
Řádek 1: Řádek 1:
 +
;Direktivy assembleru DB, DW a DD
 
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" align="center"
+
{| class="wikitable"
! Dir!! Typ operandu    !! Rozsah hodnot    !! Integrovaný assembler generuje
+
! Dir!! Typ operandu    !! align="left"| Rozsah hodnot    !! align="left"| Integrovaný assembler generuje
 
|-----------------------------------------------------------------------------
 
|-----------------------------------------------------------------------------
 
| DB || Konstantní výraz || -128 až 255      || 1 bajt
 
| DB || Konstantní výraz || -128 až 255      || 1 bajt

Aktuální verze z 9. 11. 2012, 21:18

Direktivy assembleru DB, DW a DD

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.