
*	Exec.asm (of PCQ Pascal runtime library)
*	Copyright (c) 1989 Patrick Quaid

*	This is the implementation for the routines defined in
*	Exec.i.  Not all the exec library is handled here, so
*	feel free to add the routines you need.  The routines
*	defined in Ports.i are also here.

	section	one

	XDEF	_OpenLibrary
_OpenLibrary
	move.l	8(sp),a1
	move.l	4(sp),d0
	move.l	_AbsExecBase,a6
	jsr	_LVOOpenLibrary(a6)
	rts

	XDEF	_CloseLibrary
_CloseLibrary
	move.l	4(sp),a1
	move.l	_AbsExecBase,a6
	jsr	_LVOCloseLibrary(a6)
	rts

	XDEF	_AvailMem
_AvailMem
	move.l	4(sp),d1
	move.l	_AbsExecBase,a6
	jsr	_LVOAvailMem(a6)
	rts

	XDEF	_AllocMem
_AllocMem
	move.l	8(sp),d0
	move.l	4(sp),d1
	move.l	_AbsExecBase,a6
	jsr	_LVOAllocMem(a6)
	rts

	XDEF	_FreeMem
_FreeMem
	move.l	8(sp),a1
	move.l	4(sp),d0
	move.l	_AbsExecBase,a6
	jsr	_LVOFreeMem(a6)
	rts

	XDEF	_AddPort
_AddPort
	move.l	4(sp),a1
	move.l	_AbsExecBase,a6
	jsr	_LVOAddPort(a6)
	rts

	XDEF	_FindPort
_FindPort
	move.l	4(sp),a1
	move.l	_AbsExecBase,a6
	jsr	_LVOFindPort(a6)
	rts

	XDEF	_FindTask
_FindTask
	move.l	4(sp),a1
	move.l	_AbsExecBase,a6
	jsr	_LVOFindTask(a6)
	rts

	XDEF	_GetMsg
_GetMsg
	move.l	4(sp),a0
	move.l	_AbsExecBase,a6
	jsr	_LVOGetMsg(a6)
	rts

	XDEF	_PutMsg
_PutMsg
	move.l	8(sp),a0
	move.l	4(sp),a1
	move.l	_AbsExecBase,a6
	jsr	_LVOPutMsg(a6)
	rts

	XDEF	_RemPort
_RemPort
	move.l	4(sp),a1
	move.l	_AbsExecBase,a6
	jsr	_LVORemPort(a6)
	rts

	XDEF	_ReplyMsg
_ReplyMsg
	move.l	4(sp),a1
	move.l	_AbsExecBase,a6
	jsr	_LVOReplyMsg(a6)
	rts

	XDEF	_SetTaskPri
_SetTaskPri
	move.l	8(sp),a1
	move.l	4(sp),d0
	move.l	_AbsExecBase,a6
	jsr	_LVOSetTaskPri(a6)
	rts

	XDEF	_WaitPort
_WaitPort
	move.l	4(sp),a0
	move.l	_AbsExecBase,a6
	jsr	_LVOWaitPort(a6)
	rts

	XDEF	_Forbid
_Forbid
	move.l	_AbsExecBase,a6
	jsr	_LVOForbid(a6)
	rts

	XDEF	_Permit
_Permit
	move.l	_AbsExecBase,a6
	jsr	_LVOPermit(a6)
	rts


*	XREF	_LVOCopyMemQuick
*	XREF	_LVOCopyMem
*	XREF	_LVOAddMemList
*	XREF	_LVOSumKickData
*	XREF	_LVORemSemaphore
*	XREF	_LVOAddSemaphore
*	XREF	_LVOFindSemaphore
*	XREF	_LVOReleaseSemaphoreList
*	XREF	_LVOObtainSemaphoreList
*	XREF	_LVOAttemptSemaphore
*	XREF	_LVOReleaseSemaphore
*	XREF	_LVOObtainSemaphore
*	XREF	_LVOInitSemaphore
	XREF	_LVOOpenLibrary
*	XREF	_LVOVacate
*	XREF	_LVOProcure
*	XREF	_LVOTypeOfMem
*	XREF	_LVOGetCC
*	XREF	_LVORawDoFmt
*	XREF	_LVORawPutChar
*	XREF	_LVORawMayGetChar
*	XREF	_LVORawIOInit
*	XREF	_LVOOpenResource
*	XREF	_LVORemResource
*	XREF	_LVOAddResource
*	XREF	_LVOAbortIO
*	XREF	_LVOWaitIO
*	XREF	_LVOCheckIO
*	XREF	_LVOSendIO
*	XREF	_LVODoIO
*	XREF	_LVOCloseDevice
*	XREF	_LVOOpenDevice
*	XREF	_LVORemDevice
*	XREF	_LVOAddDevice
*	XREF	_LVOSumLibrary
*	XREF	_LVOSetFunction
	XREF	_LVOCloseLibrary
*	XREF	_LVOOldOpenLibrary
*	XREF	_LVORemLibrary
*	XREF	_LVOAddLibrary
	XREF	_LVOFindPort
	XREF	_LVOWaitPort
	XREF	_LVOReplyMsg
	XREF	_LVOGetMsg
	XREF	_LVOPutMsg
	XREF	_LVORemPort
	XREF	_LVOAddPort
*	XREF	_LVOFreeTrap
*	XREF	_LVOAllocTrap
*	XREF	_LVOFreeSignal
*	XREF	_LVOAllocSignal
*	XREF	_LVOSignal
*	XREF	_LVOWait
*	XREF	_LVOSetExcept
*	XREF	_LVOSetSignal
	XREF	_LVOSetTaskPri
	XREF	_LVOFindTask
*	XREF	_LVORemTask
*	XREF	_LVOAddTask
*	XREF	_LVOFindName
*	XREF	_LVOEnqueue
*	XREF	_LVORemTail
*	XREF	_LVORemHead
*	XREF	_LVORemove
*	XREF	_LVOAddTail
*	XREF	_LVOAddHead
*	XREF	_LVOInsert
*	XREF	_LVOFreeEntry
*	XREF	_LVOAllocEntry
	XREF	_LVOAvailMem
	XREF	_LVOFreeMem
*	XREF	_LVOAllocAbs
	XREF	_LVOAllocMem
*	XREF	_LVODeallocate
*	XREF	_LVOAllocate
*	XREF	_LVOCause
*	XREF	_LVORemIntServer
*	XREF	_LVOAddIntServer
*	XREF	_LVOSetIntVector
*	XREF	_LVOUserState
*	XREF	_LVOSuperState
*	XREF	_LVOSetSR
	XREF	_LVOPermit
	XREF	_LVOForbid
*	XREF	_LVOEnable
*	XREF	_LVODisable
*	XREF	_LVODebug
*	XREF	_LVOAlert
*	XREF	_LVOInitResident
*	XREF	_LVOFindResident
*	XREF	_LVOMakeFunctions
*	XREF	_LVOMakeLibrary
*	XREF	_LVOInitStruct
*	XREF	_LVOInitCode
*	XREF	_LVOException
*	XREF	_LVODispatch
*	XREF	_LVOSwitch
*	XREF	_LVOReschedule
*	XREF	_LVOSchedule
*	XREF	_LVOExitIntr
*	XREF	_LVOSupervisor
	XREF	_AbsExecBase


	END

