Empfangene Daten in Record schreiben ($e0ab) Einsprung von $8E8C: A033: A9 A0 LDA #$A0 Record voll/nicht vorhanden ? A035: 20 E4 9C JSR $9CE4 (b5,7 testen) A038: D0 27 BNE $A061 ja, ==> Einsprung von $A078: A03A: A5 54 LDA $54 Datenbyte holen A03C: 20 FC 9F JSR $9FFC und in Record schreiben A03F: A5 51 LDA $51 EOI empfangen ? A041: F0 0D BEQ $A050 ja, ==> A043: 60 RTS Teil der Error-Routine (Record uebergelaufen & EOI vom Computer empfangen) Einsprung von $A067: A044: A9 20 LDA #$20 b5=1: Ist das Flag: 'Record voll' gesetzt ? A046: 20 E4 9C JSR $9CE4 [Deshalb sind wir ja hier !!!] A049: F0 05 BEQ $A050 nein, (wird nie ausgefuehrt) ==> A04B: A9 51 LDA #$51 51, Overflow in Record A04D: 8D AB 02 STA $02AB Fehlernummer merken Arbeit mit dem aktuellen Record beenden Einsprung von $A041, $A049: A050: 20 7B A0 JSR $A07B Rest des Records mit $00 auffuellen A053: 20 E1 A0 JSR $A0E1 naechsten Record lesen A056: AD AB 02 LDA $02AB Ist ein Fehler aufgetreten ? A059: F0 03 BEQ $A05E nein, ==> A05B: 4C 7C 80 JMP $807C Fehler ausgeben Einsprung von $A059: A05E: 4C 62 A8 JMP $A862 00, Ok,00,00 Laut Dateistatus liegt ein Fehler vor Einsprung von $A038: A061: 29 80 AND #$80 Record nicht vorhanden ? A063: D0 05 BNE $A06A ja, ==> A065: A5 51 LDA $51 (Record ist voll ) EOI empfangen ? A067: F0 DB BEQ $A044 ja, ==> A069: 60 RTS ueberzaelige Daten vergessen Einsprung von $A063: A06A: A5 54 LDA $54 Datenbyte zwischenspeichern A06C: 48 PHA A06D: 20 D6 A2 JSR $A2D6 neuen Block mit Records an die Datei haengen A070: 68 PLA A071: 85 54 STA $54 A073: A9 80 LDA #$80 b7=0: Record existiert A075: 20 DB 9C JSR $9CDB Status loeschen A078: 4C 3A A0 JMP $A03A Byte in den neuen Record schreiben Previous Page / Next Page |