A szegmensek assembly - studopediya
Egyszer volt egy kérdés a sugárzását a program egyes részeit felmerül az a kérdés, hogy ezek a részek működnek. Az igazságosság meg kell jegyezni, hogy még ha nem gondol a szegmensek két szegmenst a program: a program memória és az adatok memóriában. Ha jobban megnézed a programot, akkor rájössz, hogy amellett, hogy utasítást a program memória tárolja állandók, azaz a program memóriában vannak elhelyezve, legalább két szegmens: szoftverek és adatok. A váltakozás a program és az adatok vezethetnek kívánatos következményei. Bármely okból adatok véletlenül lehet végezni, mint program, vagy fordítva tudja fogadni és feldolgozni, mint az adatokat.

Ábra V.3.1. Hasítás programot és adatmemóriát szegmenseket.
A fent említett okok miatt ahhoz a tényhez vezetnek, hogy kívánatos, hogy egyértelműen megkülönböztesse legalább három szegmens:
Annak meghatározására, az abszolút memória szegmensek használt irányelv:
CSEG - abszolút szegmens a programban memória
DSEG - abszolút szegmens a belső adatmemória
XSEG - abszolút szegmens a külső adatokat memóriában
Ábra V.3.3. Példa CSEG irányelv használ elhelyezésére ISR.
szegmens irányelv lehetővé teszi, hogy meghatározza a szegmens nevét és a memória terület, amely otthont ad a memória szegmensben. Minden memóriahely megadott kulcsszó:
· Xdata - forgalomba egy szegmens a külső adatokat memóriában;
· Code - elhelyezése a szegmensben a program memória;
_data szegmens iData
Ebben a példában a bejelentett húr buferKlav, amely nyolc byte változókat. Ezen kívül ebben a példában, a változó deklarált VershSteka, amely megfelel az utolsó memóriaterület, amely tárolására használt változókat. Változó VershSteka lehet használni az inicializáláshoz a stack pointer annak érdekében, hogy kiosztani, hogy egy köteget a legnagyobb felhasználható belső memória mennyisége sejtek. Erre azért van szükség annak érdekében, hogy elkerülje a verem túlcsordulás, amikor hívja beágyazott alprogram.
_bits szegmens bit