A programozási modell Intel 8086
Előadások a „tervezése assembler, linker, makró feldolgozó”
Processzor érdekel minket mindenekelőtt a sor nyilvántartások.
Amellett, hogy a memória sejtek adatok tárolására (bár rövid) lehet használni, és a nyilvántartások - sejtek található a központi processzor és a rendelkezésre álló számítógépes programok. Hozzáférés a nyilvántartásokhoz sokkal gyorsabb, mint a memória sejtek, így használja regiszterek jelentősen csökkenti program végrehajtásának ideje.
Regisztráció - a nagy sebességű memória eszközt megvalósított elektronikus alkatrészek.
Minden regiszterek egy szót méretű (16 bites), mindegyik rögzített külön neve. Cél és használatának módja a nyilvántartások lehet osztani a következő csoportok:
- általános célú regiszterek (AX, BX, CX, DX, SI, DI, BP, SP);
- Szegmens regiszterek (CS, DS, SS, ES);
- Az utasítás mutató (IP);
- Regisztráció zászlók (jelzők).
Íme átirata nyilvántartások Név:
AX akkumulátor, akkumulátor;
BX alap, bázis;
CX számláló, a számláló;
DX adatok,;
(X betű - a szó kiterjesztett, haladó: egy processzort 8080 voltak bájtos regiszterek A, B, C és D, de ezután bővíteni, hogy annak szóméret)
SI forrás index, forrás index;
DI cél index, az index a vevő;
BP bázis mutató, a bázis mutatót;
SP stack pointer, a stack pointer;
IP utasítás mutató, utasítás mutató;
SS verem szegmens, egy köteg szegmens;
DS adatszegmens, az adatszegmens;
CS kód szegmens, a szegmens parancsokat;
ES extra szegmens, egy további szegmens.
Általános célú regiszterek
A jellemzője az általános célú regiszterek, hogy fel lehet használni bármilyen aritmetikai, logikai, stb gépi műveletek. Például, lehetséges, hogy a szám egy regiszter DI a számát regiszter SP (add DI, SP) vagy kivonjuk, a tartalmát a BP regisztrálja tartalmát regiszter CX (sub BP, CX).
Ugyanakkor minden egyes ilyen nyilvántartások egy bizonyos szakterület: néhány csapat megkövetelik a operandus vagy operandusok kell lennie külön nyilvántartások. Például, elosztjuk a parancs megköveteli, hogy az első operandus (osztalék) regiszterben AX vagy AX és a DX regiszterek (attól függően, hogy az operandus méret) és a ciklus vezérlő parancs regiszter CX használt ciklusváltozóként.
Ha működik egy köteg regiszter SP. A csapatok dolgoznak verem, azt feltételezzük, hogy a nyilvántartás SP pontokat egy köteg sejt, amelyben az elem kerül rögzítésre a verem utoljára.
Regiszterek AX, BX, CX és DX elrendezve, hogy lehetséges a független hozzáférést a vezető és a fiatalabb fél. Felét képviselik a betűk H (magas - magasabb bájt) és az L (alacsony - az alábbiakban, Jr.), és az első betű a név regiszter: AH és AL - a AX, BH és BL - a BX, stb
Vegye figyelembe, hogy csak egy része az osztott nyilvántartások AX, BX, CX és DX. Felvétel ugyanazt a nyilvántartásokban és az olvasás végzik csak egészében.
szegmens regiszterek
utasítás mutató
zászlók regisztráljon
Flag - ez kicsit figyelembe az 1 értéket ( "jelző"), vagy a 0 érték ( "reset zászló"). Az i8086 használt 9 zászlók gyűjtött egy 16 bites regiszter úgynevezett regiszter zászlók (jelzők). Néhány regiszter bitek nem ülnek.
A zászlók két csoportra oszthatók: a feltételeket a zászlók (ezek automatikusan megváltozik, amikor parancsokat hajt végre, és rögzítenek bizonyos tulajdonságait eredményük (például az, hogy ez nulla)), és az állapot jelzők (a változás a programban, az állam ezeket a zászlókat hatással van a további feldolgozás viselkedés) .
- CF (carry flag) - carry flag. A legtöbb hasznos aritmetikai műveletek előjel nélküli egész szám; Például, ha hozzáadjuk a jelöletlen szám túl nagy mennyiségű - az átviteli egység, amelynek nincs helye a cellában, akkor a CF flag értéke 1, és ha az összeg a „halmozott” a cella mérete, a KA-érték 0.
- A (túlcsordulás zászló) - a túlcsordulás zászlót. Hasznos aritmetikai műveletek aláírt egésztípusok így például, ha a hozzáadásával vagy kivonásával, aláírt számok fordult eredményeként modulo meghaladó megengedett értéket (mantissza túlcsordulás jelentkezett), akkor a FLAG hozzárendelve értéke 1, és ha nem volt túlfolyó a mantissza - 0.
- ZF (nulla zászló) - zászló nulla. Úgy van beállítva, hogy 1, ha a csapat eredmény nulla.
- SF (jele zászló) - jel zászló. 1-be, ha az üzemeltetés az aláírt szám negatív irányba fordult.
- PF (paritás flag) - paritás zászló. Értéke 1. Ha az alsó 8 bit az eredmény a következő parancs tartalmazza páros számú bit.
- AF (kiegészítő átvitel jelzőbitet) - a kiegészítő átvitel jelzőbitet. Méri a funkciók a műveletek a BCD számot.