    Byte in Ziffernstring umwandeln ($e69b)
    E: a: Bytewert (von 0-99)
       y: Position, an der die Zahl in den Puffer
          geschrieben werden soll

    Byte in BCD umwandeln

    Einsprung von $A890, $A89A:

    A83E: 08        PHP              i-Flag merken
    A83F: 78        SEI              Interrupt sperren (damit die Dezimal-
    A840: AA        TAX              arithmetik aktiviert werden kann)
    A841: A9 00     LDA #$00
    A843: F8        SED

    Einsprung von $A84C:

    A844: E0 00     CPX #$00         Schleife x-mal durchlaufen
    A846: F0 07     BEQ $A84F
    A848: 18        CLC              X(binaer)-mal a erhoehen (BCD)
    A849: 69 01     ADC #$01         adc arbeitet im BCD-Modus
    A84B: CA        DEX              dex arbeitet im Binaer-Modus
    A84C: 4C 44 A8  JMP $A844

    Einsprung von $A846:

    A84F: D8        CLD
    A850: 28        PLP

    BCD-Zahl in Ziffernstring umwandeln

    Einsprung von $A877:

    A851: AA        TAX              BCD-Zahl merken
    A852: 4A        LSR              Erst hoeherwertige Ziffer in Ausgabepuffer
    A853: 4A        LSR              schreiben
    A854: 4A        LSR
    A855: 4A        LSR
    A856: 20 5A A8  JSR $A85A
    A859: 8A        TXA              dann die niederwertige Ziffer

    BCD-Ziffer in Zeichen umwandeln

    Einsprung von $A856:

    A85A: 29 0F     AND #$0F
    A85C: 09 30     ORA #$30         BCD-Ziffer + '0' ergibt '(Ziffer)'
    A85E: 91 CF     STA ($CF),Y      in Puffer schreiben
    A860: C8        INY
    A861: 60        RTS

        Previous Page / Next Page