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