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.



Kapcsolódó cikkek