home *** CD-ROM | disk | FTP | other *** search
/ norge.freeshell.org (192.94.73.8) / 192.94.73.8.tar / 192.94.73.8 / pub / computers / cpm / alphatronic / PASCALZ4.ZIP / D3 / CLSOT.SRC < prev    next >
Text File  |  1999-04-05  |  768b  |  39 lines

  1. ;CLOSES THE OUTPUT FILE WHOSE DESCRIPTOR IS POINTED TO BY HL
  2. ;
  3.     NAME CLSOT
  4.     ENTRY .CLSOT
  5.     EXT .BYTOT,.POPHDB,.PUSHBD
  6.     INCLUDE DEFLT.SRC
  7. ;
  8. ;
  9.  
  10. .CLSOT    CALL    .PUSHBD        ;SAVE ALL REGISTERS EXCEPT A
  11.     PUSH    PSW
  12.     PUSH    H
  13.     DCX    H
  14.     DCX    H
  15.     DCX    H        ; 'FLAGS' BYTE
  16.     BIT    4,M        ; 'RANDOMLY ACCESSED' BIT
  17.     INX    H
  18.     INX    H
  19.     INX    H        ;FCB
  20.     LXI    D,BYTPT        ; OFFSET INTO FILE OF BYTE POINTER/COUNTER.
  21.     DAD    D
  22.     JRZ    NTTRAN        ; NOT RANDOMLY ACCESSED
  23.     MVI    M,0FFH        ; WANT TO FLUSH WHOLE BUFFER
  24. NTTRAN:    XCHG
  25.     POP    H        ; DE NOW POINTS TO START OF FILE DESCRIPTOR.
  26. EOFILL    MVI    C,FILCHR
  27.     CALL    .BYTOT
  28.     LDAX    D
  29.     ORA    A
  30.     JZ    FILLED
  31.     JMP    EOFILL
  32.  
  33. FILLED    XCHG
  34.     MVI    C,16        ; CP/M CODE FOR CLOSE FILE.
  35.     CPM        
  36.     POP    PSW
  37.     JMP    .POPHDB
  38. ;
  39.