    ASCII-Werte aus dem Input-Puffer in HEX-Werte umwandeln
    und in der Parameter-Tabelle ablegen ($cca1)

    Einsprung von $8AC1:

    8AD0: A9 00     LDA #$00         Zwischenspeicher loeschen fuer 3 Ziffern
    8AD2: 85 40     STA $40          (ASCII-Zahl)
    8AD4: 85 41     STA $41          ($42 wird spaeter sowieso ueberschrieben)
    8AD6: 85 43     STA $43          Hi-Byte des Ergebnisses =0
    8AD8: A2 FF     LDX #$FF         Zaehler fuer Wertigkeit der Ziffer

    Einsprung von $8AF6:

    8ADA: B9 00 02  LDA $0200,Y      Zeichen aus Kommandozeile holen
    8ADD: C9 40     CMP #$40         ist Zeichen eine Ziffer ?
    8ADF: B0 17     BCS $8AF8        [' :;<=>? ' werden als Ziffern
    8AE1: C9 30     CMP #$30          10-15 gerechnet; '2<' entspricht
    8AE3: 90 13     BCC $8AF8         dem Block 32 (2*10+12)]
    8AE5: 29 0F     AND #$0F         ja,
    8AE7: 48        PHA              Wert der Ziffer merken
    8AE8: A5 41     LDA $41          Alte Zahl * 10
    8AEA: 85 42     STA $42
    8AEC: A5 40     LDA $40
    8AEE: 85 41     STA $41
    8AF0: 68        PLA              + Ziffer
    8AF1: 85 40     STA $40
    8AF3: C8        INY              Zeiger auf naechstes Zeichen
    8AF4: C4 29     CPY $29          setzen; Zeilenende ?
    8AF6: 90 E2     BCC $8ADA        nein, ==>

    Einsprung von $8ADF, $8AE3:

    8AF8: 8C 30 02  STY $0230        Zeiger in Kommandozeile merken

    ungepackte BCD-Zahl (1 Ziffer / Byte) in Binaerzahl wandeln

    8AFB: 18        CLC
    8AFC: A9 00     LDA #$00         Ergebnis (Lo) =0

    Einsprung von $8B06:

    8AFE: E8        INX              naechste Ziffer nehmen
    8AFF: E0 03     CPX #$03         alle 3 Stellen fertig ?
    8B01: B0 0F     BCS $8B12        ja, ==>
    8B03: B4 40     LDY $40,X        Ziffer holen; y-mal den Wert der Ziffer

    Einsprung von $8B0B, $8B10:

    8B05: 88        DEY              zum Ergebnis addieren
    8B06: 30 F6     BMI $8AFE        < 0, (naechste Ziffer holen) ==>
    8B08: 7D 20 8B  ADC $8B20,X      Wertigkeit der Ziffer addieren
    8B0B: 90 F8     BCC $8B05        kein Uebertrag, ==>
    8B0D: 18        CLC              Uebertrag addieren
    8B0E: E6 43     INC $43
    8B10: D0 F3     BNE $8B05        immer ==>

    Einsprung von $8B01:

    8B12: 48        PHA              Ergebnis in den Parameterspeicher
    8B13: AE 2E 02  LDX $022E        uebernehmen
    8B16: A5 43     LDA $43
    8B18: 9D 97 02  STA $0297,X      Hi-Byte
    8B1B: 68        PLA
    8B1C: 9D 9C 02  STA $029C,X      Lo-Byte
    8B1F: 60        RTS

    8B20: 01 0A 64                 1,10,100 Wertigkeit der Ziffern

        Previous Page / Next Page