Lucrarea sistemului de corecție binar-decimare - stadopedia

Organizarea structurală MK48.

Baza structurii MK48 este procesorul. Miezul procesorului este ALU pe 8 biți. care efectuează operații aritmetice, logice, de schimbare a datelor în zecimale binare și binare. Elementul principal al UAV este o baterie de opt biți. Există o schemă de corecție zecimal (KDK) pentru prelucrarea datelor zecimale binare.

Reprezentările de numere în formă binară și zecimală diferă. E vorba de numărul care ocupă 8 biți (octet). Într-o reprezentare BCD, un octet este împărțit în două nibble (tetrads) și o cifră este scrisă în fiecare tetrad în formă binară. De exemplu, numărul 35, în scris în BCD format ar fi: 00110101. După cum se poate observa din exemplul din figura MSnibble înregistrate 3 și în figura 5. Pentru cei mai tineri intrări având număr de biți mai mare este necesar și mai multe tetradelor. Gama de numere BCD care ocupă un octet este 0 ... 99. Mai multe exemple: numărul zecimal 83 = 10000011 în format BCD,

Rețineți că aceste numere din sistemul binar vor avea o reprezentare diferită: 83 = 01010011 64 = 01000000.

Când efectuați operații aritmetice pe numere BCD, deoarece procesorul reprezintă numere numai în formă binară, rezultatul poate fi incorect. De exemplu, adăugăm două numere reprezentate în format BCD. Acestea sunt numerele 69 și 27.

Procesorul va adăuga prin adăugarea de numere binare și va avea ca rezultat rezultatul: + 01101001

Dacă vom continua să considerăm rezultatul în format BCD, vom obține un rezultat greșit. Avem 90 (BCD), dar a trebuit să obținem 96 (BCD).

Rezultatul este un număr al cărui număr mai mic depășește reprezentarea numărului maxim în format BCD.

Pentru a corecta rezultatul în primul și al doilea exemplu, adică pentru a obține reprezentarea corectă a numărului BCD, se utilizează o schemă de corecție zecimală, care corectează rezultatul oricărei operații aritmetice prin comanda DA A.

Comanda DA A rulează:

1. Dacă tetradul cel mai mic al rezultatului este mai mare de 9 sau când operația a fost efectuată de la a treia cifră la 4, apoi la cel mai mic tetrad, 6 (0110) este adăugat.

În primul exemplu, a existat un transfer de la 3 cifre la 4. Prin urmare, comanda DA A va adăuga la rezultatul 0110, iar rezultatul corect va fi 10010110. Pentru al doilea exemplu, după adăugarea 0110, deoarece cel mai mic tetrad este mai mare de 9,

10000110, egal în reprezentarea BCD 85.

2. Dacă tetradul mai vechi al rezultatului este mai mare de 9 sau a existat un transfer de la a 7-a cifră, atunci 0110 = 6 este adăugat tetradului mai vechi.

Concluzie. Dacă numerele din program sunt în format BCD, după instrucțiunile aritmetice din program, trebuie să introduceți comanda DA A.

Articole similare