Il 6502 è un processore per computer creato da MOS Technology nel 1975 . Tutti i suoi registri dati sono larga 8 bit , cioè, essi possono contenere esattamente il valore di un byte di informazione . Normalmente , questo byte viene interpretato come un numero binario per le operazioni aritmetiche , come l'addizione e la sottrazione . Tuttavia, il 6502 supporta una speciale modalità decimale codificato in binario ( BCD) , in cui le operazioni aritmetiche operano separatamente sulla inferiore e sulla parte superiore delle quattro bit del numero 8 bit . È possibile convertire un numero esadecimale , byte di dimensioni per il suo equivalente nel 6502 BCD . Istruzioni
1
Selezionare un " hexbyte " da convertire che non sia superiore a 63 esadecimale , dato che questo è il più grande numero che può essere rappresentato da un byte BCD .
2 < p > Convertire il numero esadecimale a decimale valutando la seguente formula :
decByte = firstDigit ( hexbyte ) * 16 + secondDigit ( hexbyte ) per
per esempio, se hexbyte = 38 , quindi decByte = 3 * 16 +8 = 56 - l'equivalente decimale di esadecimale 38 . Il confronto nella Fase 1 garantisce che decByte avrà due cifre
3
convertire il numero decimale 6502 BCD valutando la seguente formula : .
BCDByte = tabella ( firstDigit ( decByte ) ) tavolo ( secondDigit ( decByte ) ) per
secondo la seguente tabella di conversione :
cifra decimale /BCD mezzo byte
0 /0000
< p > 1 /0001
2 /0010
3 /0011
4 /0100
5/0101
6 /0110
7 /0111
8/1000
9/1001
Per esempio, se decByte = 56 , quindi BCDByte = 01.010.110 - che è, i quattro bit corrispondenti alla cifra decimale 5 seguiti dai quattro bit corrispondenti alla cifra decimale 6 .