Introduction
Open a File - F$OPEN and F$MOPEN
Close a File - F$CLOSE
Create a File - F$MAKE
Delete a File - F$DELETE
Rename a File - F$RENAME
Test of the Existance of a File - F$EXIST
Read a Block from a File - F$READ
Write a Block to a File - F$WRITE
:CP/M File Input/Output Routines
    Th� followin� routine� ar� general-purpos� fil� I/� routine� �
whic� interfac� t� CP/� throug� th� Entr� Poin� a� locatio� 5�  �
The� preserv� BC�� DE�� an� HL� an� the� retur� wit� th� standar� �
CP/� erro� code� fo� th� correspondin� routines.
    Specifically, these routines are --

         F$OPEN    Open a file
         F$MOPEN   Open/Create a file
         F$CLOSE   Close a file
         F$MAKE    Create a file
         F$DELETE  Delete a file
         F$RENAME  Rename a file
         F$EXIST   Test of existance of a file
         F$READ    Read a block (128 bytes) from a file
         F$WRITE   Write a block (128 bytes) to a file
:Open a File
    Routine Name:  F$OPEN
    Function�
         Ope� th� fil� specifie� b� th� FC� pointe� t� b�� DE�  �
I� fil� no� found�� F$OPE� return� wit� a� erro� cod� i� � (0FFH� �
an� Zer� Fla� Clea� (NZ).
    Inputs:  DE = pointer to FCB
    Outputs:  A = Error Code and PSW Flags Set (Zero Flag)
                  0    --> No Error
                  0FFH --> File not opened
    Registers Affected:  PSW
    SYSLIB Routines Called:  BDOS, CAPS, CIN, COUT, CRLF, PRINT
    Special Error Conditions:  -None-


    Routine Name:  F$MOPEN
    Function�
         Ope� th� fil� specifie� b� th� FC� pointe� t� b�� DE�  �
I� fil� i� no� found�� F$MOPE� trie� t� creat� one��  I� return� �
th� erro� cod� o� 0FF� i� � i� ther� wa� no� enoug� roo� i� th� �
dis� director� t� creat� th� director� entry.
    Inputs:  DE = pointer to FCB
    Outputs:  A = Error Code and PSW Flags (Zero Flag) Set
                  0    --> No Error
                  0FFH --> File not opened
    Registers Affected:  PSW
    SYSLIB Routines Called:  BDOS, CAPS, CIN, COUT, CRLF, PRINT
    Special Error Conditions:  -None-
:Close a File
    Routine Name:  F$CLOSE
    Function:
         Close the file whose FCB is pointed to by DE.
    Inputs:  DE = pointer to FCB
    Outputs:  A = Error Code
                  0    --> No Error
                  0FFH --> Error in closing file
    Registers Affected:  PSW
    SYSLIB Routines Called:  BDOS
    Special Error Conditions:  -None-
:Create a File
    Routine Name:  F$MAKE
    Function:
         Create (Make) the file whose FCB is pointed to by DE.
    Inputs:  DE = pointer to FCB
    Outputs:  A = Error Code
                  0FFH --> No directory space available
                  Not 0FFH --> No Error; Value is byte address in
                               TBUFF (80H-0FFH) of directory entry
                               allocated to the FCB
    Registers Affected:  PSW
    SYSLIB Routines Called:  BDOS, F$DELETE
    Special Error Conditions:  -None-
:Delete a File
    Routine Name:  F$DELETE
    Function�
         Delet� th� fil� whos� FC� i� pointe� t� b� DE�  I� fil� �
doe� no� exist�� nothin� happen� (n� erro� messag� o� cod� i� �
given).
    Inputs:  DE = pointer to FCB
    Outputs:  -None-
    Registers Affected:  PSW
    SYSLIB Routines Called:  BDOS
    Special Error Conditions:  -None-
:Rename a File
    Routine Name:  F$RENAME
    Function�
         F$RENAMŠ ma� b� use� t� renam� � file��  O� entry�� D� �
pt� t� th� firs� twelv� byte� o� th� file'� FC� an� H� pt� t� th� �
firs� twelv� byte� o� th� FC� fo� th� ne� fil� (tha� is� onl� th� ��F� an� F� field� ar� significant�� s� th� res� o� a� FC� nee� no� �
b� presen� fo� thi� functio� t� work)��  F$RENAMŠ contain� a� �
interna� FC� whic� i� structure� fro� th� tw� entrie� t� properl� �
rename the file.
    Inputs:  HL pts to 1st 12 bytes of new FCB
             DE pts to 1st 12 bytes of old FCB
    Outputs:  Zero Flag Set (Z) means error (file not found)
    Registers Affected:  PSW
    SYSLIB Routines Called: BDOS, FILLB, MOVEB
    Specia� Erro� Conditions��  Fil� No� Foun� error�� indicate� �
by Z flag
:Test of Existance of a File
    Routine Name:  F$EXIST
    Function�
         F$EXIS� test� fo� th� presenc� o� th� fil� whos� FC� i� �
pte� t� b� D� i� th� curren� disk/use� area��  I� thi� fil� doe� �
no� exis� i� thi� area�� F$EXIS� return� wit� th� Zer� Fla� Se� �
(Z); if this file does exist, F$EXIST returns with NZ.
    Inputs:  DE pts to FCB of file to test for
    Outputs:  Zero Flag Set (Z) means file not found; NZ means
                   file found
    Registers Affected:  PSW
    SYSLIB Routines Called:  BDOS
    Specia� Erro� Conditions�  None

:Read a Block from a File
    Routine Name:  F$READ
    Function�
         Rea� nex� bloc� (12� bytes� fro� th� opene� fil� whos� �
FC� i� pointe� t� b� D� int� TBUF� (buffe� a� 80� - 0FFH).
    Inputs:  DE = pointer to FCB
    Outputs:  A = Error Code
                  0 --> No Error
                  1 --> Read past end of file
                  2 --> Reading unwritten data in random access
    Registers Affected:  PSW
    SYSLIB Routines Called:  BDOS
    Special Error Conditions:  -None-
:Write a Block to a File
    Routine Name:  F$WRITE
    Function�
         Writ� nex� bloc� (12� bytes� fro� TBUF� (buffe� a� 80� �
t� 0FFH� t� th� opene� fil� whos� FC� i� pointe� t� b� DE.
    Inputs:  DE = pointer to FCB
    Outputs:  A = Error Code
                  0    --> No Error
                  1    --> Error in extending file
                  2    --> End of disk data
                  0FFH --> No more directory space
    Registers Affected:  PSW
    SYSLIB Routines Called:  BDOS
    Special Error Conditions:  -None-