* 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