Alapjai assembly nyelven
1.1. Memória és a processzor
Ábra. 1.1. Kölcsönhatás RAM és a CPU.

Ábra. 1.2. Bájt, szó és dupla szó.
Amikor beszélünk a tartalmát a multi-byte szükséges hivatkozni annak alkotó byte; ezek bájt hagyományosan számozott nullától találhatók (ha a kép a papíron) növekvő sorrendben jobbról balra, hogy a balra bájtok nagy szoba, és a jobb oldalon - a byte alacsonyabb számokat. Legbaloldalibb byte úgynevezett vének és a szélsőjobboldal - a legfiatalabb. Ez a sorrend a byte kapcsolatos szokásos számunkra, így a felvétel szám: az jegyű szám a bal jelzi jelentős bit, és a jobb oldalon - a fiatalabb. A következő szám, ha írni az előzőt, majd újra kezdődik az MSB és a fiatalabb végén. Azonban a számítógépes adattároló található egy több természetes módon folyamatos növekedése számának bájt, és így, minden szó vagy dupla szó szerepel a memóriában kezdődik alacsony bájt és végződik a legmagasabb (ábra. 1.3).

Ábra. 1.3. A számozás a bájtok többájtos adatokat.


1.3. CPU regiszterek
Senior előre AX regiszter bájt low byte regisztrációhoz BX, anélkül, hogy a második bájt e nyilvántartások. Vegyük észre, hogy az első operandus meghatározott vevőt, és a tizedespont után - .operand forrás, azaz a csapat fut jobbról balra.

Ábra. 1.6. CPU regiszterek.

Ábra. 1.7. zászlók regisztráljon
állami zászlók vannak beállítva, hogy újra feldolgozása után a következő utasítás, és lehetséges, hogy bizonyos mértékig, hogy megítélje az eredménye ez a parancs (például azt, hogy ez az eredmény, nulla). ellenőrzési zászlók lehetővé teszi, hogy változtatni a feltételeket, a processzor, például, hogy engedélyezze vagy tiltsa le a hardveres megszakítások. Tekintsük először az állami zászlók.
szállítására zászló CF (Carry Flag) jelzi átszállítására vagy kölcsönzésére, ha az aritmetikai műveleteket. Szállítás utal, hogy a helyzet, ha az eredmény helyes, általánosságban, a parancsok számát képződik, amely több, mint 16 bit, és ezért nem kerülnek a nyilvántartásban vagy memória cella. Tegyük fel például, hogy az AH regiszter tartalmazza a szám 60000, és a nyilvántartásban BX - 40000. Ha hozzá használati
1.4. Szegmens struktúra programok
mov ax, adatok konfigurálása DS
mov DS, AX; adatszegmens
Kulcs / z teszi kimenetet egy program forráskódját szöveges kijelző sor, amelynek során a szerelő talált hibát (anélkül, hogy ez a kulcs keresési kellene végezni hibát sugárzott hirdetések).
Kulcs / zi ellenőrzések fordult a tárgy információs fájl nem szükséges, ha a program végrehajtásához, de használják a debugger.
Kulcs / n elnyomja felsorolja a szimbolikus jelölés listája a program, amely valamelyest csökken tájékoztató
felsorolja, de csökkent a mérete.
Szembenézni további paraméterek határozzák meg a fájlneveket az eredeti (P.ASM), tárgy (P.OBJ) és felsorolja (P.LST). Érdemes lehet hívni a vonalat fordítót, hogy adja meg a teljes fájlneveket a kiterjesztéseket, de ez nem szükséges, mivel az alapértelmezett fordító használ kiterjesztésű fent felsorolt.
Hívjon sorelrendezéshez a következő formában:
Kulcs / x hirdetést elrendezés elnyomja a kialakulását, amely általában nincs szükség.
/ V kapcsoló továbbítja az indító információs fájl, amit a debugger. Szembenézni további paraméterek tüntetni a modulok: tárgy (R.OY) és a boot (R.EHE).
Mivel a tanulmány ezt a könyvet, akkor kell írni, és debug számos program, célszerű létrehozni egy batch fájl (neve, például A.VAT), amely automatizálja a végrehajtását az azonos típusú broadcast műveletek és elrendezését. Szöveg kötegelt fájlban a legegyszerűbb formája lehet, így (feltételezve, hogy a könyvtár elérési útját a csomag TASM szerepel a PATH parancs paraméter):
TASM / z / zi / n p, p, p
tlink / X / V p, p
A program futtatása készítünk R.EHE .r.ehe vagy csak csapatban
Amikor A program letöltése szegmensek vannak elhelyezve a memóriában ábrán látható. 1.9.

Ábra. 1.9. A kép a program a memóriában.

Ábra. 1.10. Szervezése a verem:
és - az eredeti állapot, b - A betöltés után az elem (ebben a példában - tartalom AX regiszter) a - betöltése után a második elem (DS regiszter tartalma) g - ürítése után egy elem, d - kirakodása után a két elem és a reset állam.
át a köteget, hogy az ábrán látható állapot. 1.10. A verem most tárolni a két elem, amely csak akkor lesz elérhető, hogy a felső, ami azt jelzi, a stack pointer SP. Ha egy idő után, akkor vissza kell állítani az eredeti tartalmát nyilvántartások mentett a verem, meg kell végre a mentesítési parancsot a verem pop (push):
A stack után az első parancs ábrán látható. 1,10 g, és miután a második - az ábrán. . 1.10, stb helyes helyreállítása a regiszter tartalma verem kirakodás kell elvégezni megrendelést szemben súlyosan terhelt - terheletlen első elem terhelése utolsó, akkor az előző elem, stb
Ez nem szükséges, ha az adatok visszaállítása, hogy őket vissza, ahol voltak mentés előtt. Például, a köteg lehet helyezni a tartalom DS, és távolítsa el onnan a többi szegmens regiszter - ES;
nyomja DS
pop ES; Most ES = DS és a verem üres
1.6. megszakítási rendszer
A rendszer megszakítja bármely számítógép legfontosabb része, amely lehetővé teszi, hogy gyorsan reagálni az eseményekre, a feldolgozás azonnal végrehajtható :. jeleket a gép időzítő, nyomja meg a billentyűzet vagy az egér gombok, memória hibák, stb Nézzük általában a rendszer komponenseinek.
hardver megszakítás jeleket származó eszközök szerepelnek a számítógép vagy a hozzá csatlakoztatott eljutnak a CPU nem közvetlenül, hanem két, megszakítás vezérlők, amelyek közül az egyik az úgynevezett ólom, és a második - a slave (1.11 ábra).

Ábra. 1.11. Hardver Megszakítás Szervezet.
Két vezérlők használnak, hogy növeljék a megengedett számú külső eszközzel. Az a tény, hogy minden megszakítás vezérlő képes kiszolgálni csak jeleket 8 eszköz. Szolgálni több vezérlő eszközöket lehet alkot egy legyező alakú szerkezettel. A modern gépek, két a vezérlő, ezzel is növelve a lehetséges számát beviteli eszközök 15 (7 a master és a slave vezérlők 8).
Ahhoz, hogy a bemeneti terminál IRQ1. IRQ7 és IRQ8. IRQ15-re (IRQ - rövidítése bekopogtatás, megszakítás kérelem) is csatlakozik a kimeneti eszköz, amelyben a megszakítás jelek fordulnak elő. Hozam master vezérlő bemenetéhez csatlakozik INT a mikroprocesszor, és a kimenet a szolga - IRQ2 bemenet a mester. A fő funkciója a vezérlő - jelzések megszakításkérelmeket külső eszközök egyetlen megszakítási bemenet a mikroprocesszor. Így, azzal az eltéréssel, INT jelet továbbítjuk a mikroprocesszoros vezérlő vezetékeken keresztül adatokat vektor száma, amely in a vezérlő egy bázis hozzáadásával tárolt szám egyik regiszterek, a bemeneti vonal számát, ahol a megszakítás kérés érkezett. A szobák alapvető vektorok bekerülnek a szabályozó automatikusan a kezdeti boot időt. Master vezérlő bázis vektor mindig egyenlő 8, a szolga - 70H. Így a vektorok számát vannak rendelve hardver megszakítások, amelyek a tartományokban 8h. Fh és 70 óra. 77h. Nyilvánvaló, hogy a hardver megszakítási vektort szám egyedi módon kapcsolódik sorszámok vagy szintek IRQ, és rajtuk keresztül - specifikus számítástechnikai eszközök. Ábra. 1.11 ábra néhány szabványos számítógépes eszközök működő megszakítási mód.
A processzor a megszakítás jelet, hajt végre egy sor szabványos műveleteket, általában az úgynevezett egy megszakítási eljárást. Kiemeljük, hogy a kérdés itt csak a reakció a CPU a megszakítási nem megszakítást feldolgozó algoritmusok feltéve, hogy a felhasználó megszakítja rutinok.
Tárgyak számítási rendszer részt vesz a megszakítási eljárás és azok kölcsönhatása ábrán mutatjuk be. 1.12.

Ábra. 1.12. a megszakítás kiszolgáló rutin.
1.7. input-output rendszer
input-output rendszer, azaz. e. komplex információcsere alapok külső eszközök, elengedhetetlen része a processzor és a gépek általában. Ahhoz, hogy a bemeneti-kimeneti rendszer, és tartalmazhat módon csatlakozhat a rendszer busz a különböző eszközök és a processzor interakció eljárás ezzel a berendezéssel, és a processzor utasításokat adatcserét a külső eszközöket.
Folyamatos javítása mikroprocesszorok és a vágy, hogy maximalizálják a teljesítményt a teljes számítógépes rendszert vezetett jelentős szövődménye a belső szervezete számítógépek: növeli a bitvonalakon, a megjelenése a belső nagysebességű adatátviteli autópályák, használja cache-pufferek, hogy felgyorsítsa a csere a memória és a lemezek, és így tovább. Ha azonban elvonja a fontos abból a szempontból termelékenység, de nem lényeges programozás részleteit, a logika a modern számítógép is be kell mutatni a szokásos módon, a busz rendszeren (vonal), ami összeköti a mikroprocesszor maga és minden számítástechnikai eszközök (ábra. 1,13) .

ahol MEM - szimbolikus megjelölése memória sejtek tartozó adatszegmens a program.
Ha a processzor teljesít egy ehhez hasonló paranccsal