Work program BCD korrekció - studopediya

Szervezeti felépítését Mk48.

A szerkezete alapján az Mk48 a processzor. Az alapja a processzor - egy 8 bites ALU. amely ellátja aritmetikai, logikai, shift műveleteket az adatokat a bináris és BCD. A fő eleme az ALU - nyolcbites akkumulátor. Van egy tizedes korrekciós áramkör (SDK) elérhető feldolgozására binárisan kódolt decimális adat.

Számoknak bináris és BCD, mint más. Arról van szó, ezeket elfoglal 8 bit (byte). A binárisan kódolt decimális (BCD) képviselet byte két részre majszol (tetradból), és az egyes rágcsál van írva bináris számjegy formájában. Például, a szám 35, írt BCD formátumú lenne: 00110101. Amint látható, a példa MSnibble rögzített 3. ábrán és az 5. ábra A legfiatalabb bejegyzéseket, amelyek nagyobb bitszám szükség, és több tetrádokat. BCD-tartomány számok elfoglal egy bájt értéke 0 ... 99. Egy másik példa: a decimális szám 83 = 10.000.011 BCD formátumú

Kérjük, vegye figyelembe, hogy ezek a számok a bináris rendszer egy másik nézet: 83 64 = 01010011 = 01000000.

Ha az aritmetikai műveletek BCD-számok, mivel a CPU csak a szám bináris formában, ez vezethet helytelen eredmény. Például, hogy két szám képviseli BCD-formátumban. Ezek a számok 69 és 27.

A processzor fog a felül a szabály alapján hozzáadás bináris számokat és kap eredményeként: + 01101001

Ha továbbra is úgy az eredményt BCD formátumú, megkapjuk helytelen eredmény. Kaptunk 90 (BCD), és kaptak 96 (BCD).

Szerezd meg a számot, a legfiatalabb a szám meghaladja a maximális számok ábrázolása BCD-formátumban.

Ahhoz, és az első és a második példában a megfelelő eredményt, azaz fogadhassa a helyes BCD-számábrázolás használ decimális helyesbítő áramkör, amely korrigálja az eredmény bármely aritmetikai művelet a pályán DA A.

Csapat-DA A végzünk:

1.Ha fiatalabb tetrád eredménye nagyobb, mint 9 vagy a 3. lépésben viszünk egy kisülési 4, hozzáadunk 6 (0110), hogy LSnibble.

Az első mintát átvisszük a 3 és 4. Ezért, a kisülési növeli az eredmény 0110 DA Egy csapat, és a helyes eredmény 10010110. A második példa, hozzáadása után 0110, mint a legfiatalabb tetrád nagyobb, mint 9 fog eredményezni

10000110, egyenlő képviselet BCD-85.

2.Ha MSnibble eredmény nagyobb volt, mint 9, vagy transzfer a kisülési 7, ez hozzáadódik 0110 = 6 MSnibble.

Következtetés. Ha egy program számok képviselik BCD formátumú, miután a aritmetikai utasítások a programban, akkor be kell illesztenie a parancsot DA A.

Kapcsolódó cikkek