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 |