Nwlapcug.com


Come convertire un Byte esadecimale in BCD 6502

Come convertire un Byte esadecimale in BCD 6502


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.