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