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 |