vízforraló Blogok

Loops és elágazás zászlók regisztráljon

Az előző program 25 alkalommal ismételve a kimeneti sor szöveget a képernyőn. Írhatnék 25-szer egy és ugyanazt a kódot. De mi van, ha meg akarja ismételni a program 10.000-szer? És ha meg kell ismételni addig, amíg el nem éri a megfelelő megoldást? Ahhoz, hogy ezt elérjük, hogy a kívánt fázisban a program többször is megismételhető. Ezt a példát ismételjük szinte az egész programot, de ez nem szükséges. Most adok egy egyszerűsített rendszer a program, akkor gyakorlatilag algoritmus.

01 Tiszta a képernyőn, és állítsa be a méretet 80x25
02 változók X, Y veszi át a helyét a szöveges kimenetet
03 Kijelző szövege a megadott helyre
04 növelése Y 1, X 3
05 Ha az Y még nem vált 25d, akkor ugorjon a 2. Ha lesz - a program végrehajtása

Fontos, hogy megértsék, hogy az 1 lépésben algoritmus - ez nem egy sort a kódot.

Szükségképpen összefüggésben minden sora egy valódi program a jelen algoritmus. Ha érti a különbséget egy ilyen felvételt assembler kód, meg fogod érteni, hogyan kell megírni a programot. Ez a legegyszerűbb módja annak, hogy elkezd gondolkodni a Asma.

Az 5. lépésben adja közötti végrehajtó kilépéskor, vagy térjen vissza a 2. lépéshez.

Ahhoz, hogy kínálnak processzor, a legjobb, ha speciális zászlók regisztráljon.

Sőt, elmagyaráztam a hatását a két csapat, mintha valamit mondani egymásnak:

A csapatok nem rendelkeznek mágikus tulajdonságokkal, és semmi köze egymáshoz!

Annyit tehetnek, hogy változik a változók a memória és a CPU regiszterek (van, persze, több különleges I / O) parancsot.

Command CMP összehasonlítja a két számot kivonva függően változások eredményeként a zászlók terül bit.

JNZ csapat. JNE második írásban (írásban, ahogy tetszik). Ez a parancs elvégzi a folytatásban, ha zászló le a földre. Körülbelül két csapat, írok után részletesen beszélni a készülék zászlók regisztráljon.

zászlók regisztráljon

Ha én nem felejtettem el semmit, a zászlók regisztrálni fogja befejezni a történetet a processzor regiszterek. Ha hibakereső programok más közönséges CPU regiszterek tanulni nem szükséges. A hibakereső nem mindig jelennek meg. Ha érdekelt, meg a tankönyv.

A fizikai eszköz - ugyanaz, mint a másik regisztert (32 bit).

Kinevezése azonban - különleges. Ebben az esetben nem lehet egyszerűen írni az érték a MOV utasítás. Még csak nem is a neve kezelést. Megváltoztatta másképp. És ez jelentősen eltér az első speciális regiszter - EIP (utasítás mutató az aktuális).

EIP egy kezelés nevét, és ez egy darab tartalmát a nyilvántartás, ez a hasonlóság, hogy az általános célú regiszterek.

De a zászlók regisztrációhoz - áruház bit információt.

Mit jelent a „bit információt”?

Mondanom sem kell, egy számítógép szempontjából minden olyan információt, kicsit. Ugyanakkor a szempontból a programozó, még alacsony szinten, van egy szám, hogy van értelme osztani, szorozni és végre komplex számításokat velük. Ezek egész számok fontosabb, mint minden bit egyénileg (megjegyzés).

És van néhány bájt, minden darab, amely egy független jelenség. Az állam a processzor, az eredmény az összehasonlítás és még sok más. Természetesen ezek a bájtok is nézd, mint egy hexadecimális számot, de ez éppen ellenkezőleg, az egész űrlapot nincs egyértelmű jelentése.

zászlók regisztrálni - ez csak 32 bit, ami fontos külön-külön.

Sailor, tudja, mennyire elfoglalt zászló azt jelzi, a kifutópálya az űrállomáson?

Szégyen ez nem tudom. Taníts helyet formátum, különben az élet súrolja a plafont az ebédlőben.

Kivéve egy pár zászló bitet hívott zászlót. Csak a buldózer. Lehet, hogy hívja a lámpánál, vagy jelentkezzen be.

Minden zászlók neveket. A jó hír az, hogy a kamatot nem az összes zászlókat számunkra. Fogok beszélni őket egyesével.

Egyszer olvastam csak a mindenki számára, és nem emlékszik semmire, de ha írásban programok gyorsan asszimilálni mindent. 5-6 nap benézett a könyvtárba, és aztán valahogy eszébe jutott (ami szükséges volt, hanem 3 zászló :)).

Ma fogok beszélni a legfontosabb dolog egy programozó bites zászló.

ZF (Zero Flag - nulla zászló)

És beszéljük meg, amely felsorolja az összes olyan parancsot, hogy a változás, vagy nézd - ez felesleges, hiszen ez lesz a fele a szerelési útmutató. nulla flag be van kapcsolva, ha a változó eredményeként a Akciócsapatai (gyakran képzeletbeli) nullára van állítva, és kikapcsol, ha a változó értéke nem nulla. De igen, persze, nem a csapatok (mov nem változtatja meg a zászlók, a számtani és néhány más csapatok változnak zászlókat.).

A legérdekesebb az, hogy a nulla zászló van kapcsolva összehasonlításával változókat.

Azt fogja mondani, hogy a ZF teszi CMP csapat. nem fogunk parancsolni cmp azonnal leírni teljesen, mert meg tudja változtatni a 6 zászlókat. És mi eleinte nem volt szüksége.

Ma szembe az esetben, ha csak a ZF flag fontos számunkra.

Az angol. összehasonlítani szó - hasonlítson