gesuchten Record zur Ausgabe bereitstellen ($e275)

Einsprung von $A1FD, $A42B:

A20D: 20 35 A2  JSR $A235        ggf. richtige Datenbloecke lesen
A210: A5 6B     LDA $6B          Pufferzeiger auf gewuenschte Startposition
A212: 20 22 94  JSR $9422        setzen
A215: A6 50     LDX $50
A217: BD 5E 02  LDA $025E,X      Recordlaenge
A21A: 38        SEC              -
A21B: E5 68     SBC $68          Position im Record
A21D: B0 03     BCS $A222        >= 0 ? ja, ==>
                                nein: Zeiger steht hinter dem Recordende
A21F: 4C 9C A1  JMP $A19C        67, Illegal Track or Sector

Zeiger auf naechsten Record berechnen

Einsprung von $A21D:

A222: 18        CLC              a = Anzahl Zeichen bis Recordende
A223: 65 6B     ADC $6B          + Startposition im Datenblock
A225: 90 03     BCC $A22A        geht Record ueber Blockgrenze ? nein, ==>
A227: 69 01     ADC #$01         +2 (SEC) (Blockverkettung ueberspringen)
A229: 38        SEC              Flag fuer Blockwechsel

Einsprung von $A225:

A22A: 20 8A 9F  JSR $9F8A        'Zeiger auf naechsten Record' setzen
                                und auf Dateiende pruefen
A22D: 4C C6 A0  JMP $A0C6        Byte fuer Ausgabe bereitstellen

A230: A9 51     LDA #$51         51, Overflow in record
A232: 20 7C 80  JSR $807C
    Previous Page / Next Page