home *** CD-ROM | disk | FTP | other *** search
/ Il CD di internet / CD.iso / SOURCE / EXTRA-ST / CPM-80-E / CPM-0.2 / CPM-0 / cpm-0.2 / z80-sources / mylib / close.mac < prev    next >
Encoding:
Text File  |  1994-06-06  |  1.1 KB  |  41 lines

  1. ;************************************************************************
  2. ;*                                    *
  3. ;*        CLOSE Unterprogramm                    *
  4. ;*                                    *
  5. ;************************************************************************
  6.  
  7.         .z80            ;
  8.         entry _close, _clsal    ;
  9.         extrn fcbbas        ;
  10.  
  11. _clsal:        ld de,fcbbas+3        ; Adresse erstes Statusbyte
  12. _closeloop:    push de            ; retten
  13.         call _close        ; einzelne Datei schlie~en
  14.         pop de            ; Pointer auf FCB
  15.         ld hl,37        ; jetzt auf n{chsten zeigen
  16.         add hl,de        ; (37+3 f}r extended FCB)
  17.         ex de,hl        ;
  18.         ld a,(de)        ; Statusbyte
  19.         inc de            ;
  20.         inc de            ;
  21.         inc de            ;
  22.         inc a            ; Ende der FCB's?
  23.         jr nz,_closeloop    ; nein, n{chsten schlie~en
  24.         ret            ; fertig
  25.  
  26. _close:        ld a,(de)        ; get Statusbyte
  27.         bit 2,a            ;
  28.         push de            ;
  29.         call nz,_seqwr##    ; write Bytes to disk
  30.         pop de            ;
  31.         ld a,(de)        ;
  32.         bit 1,a            ; wurde geschrieben?
  33.         ld a,0            ; In das Statusbyte
  34.         ld (de),a        ; kommt jetzt 0 rein
  35.         ret z            ; wenn nicht geschrieben wurde
  36.         inc de            ; BDOS-FCB
  37.         ld c,16            ; close_file EOF zur}ckschreiben
  38.         jp 5            ; und fertig
  39.  
  40.         end            ;
  41.