Ľudmila Jánošíková | |||||||||||||||||||||||||||||||
Programovanie v jazyku symbolických adries | |||||||||||||||||||||||||||||||
pre 32-bitové procesory Intel | |||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||
Atribúty premenných a návestí
Premenné a návestia sú charakterizované atribútmi
Vo výrazoch môžeme používať operátory, ktoré vracajú alebo prepisujú hodnoty týchto atribútov (tab. 2).
Ako vidieť z tabuľky, operátor type v spojení s premennou vráti počet bajtov, ktoré zaberá jednotka pamäti pridelená premennej direktívou Dx. Hodnota, ktorú vráti operátor, sa nemení, aj keď je premennej pridelených viacej jednotiek (ak je premennou povedzme vektor alebo reťazec). Operátor length vráti hodnotu väčšiu ako 1 len v prípade viacnásobnej deklarácie s použitím operátora dup. PríkladyHodnota DW 1234h Post DB 5,6,7 Pole DW 100 dup(0) mov al,type Hodnota
; al := 2 Operátor ptr dovoľuje napr. pristupovať k jednotlivým bajtom premennej typu word, alebo naopak, považovať samostatne definované bajty za jedno slovo: Hodnota DW 1234h mov al,byte ptr [Hodnota] ; al := 34h Operátor ptr je nevyhnutný v situáciách, kedy prekladač nevie posúdiť, s akým typom pamäťových operandov inštrukcia pracuje. Napr. v inštrukcii nie je jasné, či chceme uložiť 1 do bajtu alebo slova, ktorého adresa je v registri EBX. Takúto inštrukciu prekladač považuje za chybnú a vyžaduje špecifikáciu typu pamäťového operandu: alebo Medzi operátory prepisujúce hodnoty atribútov by sme mohli zaradiť aj operátor this, ktorý definuje premennú alebo návestie daného typu na danom mieste programu. Používa sa v spojení s direktívou EQU vo forme príkazu identifikátor
EQU this typ
1
Pomocou tohto
operátora môžeme pristupovať k už definovanému objektu pod iným menom
s iným typom bez toho, aby sme v inštrukcii museli použiť prepis
typu, napr. Hodnota EQU this word
Cislo DB 1,2 mov al,[Cislo] ;
al := 1 1 Direktíva EQU v spojení
s operátorom this má rovnaký
význam ako direktíva LABEL, tzn.
uvedený zápis je ekvivalentný so zápisom: identifikátor LABEL typ. |
Načo je vám jazyk symbolických adries?
Architektúra moderných procesorov Služby operačného systému MS-DOS Služby operačného systému Windows 95/98/NT/XP |
||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||
Vydala Žilinská univerzita v Žiline, 2000. ISBN 80-7100-723-4. Otázky a pripomienky môžete poslať autorke. Naposledy upravené 28.9.2015. |