    Memory-Befehle ($caf8)

    892F: AD 01 02  LDA $0201        Zeichen hinter M
    8932: C9 2D     CMP #$2D         <> '-'
    8934: D0 48     BNE $897E        ja, 31, Syntax Error ==>
    8936: AD 03 02  LDA $0203        Adresse hinter m-x Befehl holen
    8939: 85 40     STA $40
    893B: AD 04 02  LDA $0204
    893E: 85 41     STA $41
    8940: A0 00     LDY #$00
    8942: AD 02 02  LDA $0202        Zeichen hinter dem '-' pruefen:
    8945: C9 52     CMP #$52
    8947: F0 0B     BEQ $8954        M-R, ==>
    8949: C9 57     CMP #$57
    894B: F0 36     BEQ $8983        M-W, ==>
    894D: C9 45     CMP #$45
    894F: D0 2D     BNE $897E        31, Syntax Error

    Memory-Execute

    8951: 6C 40 00  JMP ($0040)

    Memory-Read

    Einsprung von $8947:

    8954: B1 40     LDA ($40),Y      1. Datenbyte holen und merken
    8956: 85 54     STA $54
    8958: A5 29     LDA $29          Laenge der Kommandozeile < 6 ?
    895A: C9 06     CMP #$06         ('m-r',lo,hi)
    895C: 90 1A     BCC $8978        ja, ==>
    895E: AE 05 02  LDX $0205        Anzahl der zu sendenden Bytes holen
    8961: CA        DEX              -1 (1. Byte ist bereits gelesen)
    8962: F0 14     BEQ $8978        = 0 ? ja, ==>
    8964: 8A        TXA              Anzahl zu sendender Bytes +
    8965: 18        CLC
    8966: 65 40     ADC $40          Adresse des 1. Bytes
    8968: E6 40     INC $40          (1. Byte ist gelesen)
    896A: 8D 48 02  STA $0248        = Endadresse (Lo)
    896D: A5 40     LDA $40          Adresse des auszugebenden Speicherbereiches
    896F: 85 CF     STA $CF          in den Fehlerkanal-Pufferzeiger kopieren
    8971: A5 41     LDA $41
    8973: 85 D0     STA $D0
    8975: 4C 9F 93  JMP $939F        Byte zur Ausgabe bereitstellen

    Einsprung von $895C, $8962:

    8978: 20 27 90  JSR $9027        Kanal zum Lesen holen
    897B: 4C 96 93  JMP $9396        auf Fehlerpuffer zurueckschalten

    Einsprung von $8934, $894F, $877C:

    897E: A9 31     LDA #$31         31, Syntax Error
    8980: 4C 7C 80  JMP $807C

    Memory-Write

    Einsprung von $894B, $898C:

    8983: B9 06 02  LDA $0206,Y      'm-w',lo,hi,anz,d1,d2,..
    8986: 91 40     STA ($40),Y      (d1 liegt bei $0206)
    8988: C8        INY
    8989: CC 05 02  CPY $0205        (anz liegt bei $0205)
    898C: 90 F5     BCC $8983        alle Bytes kopieren
    898E: 60        RTS

        Previous Page / Next Page