Position-Befehl ($e207)
A1A1: 20 65 81 JSR $8165 Kommandotabellen initialisieren
A1A4: AD 01 02 LDA $0201 SA aus Kommandozeile holen
A1A7: 85 52 STA $52
A1A9: 20 27 90 JSR $9027 Entsprechenden Kanal holen
A1AC: 90 05 BCC $A1B3 Kanal O.k. ? ja, ==>
A1AE: A9 70 LDA #$70 70, No Channel
A1B0: 20 7C 80 JSR $807C
Einsprung von $A1AC:
A1B3: A9 A0 LDA #$A0 Record voll (b5) / nicht vorhanden (b7)
A1B5: 20 DB 9C JSR $9CDB Bits im Dateistatus loeschen
A1B8: 20 5F 90 JSR $905F Filetyp holen
A1BB: F0 05 BEQ $A1C2 REL-Datei ? ja, ==>
A1BD: A9 64 LDA #$64 64 File type mismatch
A1BF: 20 7C 80 JSR $807C ==>
Einsprung von $A1BB:
A1C2: AD 02 02 LDA $0202 Recordnummer aus der Befehlszeile holen
A1C5: 9D 49 02 STA $0249,X und merken (Lo)
A1C8: AD 03 02 LDA $0203 (Hi)
A1CB: 9D 50 02 STA $0250,X
A1CE: A6 50 LDX $50
A1D0: A9 89 LDA #$89 b3=1: EOI-Flag loeschen
A1D2: 9D 34 02 STA $0234,X Kanalstatus setzen
A1D5: AD 04 02 LDA $0204 Ist die Startposition im Record angegeben ?
A1D8: F0 11 BEQ $A1EB nein, ==>
A1DA: 38 SEC
A1DB: E9 01 SBC #$01 Startposition = 1 (Anfang) ?
A1DD: F0 0C BEQ $A1EB ja, ==>
A1DF: DD 5E 02 CMP $025E,X mit Recordlaenge vergleichen
A1E2: 90 07 BCC $A1EB Zeigt Zeiger hinter Recordende ?
A1E4: A9 51 LDA #$51 ja, 51, Overflow in Record
A1E6: 8D AB 02 STA $02AB bereitstellen und einfach
A1E9: A9 00 LDA #$00 von Record-Anfang an ausgeben
Einsprung von $A1D8, $A1DD, $A1E2:
A1EB: 85 68 STA $68 Positionszeiger setzen
A1ED: 20 89 8C JSR $8C89 Position des Records berechnen
A1F0: 20 32 9E JSR $9E32 Side-Sektor ggf. laden
A1F3: 50 08 BVC $A1FD existiert der Side-Sektor ? ja, ==>
A1F5: A9 80 LDA #$80 b7=1: 'Record existiert nicht'
A1F7: 20 D5 9C JSR $9CD5 Status setzen
A1FA: 4C EC A0 JMP $A0EC 50, Record not present
Einsprung von $A1F3:
A1FD: 20 0D A2 JSR $A20D Datenblock einlesen
A200: A9 80 LDA #$80 b7: existiert der Record ?
A202: 20 E4 9C JSR $9CE4 (Dateistatus testen)
A205: F0 03 BEQ $A20A ja, ==>
A207: 4C EC A0 JMP $A0EC 50, Record not present
Einsprung von $A205:
A20A: 4C 4C 80 JMP $804C 00, Ok,00,00
Previous Page / Next Page