        $3F READ



        long Fread( int handle, long count, char *buf );



Das ffnen und Schlieen von Dateien ist nur die halbe Miete, es soll 
ja auch mit Daten gearbeitet werden. So mssen z.B. Briefe, Lohn- und 
Gehaltslisten, Mewerte und Artikelnummern gespeichert und spter 
wieder gelesen werden knnen. Das Lesen solcher Daten kann in sehr 
eleganter Weise mit der Funktion READ geschehen. READ bekommt drei 
Parameter bermittelt: zuerst die Adresse eines Buffers, in den die 
Daten gelesen werden sollen, dann die Anzahl der aus der Datei zu 
lesenden Bytes und zum Schlu die Handle-Nummer der Datei. Diese 
Nummer haben Sie (hoffentlich) beim zuvor erfolgten OPENFOPEN erhalten.



Als Rckgabewert erhalten Sie in D0 entweder eine Fehlernummer 
(hoffentlich nicht) oder die Anzahl der fehlerfrei gelesenen Bytes. 
Wird versucht, ber das Dateiende hinaus zu lesen, so ist der Wert in 
D0, die tatschlich gelesene Anzahl Bytes, von der gewnschten Anzahl 
unterschiedlich.. Danach erfolgende Lesezugriffe liefern als 
Rckgabewert eine Null. Dann ist das Ende der Datei erreicht.

Eine weitere Mglichkeit wre es, sich vor dem Lesen die Gre der 
Datei in Bytes mittels SEARCH FIRSTFSFIRST/SEARCH NEXTFSNEXT zu holen und den 
angegebenen Betrag zu lesen.

----------------------------------------------------------------------
PEA     buffer          * Adresse des Datenbuffers
MOVE.L  #256,-(SP)      * 256 Bytes lesen
MOVE.W  handle,-(SP)    * Platz fr die Handle-Nummer
MOVE.W  #$3F,-(SP)      * Funktionsnummer
TRAP    #1
ADD.L   #12,SP
TST.L   D0              * ist ein Fehler aufgetreten?
BMI     error           * scheint so
CMP.L   #256,D0         * tatschlich 256 Bytes gelesen?
BNE     end_of_file     * waren nicht mehr genug Daten im File
...
handle:
ds.w    1               * Platz fr Handle-Nummer
buffer:
ds.b    256             * reicht in unserem Beispiel
----------------------------------------------------------------------
