home *** CD-ROM | disk | FTP | other *** search
- Idnt _Write
- Section _FWrite,Code
- xref IoResult
- Xref IoCheck
- Xref Error
- Xref Dosbase
- Xref TstTab
- Xdef FWrite
-
- ; -------------------------------------
- ; - Fwrite.lib
- ; - 07-aug-93
- ;
- ; - D7 : Filehandle
- ; - D3 : Anzahl Bytes zum Schreiben
- ; - Stack : RTS.l Daten zum Schreiben
-
-
- FWrite:Clr.l IoResult ; Ergebnis = ok
- MOVE.L D7,D1 ; Handle der Datei
- jsr TstTab ; Testen ob Handle ok
- Tst.l D0
- Bne.s FWok ; Ist ok
- Adda.l d3,a7 ; Stack aufräumen
- Jmp (a4)
- FWok Move.l (sp)+,a4
- MOVE.L A7,D2 ; Adresse Puffer
- MOVEA.L Dosbase,A6
- JSR -$30(A6)
- ADDA.L D3,A7
- CLR.L IoResult
- TST.L D0
- BPL.S FWlab ; D0 >= 0 dann alles ok
- TST.L IoCheck ; Fehler, ausgeben und exit ?
- BEQ.S FWskip ; Nein, weiter
- Move.l a4,-(sp)
- JMP Error
- FWskip:JSR -$84(A6) ; IOResult aufrufen
- MOVE.L D0,IoResult ; Und in Variable abspeichern
- FWlab: jmp (a4)
- End
-