home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gold Fish 1
/
GoldFishApril1994_CD1.img
/
d1xx
/
d183
/
pcq
/
runtime
/
dos.asm
< prev
next >
Wrap
Assembly Source File
|
1989-02-25
|
5KB
|
321 lines
* DOS.asm (of PCQ Pascal runtime library)
* Copyright (c) 1989 Patrick Quaid
* This module implements the calls to the DOS routines. In a
* perfect world each of these calls would be in a separate
* hunk, but there you go. The reason you don't need to open
* dos.library again, by the way, is that this file makes the
* following external reference:
XREF _p%DOSBase
section one
XDEF _GetFileHandle
_GetFileHandle
move.l 4(sp),a0
move.l (a0),d0
rts
XDEF _DOSClose
_DOSClose
move.l 4(sp),d1
move.l _p%DOSBase,a6
jsr _LVOClose(a6)
rts
XDEF _CreateDir
_CreateDir
move.l 4(sp),d1
move.l _p%DOSBase,a6
jsr _LVOCreateDir(a6)
rts
XDEF _CurrentDir
_CurrentDir
move.l 4(sp),d1
move.l _p%DOSBase,a6
jsr _LVOCurrentDir(a6)
rts
XDEF _DeleteFile
_DeleteFile
move.l 4(sp),d1
move.l _p%DOSBase,a6
jsr _LVODeleteFile(a6)
rts
XDEF _DupLock
_DupLock
move.l 4(sp),d1
move.l _p%DOSBase,a6
jsr _LVODupLock(a6)
rts
XDEF _Examine
_Examine
move.l d2,-(sp)
move.l 12(sp),d1
move.l 8(sp),d2
move.l _p%DOSBase,a6
jsr _LVOExamine(a6)
move.l (sp)+,d2
rts
XDEF _ExNext
_ExNext
move.l d2,-(sp)
move.l 12(sp),d1
move.l 8(sp),d2
move.l _p%DOSBase,a6
jsr _LVOExNext(a6)
move.l (sp)+,d2
rts
XDEF _Info
_Info
move.l d2,-(sp)
move.l 12(sp),d1
move.l 8(sp),d2
move.l _p%DOSBase,a6
jsr _LVOInfo(a6)
move.l (sp)+,d2
rts
XDEF _Input
_Input
move.l _p%DOSBase,a6
jsr _LVOInput(a6)
rts
XDEF _IoErr
_IoErr
move.l _p%DOSBase,a6
jsr _LVOIoErr(a6)
rts
XDEF _IsInteractive
_IsInteractive
move.l 4(sp),d1
move.l _p%DOSBase,a6
jsr _LVOIsInteractive(a6)
rts
XDEF _Lock
_Lock
move.l d2,-(sp)
move.l 12(sp),d1
move.l 8(sp),d2
move.l _p%DOSBase,a6
jsr _LVOLock(a6)
move.l (sp)+,d2
rts
XDEF _DOSOpen
_DOSOpen
move.l d2,-(sp)
move.l 12(sp),d1
move.l 8(sp),d2
move.l _p%DOSBase,a6
jsr _LVOOpen(a6)
move.l (sp)+,d2
rts
XDEF _Output
_Output
move.l _p%DOSBase,a6
jsr _LVOOutput(a6)
rts
XDEF _ParentDir
_ParentDir
move.l 4(sp),d1
move.l _p%DOSBase,a6
jsr _LVOParentDir(a6)
rts
XDEF _DOSRead
_DOSRead
movem.l d2-d3,-(sp)
move.l 20(sp),d1
move.l 16(sp),d2
move.l 12(sp),d3
move.l _p%DOSBase,a6
jsr _LVORead(a6)
movem.l (sp)+,d2-d3
rts
XDEF _Rename
_Rename
move.l d2,-(sp)
move.l 12(sp),d1
move.l 8(sp),d2
move.l _p%DOSBase,a6
jsr _LVORename(a6)
move.l (sp)+,d2
rts
XDEF _Seek
_Seek
movem.l d2-d3,-(sp)
move.l 20(sp),d1
move.l 16(sp),d2
move.l 12(sp),d3
move.l _p%DOSBase,a6
jsr _LVOSeek(a6)
movem.l (sp)+,d2-d3
rts
XDEF _SetComment
_SetComment
move.l d2,-(sp)
move.l 12(sp),d1
move.l 8(sp),d2
move.l _p%DOSBase,a6
jsr _LVOSetComment(a6)
move.l (sp)+,d2
rts
XDEF _SetProtection
_SetProtection
move.l d2,-(sp)
move.l 12(sp),d1
move.l 8(sp),d2
move.l _p%DOSBase,a6
jsr _LVOSetProtection(a6)
move.l (sp)+,d2
rts
XDEF _UnLock
_UnLock
move.l 4(sp),d1
move.l _p%DOSBase,a6
jsr _LVOUnLock(a6)
rts
XDEF _WaitForChar
_WaitForChar
move.l d2,-(sp)
move.l 12(sp),d1
move.l 8(sp),d2
move.l _p%DOSBase,a6
jsr _LVOWaitForChar(a6)
move.l (sp)+,d2
rts
XDEF _DOSWrite
_DOSWrite
movem.l d2-d3,-(sp)
move.l 20(sp),d1
move.l 16(sp),d2
move.l 12(sp),d3
move.l _p%DOSBase,a6
jsr _LVOWrite(a6)
movem.l (sp)+,d2-d3
rts
XDEF _CreateProc
_CreateProc
movem.l d2-d4,-(sp)
move.l 28(sp),d1
move.l 24(sp),d2
move.l 20(sp),d3
move.l 16(sp),d4
move.l _p%DOSBase,a6
jsr _LVOCreateProc(a6)
movem.l (sp)+,d2-d4
rts
XDEF _DateStamp
_DateStamp
move.l 4(sp),d1
move.l _p%DOSBase,a6
jsr _LVODateStamp(a6)
rts
XDEF _Delay
_Delay
move.l 4(sp),d1
move.l _p%DOSBase,a6
jsr _LVODelay(a6)
rts
XDEF _DeviceProc
_DeviceProc
move.l 4(sp),d1
move.l _p%DOSBase,a6
jsr _LVODeviceProc(a6)
rts
XDEF _DOSExit
_DOSExit
move.l 4(sp),d1
move.l _p%DOSBase,a6
jsr _LVOExit(a6)
rts
XDEF _Execute
_Execute
movem.l d2-d3,-(sp)
move.l 20(sp),d1
move.l 16(sp),d2
move.l 12(sp),d3
move.l _p%DOSBase,a6
jsr _LVOExecute(a6)
movem.l (sp)+,d2-d3
rts
XDEF _LoadSeg
_LoadSeg
move.l 4(sp),d1
move.l _p%DOSBase,a6
jsr _LVOLoadSeg(a6)
rts
XDEF _UnLoadSeg
_UnLoadSeg
move.l 4(sp),d1
move.l _p%DOSBase,a6
jsr _LVOUnLoadSeg(a6)
rts
* I should get around to defining these things in this file,
* but I suppose it can wait.
XREF _LVOExecute
XREF _LVOIsInteractive
XREF _LVOParentDir
XREF _LVOWaitForChar
XREF _LVODelay
XREF _LVODateStamp
XREF _LVOSetProtection
XREF _LVOSetComment
XREF _LVODeviceProc
XREF _LVOQueuePacket
XREF _LVOGetPacket
XREF _LVOUnLoadSeg
XREF _LVOLoadSeg
XREF _LVOExit
XREF _LVOCreateProc
XREF _LVOIoErr
XREF _LVOCurrentDir
XREF _LVOCreateDir
XREF _LVOInfo
XREF _LVOExNext
XREF _LVOExamine
XREF _LVODupLock
XREF _LVOUnLock
XREF _LVOLock
XREF _LVORename
XREF _LVODeleteFile
XREF _LVOSeek
XREF _LVOOutput
XREF _LVOInput
XREF _LVOWrite
XREF _LVORead
XREF _LVOClose
XREF _LVOOpen
END