Ľudmila Jánošíková

Programovanie v jazyku symbolických adries

pre 32-bitové procesory Intel
Obsah Index
Segmentové direktívy

Segmentové direktívy určujú rozdelenie programu a dát do segmentov. Rozdeľujeme ich na zjednodušené a štandardné. Direktívy .MODEL, .STACK, .DATA, .CODE patria medzi zjednodušené direktívy. Prečo sa nazývajú zjednodušené, to pochopíte, keď uvidíte všetky parametre štandardných direktív... Pri zjednodušených direktívach sa segmentom automaticky priraďujú preddefinované mená a atribúty.

Zjednodušené segmentové direktívy

Pri použití zjednodušených segmentových direktív musíme ako prvú v programe uviesť direktívu

.MODEL model_pamäti [jazyk]

ktorá určuje, v koľkých segmentoch bude uložený program a dáta.

V 16-bitovom režime parameter model_pamäti môže byť:

  • tiny – inštrukcie aj dáta sú v jednom segmente;
  • small – inštrukcie a dáta sú v samostatných segmentoch;
  • medium – inštrukcie môžu byť vo viacerých segmentoch, dáta sú v jednom segmente;
  • compact – inštrukcie sú v jednom segmente, dáta môžu byť vo viacerých segmentoch, jedna údajová štruktúra však nesmie byť väčšia ako 64 kB;
  • large – inštrukcie aj dáta môžu byť vo viacerých segmentoch, jedna údajová štruktúra však nesmie byť väčšia ako 64 kB;
  • huge – inštrukcie aj dáta môžu byť vo viacerých segmentoch, štruktúry môžu byť dlhšie ako 64 kB (smerníky na položky štruktúr budú typu far).

V 32-bitovom režime sa používa jediný model pamäti, a to flat. V tomto modeli sú dáta v jednom segmente a inštrukcie tiež v jednom segmente, teda podobne ako v modeli small, ale offset je 32-bitový.

Špecifikácia jazyka nastavuje implicitný spôsob ukladania a vyberania parametrov zo zásobníka pri volaní procedúr. Jazyk môže byť Pascal, Basic, Fortran, C, Prolog a Stdcall.

Direktíva

.STACK [veľkosť]

určuje začiatok zásobníkového segmentu. Parameter veľkosť musí byť konštanta. Implicitná veľkosť zásobníka je 1 KB.

Direktíva

.DATA

určuje začiatok dátového segmentu.

Direktíva

.CODE

určuje začiatok kódového segmentu.

Pri použití zjednodušených segmentových direktív končí segment tam, kde začína nasledujúci segment, alebo na konci programu (na direktíve END).

Hore

Načo je vám jazyk symbolických adries?

Architektúra moderných procesorov

Registre

Spôsoby adresovania

Premenné a návestia

Symbolické konštanty

Inštrukčný súbor

Segmentové direktívy

Moduly

Služby operačného systému MS-DOS

Služby operačného systému Windows 95/98/NT/XP

Systémová úroveň vstupu a výstupu

Prostriedky pre prípravu programu

Cvičenie | Štandardné segmentové direktívy
Vydala Žilinská univerzita v Žiline, 2000. ISBN 80-7100-723-4.
Otázky a pripomienky môžete poslať autorke.
Naposledy upravené 29.10.2007.