12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586 |
- {
- 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.4 2000-01-07 16:41:28 daniel
- * copyright 2000
- Revision 1.3 1998/09/14 20:22:32 carl
- * Several bugfixes by Nils Sjoholm
- Revision 1.1.1.1 1998/03/25 11:18:47 root
- * Restored version
- Revision 1.3 1998/01/26 12:02:42 michael
- + Added log at the end
- Working file: rtl/amiga/exec.pp
- description:
- ----------------------------
- revision 1.2
- date: 1997/12/14 19:02:47; author: carl; state: Exp; lines: +11 -10
- * small bugfixes
- ----------------------------
- revision 1.1
- date: 1997/12/10 13:48:45; author: carl; state: Exp;
- + exec dynamic library definitions and calls.
- =============================================================================
- }
|