home *** CD-ROM | disk | FTP | other *** search
- ;************************************************************************
- ;* *
- ;* CLOSE Unterprogramm *
- ;* *
- ;************************************************************************
-
- .z80 ;
- entry _close, _clsal ;
- extrn fcbbas ;
-
- _clsal: ld de,fcbbas+3 ; Adresse erstes Statusbyte
- _closeloop: push de ; retten
- call _close ; einzelne Datei schlie~en
- pop de ; Pointer auf FCB
- ld hl,37 ; jetzt auf n{chsten zeigen
- add hl,de ; (37+3 f}r extended FCB)
- ex de,hl ;
- ld a,(de) ; Statusbyte
- inc de ;
- inc de ;
- inc de ;
- inc a ; Ende der FCB's?
- jr nz,_closeloop ; nein, n{chsten schlie~en
- ret ; fertig
-
- _close: ld a,(de) ; get Statusbyte
- bit 2,a ;
- push de ;
- call nz,_seqwr## ; write Bytes to disk
- pop de ;
- ld a,(de) ;
- bit 1,a ; wurde geschrieben?
- ld a,0 ; In das Statusbyte
- ld (de),a ; kommt jetzt 0 rein
- ret z ; wenn nicht geschrieben wurde
- inc de ; BDOS-FCB
- ld c,16 ; close_file EOF zur}ckschreiben
- jp 5 ; und fertig
-
- end ;