Il 6502 è un processore di computer creato da MOS Technology nel 1975. Tutti i suoi registri di dati sono 8 bit; vale a dire, possono contenere esattamente la pena di un byte di informazioni. Normalmente, tale byte viene interpretato come un numero binario per operazioni aritmetiche quali l'addizione e sottrazione. Tuttavia, il 6502 supporta una binary-coded decimal (BCD) modalità speciale, in cui operazioni aritmetiche operano separatamente in basso e su quattro bit superiori del numero 8-bit. È possibile convertire un numero esadecimale, dimensioni di un byte nell'equivalente di 6502 BCD.
Istruzioni
1
Selezionare un "hexByte" da convertire che non sia superiore a 63 esadecimale, dato che questo è il numero più grande che può essere rappresentato da un byte di BCD.
2
Convertire il numero esadecimale in decimale valutando la seguente formula:
decByte = firstDigit(hexByte)*16+secondDigit(hexByte)
Ad esempio, se hexByte = 38, quindi decByte = 3 * 16 + 8 = 56--l'equivalente decimale di 38 esadecimale. Il confronto nel passaggio 1 garantisce che decByte avrà due cifre.
3
Convertire il numero decimale a BCD 6502 valutando la seguente formula:
BCDByte = table(firstDigit(decByte))table(secondDigit(decByte))
secondo la seguente tabella di conversione:
Cifra decimale / BCD half-byte
0 / 0000
1 / 0001
2 / 0010
3 / 0011
4 / 0100
5 / 0101
6 / 0110
7 / 0111
8 / 1000
9 / 1001
Ad esempio, se decByte = 56, allora BCDByte = 01010110..--vale a dire i quattro bit corrispondenti alla cifra decimale 5 seguiti dai quattro bit corrispondente alla cifra decimale 6.