Használja szegmensekben assembly nyelvű programozás

Meg kell jegyezni, hogy még ha nem gondol a szegmensek két szegmenst a program: kódszegmenshez és adat szegmensben. Ha jobban megnézed a programot, akkor rájössz, hogy amellett, hogy az állandó parancskódokat tárolja a program memória, azaz a memóriában a mikrokontroller program legalább két szegmens: szoftverek és adatok. A váltakozás a program és állandók vezethet nemkívánatos következmények. Bármely okból adatokat lehet véletlenül végre egy programot, vagy fordítva programot lehet venni és feldolgozni, mint az adatokat.

1. ábra partíció a program és adatmemóriát szegmenseket.

A fent említett okok miatt ahhoz a tényhez vezetnek, hogy kívánatos, hogy kifejezetten azonosítani legalább négy szegmens:

Abszolút memória szegmensek

Annak meghatározására, az abszolút memória szegmensek használt irányelv:

3. ábra: Példa a használatra CSEG irányelv feladni ISR.

Roaming memória szegmensek

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ó:

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.

Példa a mozgatható szegmensek a forrás programot a 8. ábrán látható.

8. ábra: Példa a szegmens irányelvek és Őrségi egy szoftver modul

Ez a példa azt mutatja, a kezdeti részét a program a mikrokontroller mag, amely lehetővé tette az átmenet nulla programozási memória sejtek. Egy ilyen program szerkezete lehetővé teszi, hogy bármikor, hogy használja fel a megszakítási vektort egy adott mikrokontroller ami meg van írva a program, ha szükséges. Elhelyezése meghatározza e vektor segítségével cseg irányelvet.

A példában használt nevét a mozgatható szegmens _code. Ezt jelentette be a legelső sorban a forráskódot. A konkrét neve a roaming szegmens bármi lehet, de ahogy korábban említettük, tükröznie kell a problémát kell megoldani az adott modult.

Együtt a cikk „A szegmensek assembly nyelven programozás” így szól:

Kapcsolódó cikkek