The 6502 er en datamaskin prosessor opprettet av MOS Technology i 1975 . Alle sine dataregistre er 8 bits bredt , det er, kan de inneholder akkurat en byte er verdt av informasjon. Normalt er at byte tolket som et binært tall for aritmetiske operasjoner som addisjon og subtraksjon . Imidlertid støtter 6502 en spesiell binærkodet desimal ( BCD )-modus , i hvilken regneoperasjonene opptrer hver for seg på den nedre og på de øvre fire bitene til den 8 -bits nummer . Du kan konvertere en heksadesimal , byte - størrelse for å tilsvarende sin i 6502 BCD . Instruksjoner
en
Velg en " hexByte " som skal konverteres som ikke er større enn heksadesimalt 63 , siden det er det største antallet som kan representeres ved en BCD byte .
2 < p> Konverter heksadesimalt tall til desimal ved å evaluere følgende formel : en
decByte = firstDigit ( hexByte ) * 16 + secondDigit ( hexByte )
for eksempel, hvis hexByte = 38 , deretter decByte = 3 * 16 +8 = 56 - desimal tilsvarende heksadesimale 38 . Sammenligningen i trinn 1 garanterer at decByte vil ha to siffer
3
konvertere desimaltall til 6502 BCD ved å evaluere følgende formel : .
BCDByte = tabellen ( firstDigit ( decByte ) ) tabellen ( secondDigit ( decByte ) )
etter følgende omregningstabell : en
desimaltall /BCD halv byte
0 /0000
< p> 1 /0001
2 /0010
3 /0011
4 /0100
5 /0101
6 /0110
7 /0111
8/1000
9/1001
For eksempel, hvis decByte = 56 , deretter BCDByte = 01010110 - det vil si, de fire bits tilsvarer desimaltall 5 etterfulgt av de fire bits tilsvarer desimaltall seks .