Wie ein Hex Byte konvertieren BCD 6502

April 14

Wie ein Hex Byte konvertieren BCD 6502

Der 6502 ist ein Computerprozessor erstellt von MOS Technology im Jahr 1975. Alle seine Daten-Register sind 8 Bit breit; Das heißt, können sie genau ein Byte im Wert von Informationen enthalten. Dieses Byte wird normalerweise als eine binäre Zahl für arithmetische Operationen wie Addition und Subtraktion interpretiert. Allerdings unterstützt der 6502 einen speziellen binär codierten dezimalen (BCD) Modus, in dem arithmetische Operationen separat auf der unteren und der oberen vier Bits von der 8-Bit-Zahl tätig. Sie können eine hexadezimale Byte große Zahl in die entsprechende in 6502 BCD umwandeln.

Anweisungen

1 Wählen Sie eine "HexByte", die konvertiert werden soll ist nicht größer als hexadezimale 63, denn das ist die größte Zahl, die von einem BCD-Byte dargestellt werden können.

2 Konvertieren Sie die hexadezimale Zahl dezimal durch Auswerten der folgenden Formel:

DecByte = firstDigit(hexByte)*16+secondDigit(hexByte)

Zum Beispiel wenn HexByte = 38, dann DecByte = 3 * 16 + 8 = 56--die Dezimalzahl hexadezimale 38. Der Vergleich in Schritt 1 garantiert, dass die DecByte zwei Ziffern haben.

3 Umwandeln Sie die Dezimalzahl 6502 BCD, durch Auswerten der folgenden Formel:

BCDByte = table(firstDigit(decByte))table(secondDigit(decByte))

entsprechend der folgenden Umrechnungstabelle:

Dezimalzahl / BCD Halbbyte

0 / 0000

1 / 0001

2 / 0010

3 / 0011

4 / 0100

5 / 0101

6 / 0110

7 / 0111

8 / 1000

9 / 1001

Zum Beispiel, wenn DecByte = 56, dann BCDByte = 01010110--das heißt, die vier Bits, entspricht der Dezimalzahl 5 gefolgt von den vier Bits, die dezimale Ziffer 6 entspricht.