1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567 |
- {
- This file is part of the Free Pascal run time library.
- A file in Amiga system run time library.
- Copyright (c) 1999-2000 by Nils Sjoholm
- member of the Amiga RTL development team.
- See the file COPYING.FPC, included in this distribution,
- for details about the copyright.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- **********************************************************************}
- UNIT EXEC;
- INTERFACE
- {$I exec.inc}
- PROCEDURE AbortIO(ioRequest : pIORequest);
- PROCEDURE AddDevice(device : pDevice);
- PROCEDURE AddHead(list : pList; node : pNode);
- PROCEDURE AddIntServer(intNumber : LONGINT; interrupt : pInterrupt);
- PROCEDURE AddLibrary(lib : pLibrary);
- PROCEDURE AddMemHandler(memhand : pInterrupt);
- PROCEDURE AddMemList(size : ULONG; attributes : ULONG; pri : LONGINT; base : POINTER; name : pCHAR);
- PROCEDURE AddPort(port : pMsgPort);
- PROCEDURE AddResource(resource : POINTER);
- PROCEDURE AddSemaphore(sigSem : pSignalSemaphore);
- PROCEDURE AddTail(list : pList; node : pNode);
- FUNCTION AddTask(task : pTask; initPC : POINTER; finalPC : POINTER) : POINTER;
- PROCEDURE Alert(alertNum : ULONG);
- FUNCTION AllocAbs(byteSize : ULONG; location : POINTER) : POINTER;
- FUNCTION Allocate(freeList : pMemHeader; byteSize : ULONG) : POINTER;
- FUNCTION AllocEntry(entry : pMemList) : pMemList;
- FUNCTION AllocMem(byteSize : ULONG; requirements : ULONG) : POINTER;
- FUNCTION AllocPooled(poolHeader : POINTER; memSize : ULONG) : POINTER;
- FUNCTION AllocSignal(signalNum : LONGINT) : SHORTINT;
- FUNCTION AllocTrap(trapNum : LONGINT) : LONGINT;
- FUNCTION AllocVec(byteSize : ULONG; requirements : ULONG) : POINTER;
- FUNCTION AttemptSemaphore(sigSem : pSignalSemaphore) : BOOLEAN;
- FUNCTION AttemptSemaphoreShared(sigSem : pSignalSemaphore) : ULONG;
- FUNCTION AvailMem(requirements : ULONG) : ULONG;
- PROCEDURE CacheClearE(address : POINTER; length : ULONG; caches : ULONG);
- PROCEDURE CacheClearU;
- FUNCTION CacheControl(cacheBits : ULONG; cacheMask : ULONG) : ULONG;
- PROCEDURE CachePostDMA(address : POINTER; VAR length : ULONG; flags : ULONG);
- FUNCTION CachePreDMA(address : POINTER; VAR length : ULONG; flags : ULONG) : POINTER;
- PROCEDURE Cause(interrupt : pInterrupt);
- FUNCTION CheckIO(ioRequest : pIORequest) : pIORequest;
- PROCEDURE ChildFree(tid : POINTER);
- PROCEDURE ChildOrphan(tid : POINTER);
- PROCEDURE ChildStatus(tid : POINTER);
- PROCEDURE ChildWait(tid : POINTER);
- PROCEDURE CloseDevice(ioRequest : pIORequest);
- PROCEDURE CloseLibrary(lib : pLibrary);
- PROCEDURE ColdReboot;
- PROCEDURE CopyMem(source : POINTER; dest : POINTER; size : ULONG);
- PROCEDURE CopyMemQuick(source : POINTER; dest : POINTER; size : ULONG);
- FUNCTION CreateIORequest(port : pMsgPort; size : ULONG) : POINTER;
- FUNCTION CreateMsgPort : pMsgPort;
- FUNCTION CreatePool(requirements : ULONG; puddleSize : ULONG; threshSize : ULONG) : POINTER;
- PROCEDURE Deallocate(freeList : pMemHeader; memoryBlock : POINTER; byteSize : ULONG);
- PROCEDURE Debug(flags : ULONG);
- PROCEDURE DeleteIORequest(iorequest : POINTER);
- PROCEDURE DeleteMsgPort(port : pMsgPort);
- PROCEDURE DeletePool(poolHeader : POINTER);
- PROCEDURE Disable;
- FUNCTION DoIO(ioRequest : pIORequest) : SHORTINT;
- PROCEDURE Enable;
- PROCEDURE Enqueue(list : pList; node : pNode);
- PROCEDURE ExecFreeMem(memoryBlock : POINTER; byteSize : ULONG);
- PROCEDURE ExecInsert(list : pList; node : pNode; pred : pNode);
- FUNCTION FindName(list : pList; name : pCHAR) : pNode;
- FUNCTION FindPort(name : pCHAR) : pMsgPort;
- FUNCTION FindResident(name : pCHAR) : pResident;
- FUNCTION FindSemaphore(sigSem : pCHAR) : pSignalSemaphore;
- FUNCTION FindTask(name : pCHAR) : pTask;
- PROCEDURE Forbid;
- PROCEDURE FreeEntry(entry : pMemList);
- PROCEDURE FreePooled(poolHeader : POINTER; memory : POINTER; memSize : ULONG);
- PROCEDURE FreeSignal(signalNum : LONGINT);
- PROCEDURE FreeTrap(trapNum : LONGINT);
- PROCEDURE FreeVec(memoryBlock : POINTER);
- FUNCTION GetCC : ULONG;
- FUNCTION GetMsg(port : pMsgPort) : pMessage;
- PROCEDURE InitCode(startClass : ULONG; version : ULONG);
- FUNCTION InitResident(resident : pResident; segList : ULONG) : POINTER;
- PROCEDURE InitSemaphore(sigSem : pSignalSemaphore);
- PROCEDURE InitStruct(initTable : POINTER; memory : POINTER; size : ULONG);
- PROCEDURE MakeFunctions(target : POINTER; functionArray : POINTER; funcDispBase : ULONG);
- FUNCTION MakeLibrary(funcInit : POINTER; structInit : POINTER; libInit : tPROCEDURE; dataSize : ULONG; segList : ULONG) : pLibrary;
- FUNCTION ObtainQuickVector(interruptCode : POINTER) : ULONG;
- PROCEDURE ObtainSemaphore(sigSem : pSignalSemaphore);
- PROCEDURE ObtainSemaphoreList(sigSem : pList);
- PROCEDURE ObtainSemaphoreShared(sigSem : pSignalSemaphore);
- FUNCTION OldOpenLibrary(libName : pCHAR) : pLibrary;
- FUNCTION OpenDevice(devName : pCHAR; unite : ULONG; ioRequest : pIORequest; flags : ULONG) : SHORTINT;
- FUNCTION OpenLibrary(libName : pCHAR; version : ULONG) : pLibrary;
- FUNCTION OpenResource(resName : pCHAR) : POINTER;
- PROCEDURE Permit;
- FUNCTION Procure(sigSem : pSignalSemaphore; bidMsg : pSemaphoreMessage) : BOOLEAN;
- PROCEDURE PutMsg(port : pMsgPort; message : pMessage);
- PROCEDURE RawDoFmt(formatString : pCHAR; dataStream : POINTER; putChProc : tPROCEDURE; putChData : POINTER);
- PROCEDURE ReleaseSemaphore(sigSem : pSignalSemaphore);
- PROCEDURE ReleaseSemaphoreList(sigSem : pList);
- PROCEDURE RemDevice(device : pDevice);
- FUNCTION RemHead(list : pList) : pNode;
- PROCEDURE RemIntServer(intNumber : LONGINT; interrupt : pInterrupt);
- PROCEDURE RemLibrary(lib : pLibrary);
- PROCEDURE RemMemHandler(memhand : pInterrupt);
- PROCEDURE Remove(node : pNode);
- PROCEDURE RemPort(port : pMsgPort);
- PROCEDURE RemResource(resource : POINTER);
- PROCEDURE RemSemaphore(sigSem : pSignalSemaphore);
- FUNCTION RemTail(list : pList) : pNode;
- PROCEDURE RemTask(task : pTask);
- PROCEDURE ReplyMsg(message : pMessage);
- PROCEDURE SendIO(ioRequest : pIORequest);
- FUNCTION SetExcept(newSignals : ULONG; signalSet : ULONG) : ULONG;
- FUNCTION SetFunction(lib : pLibrary; funcOffset : LONGINT; newFunction : tPROCEDURE) : POINTER;
- FUNCTION SetIntVector(intNumber : LONGINT; interrupt : pInterrupt) : pInterrupt;
- FUNCTION SetSignal(newSignals : ULONG; signalSet : ULONG) : ULONG;
- FUNCTION SetSR(newSR : ULONG; mask : ULONG) : ULONG;
- FUNCTION SetTaskPri(task : pTask; priority : LONGINT) : SHORTINT;
- PROCEDURE Signal(task : pTask; signalSet : ULONG);
- PROCEDURE StackSwap(newStack : pStackSwapStruct);
- PROCEDURE SumKickData;
- PROCEDURE SumLibrary(lib : pLibrary);
- FUNCTION SuperState : POINTER;
- FUNCTION Supervisor(userFunction : tPROCEDURE) : ULONG;
- FUNCTION TypeOfMem(address : POINTER) : ULONG;
- PROCEDURE UserState(sysStack : POINTER);
- PROCEDURE Vacate(sigSem : pSignalSemaphore; bidMsg : pSemaphoreMessage);
- FUNCTION Wait(signalSet : ULONG) : ULONG;
- FUNCTION WaitIO(ioRequest : pIORequest) : SHORTINT;
- FUNCTION WaitPort(port : pMsgPort) : pMessage;
- IMPLEMENTATION
- PROCEDURE AbortIO(ioRequest : pIORequest);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L ioRequest,A1
- MOVEA.L _ExecBase,A6
- JSR -480(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE AddDevice(device : pDevice);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L device,A1
- MOVEA.L _ExecBase,A6
- JSR -432(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE AddHead(list : pList; node : pNode);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L list,A0
- MOVEA.L node,A1
- MOVEA.L _ExecBase,A6
- JSR -240(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE AddIntServer(intNumber : LONGINT; interrupt : pInterrupt);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L intNumber,D0
- MOVEA.L interrupt,A1
- MOVEA.L _ExecBase,A6
- JSR -168(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE AddLibrary(lib : pLibrary);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L lib,A1
- MOVEA.L _ExecBase,A6
- JSR -396(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE AddMemHandler(memhand : pInterrupt);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L memhand,A1
- MOVEA.L _ExecBase,A6
- JSR -774(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE AddMemList(size : ULONG; attributes : ULONG; pri : LONGINT; base : POINTER; name : pCHAR);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L size,D0
- MOVE.L attributes,D1
- MOVE.L pri,D2
- MOVEA.L base,A0
- MOVEA.L name,A1
- MOVEA.L _ExecBase,A6
- JSR -618(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE AddPort(port : pMsgPort);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L port,A1
- MOVEA.L _ExecBase,A6
- JSR -354(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE AddResource(resource : POINTER);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L resource,A1
- MOVEA.L _ExecBase,A6
- JSR -486(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE AddSemaphore(sigSem : pSignalSemaphore);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L sigSem,A1
- MOVEA.L _ExecBase,A6
- JSR -600(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE AddTail(list : pList; node : pNode);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L list,A0
- MOVEA.L node,A1
- MOVEA.L _ExecBase,A6
- JSR -246(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- FUNCTION AddTask(task : pTask; initPC : POINTER; finalPC : POINTER) : POINTER;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L task,A1
- MOVEA.L initPC,A2
- MOVEA.L finalPC,A3
- MOVEA.L _ExecBase,A6
- JSR -282(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- PROCEDURE Alert(alertNum : ULONG);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L alertNum,D7
- MOVEA.L _ExecBase,A6
- JSR -108(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- FUNCTION AllocAbs(byteSize : ULONG; location : POINTER) : POINTER;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L byteSize,D0
- MOVEA.L location,A1
- MOVEA.L _ExecBase,A6
- JSR -204(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION Allocate(freeList : pMemHeader; byteSize : ULONG) : POINTER;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L freeList,A0
- MOVE.L byteSize,D0
- MOVEA.L _ExecBase,A6
- JSR -186(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION AllocEntry(entry : pMemList) : pMemList;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L entry,A0
- MOVEA.L _ExecBase,A6
- JSR -222(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION AllocMem(byteSize : ULONG; requirements : ULONG) : POINTER;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L byteSize,D0
- MOVE.L requirements,D1
- MOVEA.L _ExecBase,A6
- JSR -198(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION AllocPooled(poolHeader : POINTER; memSize : ULONG) : POINTER;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L poolHeader,A0
- MOVE.L memSize,D0
- MOVEA.L _ExecBase,A6
- JSR -708(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION AllocSignal(signalNum : LONGINT) : SHORTINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L signalNum,D0
- MOVEA.L _ExecBase,A6
- JSR -330(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION AllocTrap(trapNum : LONGINT) : LONGINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L trapNum,D0
- MOVEA.L _ExecBase,A6
- JSR -342(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION AllocVec(byteSize : ULONG; requirements : ULONG) : POINTER;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L byteSize,D0
- MOVE.L requirements,D1
- MOVEA.L _ExecBase,A6
- JSR -684(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION AttemptSemaphore(sigSem : pSignalSemaphore) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L sigSem,A0
- MOVEA.L _ExecBase,A6
- JSR -576(A6)
- MOVEA.L (A7)+,A6
- TST.L D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- FUNCTION AttemptSemaphoreShared(sigSem : pSignalSemaphore) : ULONG;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L sigSem,A0
- MOVEA.L _ExecBase,A6
- JSR -720(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION AvailMem(requirements : ULONG) : ULONG;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L requirements,D1
- MOVEA.L _ExecBase,A6
- JSR -216(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- PROCEDURE CacheClearE(address : POINTER; length : ULONG; caches : ULONG);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L address,A0
- MOVE.L length,D0
- MOVE.L caches,D1
- MOVEA.L _ExecBase,A6
- JSR -642(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE CacheClearU;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L _ExecBase,A6
- JSR -636(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- FUNCTION CacheControl(cacheBits : ULONG; cacheMask : ULONG) : ULONG;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L cacheBits,D0
- MOVE.L cacheMask,D1
- MOVEA.L _ExecBase,A6
- JSR -648(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- PROCEDURE CachePostDMA(address : POINTER; VAR length : ULONG; flags : ULONG);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L address,A0
- MOVEA.L length,A1
- MOVE.L flags,D0
- MOVEA.L _ExecBase,A6
- JSR -768(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- FUNCTION CachePreDMA(address : POINTER; VAR length : ULONG; flags : ULONG) : POINTER;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L address,A0
- MOVEA.L length,A1
- MOVE.L flags,D0
- MOVEA.L _ExecBase,A6
- JSR -762(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- PROCEDURE Cause(interrupt : pInterrupt);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L interrupt,A1
- MOVEA.L _ExecBase,A6
- JSR -180(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- FUNCTION CheckIO(ioRequest : pIORequest) : pIORequest;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L ioRequest,A1
- MOVEA.L _ExecBase,A6
- JSR -468(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- PROCEDURE ChildFree(tid : POINTER);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L tid,D0
- MOVEA.L _ExecBase,A6
- JSR -738(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE ChildOrphan(tid : POINTER);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L tid,D0
- MOVEA.L _ExecBase,A6
- JSR -744(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE ChildStatus(tid : POINTER);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L tid,D0
- MOVEA.L _ExecBase,A6
- JSR -750(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE ChildWait(tid : POINTER);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L tid,D0
- MOVEA.L _ExecBase,A6
- JSR -756(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE CloseDevice(ioRequest : pIORequest);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L ioRequest,A1
- MOVEA.L _ExecBase,A6
- JSR -450(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE CloseLibrary(lib : pLibrary);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L lib,A1
- MOVEA.L _ExecBase,A6
- JSR -414(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE ColdReboot;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L _ExecBase,A6
- JSR -726(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE CopyMem(source : POINTER; dest : POINTER; size : ULONG);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L source,A0
- MOVEA.L dest,A1
- MOVE.L size,D0
- MOVEA.L _ExecBase,A6
- JSR -624(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE CopyMemQuick(source : POINTER; dest : POINTER; size : ULONG);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L source,A0
- MOVEA.L dest,A1
- MOVE.L size,D0
- MOVEA.L _ExecBase,A6
- JSR -630(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- FUNCTION CreateIORequest(port : pMsgPort; size : ULONG) : POINTER;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L port,A0
- MOVE.L size,D0
- MOVEA.L _ExecBase,A6
- JSR -654(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION CreateMsgPort : pMsgPort;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L _ExecBase,A6
- JSR -666(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION CreatePool(requirements : ULONG; puddleSize : ULONG; threshSize : ULONG) : POINTER;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L requirements,D0
- MOVE.L puddleSize,D1
- MOVE.L threshSize,D2
- MOVEA.L _ExecBase,A6
- JSR -696(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- PROCEDURE Deallocate(freeList : pMemHeader; memoryBlock : POINTER; byteSize : ULONG);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L freeList,A0
- MOVEA.L memoryBlock,A1
- MOVE.L byteSize,D0
- MOVEA.L _ExecBase,A6
- JSR -192(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE Debug(flags : ULONG);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L flags,D0
- MOVEA.L _ExecBase,A6
- JSR -114(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE DeleteIORequest(iorequest : POINTER);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L iorequest,A0
- MOVEA.L _ExecBase,A6
- JSR -660(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE DeleteMsgPort(port : pMsgPort);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L port,A0
- MOVEA.L _ExecBase,A6
- JSR -672(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE DeletePool(poolHeader : POINTER);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L poolHeader,A0
- MOVEA.L _ExecBase,A6
- JSR -702(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE Disable;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L _ExecBase,A6
- JSR -120(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- FUNCTION DoIO(ioRequest : pIORequest) : SHORTINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L ioRequest,A1
- MOVEA.L _ExecBase,A6
- JSR -456(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- PROCEDURE Enable;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L _ExecBase,A6
- JSR -126(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE Enqueue(list : pList; node : pNode);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L list,A0
- MOVEA.L node,A1
- MOVEA.L _ExecBase,A6
- JSR -270(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE ExecFreeMem(memoryBlock : POINTER; byteSize : ULONG);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L memoryBlock,A1
- MOVE.L byteSize,D0
- MOVEA.L _ExecBase,A6
- JSR -210(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE ExecInsert(list : pList; node : pNode; pred : pNode);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L list,A0
- MOVEA.L node,A1
- MOVEA.L pred,A2
- MOVEA.L _ExecBase,A6
- JSR -234(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- FUNCTION FindName(list : pList; name : pCHAR) : pNode;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L list,A0
- MOVEA.L name,A1
- MOVEA.L _ExecBase,A6
- JSR -276(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION FindPort(name : pCHAR) : pMsgPort;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L name,A1
- MOVEA.L _ExecBase,A6
- JSR -390(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION FindResident(name : pCHAR) : pResident;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L name,A1
- MOVEA.L _ExecBase,A6
- JSR -096(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION FindSemaphore(sigSem : pCHAR) : pSignalSemaphore;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L sigSem,A1
- MOVEA.L _ExecBase,A6
- JSR -594(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION FindTask(name : pCHAR) : pTask;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L name,A1
- MOVEA.L _ExecBase,A6
- JSR -294(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- PROCEDURE Forbid;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L _ExecBase,A6
- JSR -132(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE FreeEntry(entry : pMemList);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L entry,A0
- MOVEA.L _ExecBase,A6
- JSR -228(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE FreePooled(poolHeader : POINTER; memory : POINTER; memSize : ULONG);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L poolHeader,A0
- MOVEA.L memory,A1
- MOVE.L memSize,D0
- MOVEA.L _ExecBase,A6
- JSR -714(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE FreeSignal(signalNum : LONGINT);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L signalNum,D0
- MOVEA.L _ExecBase,A6
- JSR -336(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE FreeTrap(trapNum : LONGINT);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L trapNum,D0
- MOVEA.L _ExecBase,A6
- JSR -348(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE FreeVec(memoryBlock : POINTER);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L memoryBlock,A1
- MOVEA.L _ExecBase,A6
- JSR -690(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- FUNCTION GetCC : ULONG;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L _ExecBase,A6
- JSR -528(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION GetMsg(port : pMsgPort) : pMessage;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L port,A0
- MOVEA.L _ExecBase,A6
- JSR -372(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- PROCEDURE InitCode(startClass : ULONG; version : ULONG);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L startClass,D0
- MOVE.L version,D1
- MOVEA.L _ExecBase,A6
- JSR -072(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- FUNCTION InitResident(resident : pResident; segList : ULONG) : POINTER;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L resident,A1
- MOVE.L segList,D1
- MOVEA.L _ExecBase,A6
- JSR -102(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- PROCEDURE InitSemaphore(sigSem : pSignalSemaphore);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L sigSem,A0
- MOVEA.L _ExecBase,A6
- JSR -558(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE InitStruct(initTable : POINTER; memory : POINTER; size : ULONG);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L initTable,A1
- MOVEA.L memory,A2
- MOVE.L size,D0
- MOVEA.L _ExecBase,A6
- JSR -078(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE MakeFunctions(target : POINTER; functionArray : POINTER; funcDispBase : ULONG);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L target,A0
- MOVEA.L functionArray,A1
- MOVEA.L funcDispBase,A2
- MOVEA.L _ExecBase,A6
- JSR -090(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- FUNCTION MakeLibrary(funcInit : POINTER; structInit : POINTER; libInit : tPROCEDURE; dataSize : ULONG; segList : ULONG) : pLibrary;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L funcInit,A0
- MOVEA.L structInit,A1
- MOVEA.L libInit,A2
- MOVE.L dataSize,D0
- MOVE.L segList,D1
- MOVEA.L _ExecBase,A6
- JSR -084(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION ObtainQuickVector(interruptCode : POINTER) : ULONG;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L interruptCode,A0
- MOVEA.L _ExecBase,A6
- JSR -786(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- PROCEDURE ObtainSemaphore(sigSem : pSignalSemaphore);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L sigSem,A0
- MOVEA.L _ExecBase,A6
- JSR -564(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE ObtainSemaphoreList(sigSem : pList);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L sigSem,A0
- MOVEA.L _ExecBase,A6
- JSR -582(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE ObtainSemaphoreShared(sigSem : pSignalSemaphore);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L sigSem,A0
- MOVEA.L _ExecBase,A6
- JSR -678(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- FUNCTION OldOpenLibrary(libName : pCHAR) : pLibrary;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L libName,A1
- MOVEA.L _ExecBase,A6
- JSR -408(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION OpenDevice(devName : pCHAR; unite : ULONG; ioRequest : pIORequest; flags : ULONG) : SHORTINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L devName,A0
- MOVE.L unite,D0
- MOVEA.L ioRequest,A1
- MOVE.L flags,D1
- MOVEA.L _ExecBase,A6
- JSR -444(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION OpenLibrary(libName : pCHAR; version : ULONG) : pLibrary;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L libName,A1
- MOVE.L version,D0
- MOVEA.L _ExecBase,A6
- JSR -552(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION OpenResource(resName : pCHAR) : POINTER;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L resName,A1
- MOVEA.L _ExecBase,A6
- JSR -498(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- PROCEDURE Permit;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L _ExecBase,A6
- JSR -138(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- FUNCTION Procure(sigSem : pSignalSemaphore; bidMsg : pSemaphoreMessage) : BOOLEAN;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L sigSem,A0
- MOVEA.L bidMsg,A1
- MOVEA.L _ExecBase,A6
- JSR -540(A6)
- MOVEA.L (A7)+,A6
- TST.L D0
- BEQ.B @end
- MOVEQ #1,D0
- @end: MOVE.B D0,@RESULT
- END;
- END;
- PROCEDURE PutMsg(port : pMsgPort; message : pMessage);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L port,A0
- MOVEA.L message,A1
- MOVEA.L _ExecBase,A6
- JSR -366(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE RawDoFmt(formatString : pCHAR; dataStream : POINTER; putChProc : tPROCEDURE; putChData : POINTER);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L formatString,A0
- MOVEA.L dataStream,A1
- MOVEA.L putChProc,A2
- MOVEA.L putChData,A3
- MOVEA.L _ExecBase,A6
- JSR -522(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE ReleaseSemaphore(sigSem : pSignalSemaphore);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L sigSem,A0
- MOVEA.L _ExecBase,A6
- JSR -570(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE ReleaseSemaphoreList(sigSem : pList);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L sigSem,A0
- MOVEA.L _ExecBase,A6
- JSR -588(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE RemDevice(device : pDevice);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L device,A1
- MOVEA.L _ExecBase,A6
- JSR -438(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- FUNCTION RemHead(list : pList) : pNode;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L list,A0
- MOVEA.L _ExecBase,A6
- JSR -258(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- PROCEDURE RemIntServer(intNumber : LONGINT; interrupt : pInterrupt);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L intNumber,D0
- MOVEA.L interrupt,A1
- MOVEA.L _ExecBase,A6
- JSR -174(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE RemLibrary(lib : pLibrary);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L lib,A1
- MOVEA.L _ExecBase,A6
- JSR -402(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE RemMemHandler(memhand : pInterrupt);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L memhand,A1
- MOVEA.L _ExecBase,A6
- JSR -780(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE Remove(node : pNode);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L node,A1
- MOVEA.L _ExecBase,A6
- JSR -252(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE RemPort(port : pMsgPort);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L port,A1
- MOVEA.L _ExecBase,A6
- JSR -360(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE RemResource(resource : POINTER);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L resource,A1
- MOVEA.L _ExecBase,A6
- JSR -492(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE RemSemaphore(sigSem : pSignalSemaphore);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L sigSem,A1
- MOVEA.L _ExecBase,A6
- JSR -606(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- FUNCTION RemTail(list : pList) : pNode;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L list,A0
- MOVEA.L _ExecBase,A6
- JSR -264(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- PROCEDURE RemTask(task : pTask);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L task,A1
- MOVEA.L _ExecBase,A6
- JSR -288(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE ReplyMsg(message : pMessage);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L message,A1
- MOVEA.L _ExecBase,A6
- JSR -378(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE SendIO(ioRequest : pIORequest);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L ioRequest,A1
- MOVEA.L _ExecBase,A6
- JSR -462(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- FUNCTION SetExcept(newSignals : ULONG; signalSet : ULONG) : ULONG;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L newSignals,D0
- MOVE.L signalSet,D1
- MOVEA.L _ExecBase,A6
- JSR -312(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION SetFunction(lib : pLibrary; funcOffset : LONGINT; newFunction : tPROCEDURE) : POINTER;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L lib,A1
- MOVEA.L funcOffset,A0
- MOVE.L newFunction,D0
- MOVEA.L _ExecBase,A6
- JSR -420(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION SetIntVector(intNumber : LONGINT; interrupt : pInterrupt) : pInterrupt;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L intNumber,D0
- MOVEA.L interrupt,A1
- MOVEA.L _ExecBase,A6
- JSR -162(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION SetSignal(newSignals : ULONG; signalSet : ULONG) : ULONG;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L newSignals,D0
- MOVE.L signalSet,D1
- MOVEA.L _ExecBase,A6
- JSR -306(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION SetSR(newSR : ULONG; mask : ULONG) : ULONG;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L newSR,D0
- MOVE.L mask,D1
- MOVEA.L _ExecBase,A6
- JSR -144(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION SetTaskPri(task : pTask; priority : LONGINT) : SHORTINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L task,A1
- MOVE.L priority,D0
- MOVEA.L _ExecBase,A6
- JSR -300(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- PROCEDURE Signal(task : pTask; signalSet : ULONG);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L task,A1
- MOVE.L signalSet,D0
- MOVEA.L _ExecBase,A6
- JSR -324(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE StackSwap(newStack : pStackSwapStruct);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L newStack,A0
- MOVEA.L _ExecBase,A6
- JSR -732(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE SumKickData;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L _ExecBase,A6
- JSR -612(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE SumLibrary(lib : pLibrary);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L lib,A1
- MOVEA.L _ExecBase,A6
- JSR -426(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- FUNCTION SuperState : POINTER;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L _ExecBase,A6
- JSR -150(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION Supervisor(userFunction : tPROCEDURE) : ULONG;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L userFunction,A5
- MOVEA.L _ExecBase,A6
- JSR -030(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION TypeOfMem(address : POINTER) : ULONG;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L address,A1
- MOVEA.L _ExecBase,A6
- JSR -534(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- PROCEDURE UserState(sysStack : POINTER);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L sysStack,D0
- MOVEA.L _ExecBase,A6
- JSR -156(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- PROCEDURE Vacate(sigSem : pSignalSemaphore; bidMsg : pSemaphoreMessage);
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L sigSem,A0
- MOVEA.L bidMsg,A1
- MOVEA.L _ExecBase,A6
- JSR -546(A6)
- MOVEA.L (A7)+,A6
- END;
- END;
- FUNCTION Wait(signalSet : ULONG) : ULONG;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVE.L signalSet,D0
- MOVEA.L _ExecBase,A6
- JSR -318(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION WaitIO(ioRequest : pIORequest) : SHORTINT;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L ioRequest,A1
- MOVEA.L _ExecBase,A6
- JSR -474(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- FUNCTION WaitPort(port : pMsgPort) : pMessage;
- BEGIN
- ASM
- MOVE.L A6,-(A7)
- MOVEA.L port,A0
- MOVEA.L _ExecBase,A6
- JSR -384(A6)
- MOVEA.L (A7)+,A6
- MOVE.L D0,@RESULT
- END;
- END;
- END. (* UNIT EXEC *)
- {
- $Log$
- Revision 1.5 2000-02-09 16:59:28 peter
- * truncated log
- Revision 1.4 2000/01/07 16:41:28 daniel
- * copyright 2000
- }
|