Initial revision
[AROS-Contrib.git] / development / compilers / freepascal / rtl / amiga / exec.pp
blobe792c5f55db5fd18a66a81653ad2595754fb6487
2 This file is part of the Free Pascal run time library.
4 A file in Amiga system run time library.
5 Copyright (c) 1999-2000 by Nils Sjoholm
6 member of the Amiga RTL development team.
8 See the file COPYING.FPC, included in this distribution,
9 for details about the copyright.
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15 **********************************************************************}
18 UNIT EXEC;
20 INTERFACE
22 {$I exec.inc}
25 PROCEDURE AbortIO(ioRequest : pIORequest);
26 PROCEDURE AddDevice(device : pDevice);
27 PROCEDURE AddHead(list : pList; node : pNode);
28 PROCEDURE AddIntServer(intNumber : LONGINT; interrupt : pInterrupt);
29 PROCEDURE AddLibrary(lib : pLibrary);
30 PROCEDURE AddMemHandler(memhand : pInterrupt);
31 PROCEDURE AddMemList(size : ULONG; attributes : ULONG; pri : LONGINT; base : POINTER; name : pCHAR);
32 PROCEDURE AddPort(port : pMsgPort);
33 PROCEDURE AddResource(resource : POINTER);
34 PROCEDURE AddSemaphore(sigSem : pSignalSemaphore);
35 PROCEDURE AddTail(list : pList; node : pNode);
36 FUNCTION AddTask(task : pTask; initPC : POINTER; finalPC : POINTER) : POINTER;
37 PROCEDURE Alert(alertNum : ULONG);
38 FUNCTION AllocAbs(byteSize : ULONG; location : POINTER) : POINTER;
39 FUNCTION Allocate(freeList : pMemHeader; byteSize : ULONG) : POINTER;
40 FUNCTION AllocEntry(entry : pMemList) : pMemList;
41 FUNCTION AllocMem(byteSize : ULONG; requirements : ULONG) : POINTER;
42 FUNCTION AllocPooled(poolHeader : POINTER; memSize : ULONG) : POINTER;
43 FUNCTION AllocSignal(signalNum : LONGINT) : SHORTINT;
44 FUNCTION AllocTrap(trapNum : LONGINT) : LONGINT;
45 FUNCTION AllocVec(byteSize : ULONG; requirements : ULONG) : POINTER;
46 FUNCTION AttemptSemaphore(sigSem : pSignalSemaphore) : BOOLEAN;
47 FUNCTION AttemptSemaphoreShared(sigSem : pSignalSemaphore) : ULONG;
48 FUNCTION AvailMem(requirements : ULONG) : ULONG;
49 PROCEDURE CacheClearE(address : POINTER; length : ULONG; caches : ULONG);
50 PROCEDURE CacheClearU;
51 FUNCTION CacheControl(cacheBits : ULONG; cacheMask : ULONG) : ULONG;
52 PROCEDURE CachePostDMA(address : POINTER; VAR length : ULONG; flags : ULONG);
53 FUNCTION CachePreDMA(address : POINTER; VAR length : ULONG; flags : ULONG) : POINTER;
54 PROCEDURE Cause(interrupt : pInterrupt);
55 FUNCTION CheckIO(ioRequest : pIORequest) : pIORequest;
56 PROCEDURE ChildFree(tid : POINTER);
57 PROCEDURE ChildOrphan(tid : POINTER);
58 PROCEDURE ChildStatus(tid : POINTER);
59 PROCEDURE ChildWait(tid : POINTER);
60 PROCEDURE CloseDevice(ioRequest : pIORequest);
61 PROCEDURE CloseLibrary(lib : pLibrary);
62 PROCEDURE ColdReboot;
63 PROCEDURE CopyMem(source : POINTER; dest : POINTER; size : ULONG);
64 PROCEDURE CopyMemQuick(source : POINTER; dest : POINTER; size : ULONG);
65 FUNCTION CreateIORequest(port : pMsgPort; size : ULONG) : POINTER;
66 FUNCTION CreateMsgPort : pMsgPort;
67 FUNCTION CreatePool(requirements : ULONG; puddleSize : ULONG; threshSize : ULONG) : POINTER;
68 PROCEDURE Deallocate(freeList : pMemHeader; memoryBlock : POINTER; byteSize : ULONG);
69 PROCEDURE Debug(flags : ULONG);
70 PROCEDURE DeleteIORequest(iorequest : POINTER);
71 PROCEDURE DeleteMsgPort(port : pMsgPort);
72 PROCEDURE DeletePool(poolHeader : POINTER);
73 PROCEDURE Disable;
74 FUNCTION DoIO(ioRequest : pIORequest) : SHORTINT;
75 PROCEDURE Enable;
76 PROCEDURE Enqueue(list : pList; node : pNode);
77 PROCEDURE ExecFreeMem(memoryBlock : POINTER; byteSize : ULONG);
78 PROCEDURE ExecInsert(list : pList; node : pNode; pred : pNode);
79 FUNCTION FindName(list : pList; name : pCHAR) : pNode;
80 FUNCTION FindPort(name : pCHAR) : pMsgPort;
81 FUNCTION FindResident(name : pCHAR) : pResident;
82 FUNCTION FindSemaphore(sigSem : pCHAR) : pSignalSemaphore;
83 FUNCTION FindTask(name : pCHAR) : pTask;
84 PROCEDURE Forbid;
85 PROCEDURE FreeEntry(entry : pMemList);
86 PROCEDURE FreePooled(poolHeader : POINTER; memory : POINTER; memSize : ULONG);
87 PROCEDURE FreeSignal(signalNum : LONGINT);
88 PROCEDURE FreeTrap(trapNum : LONGINT);
89 PROCEDURE FreeVec(memoryBlock : POINTER);
90 FUNCTION GetCC : ULONG;
91 FUNCTION GetMsg(port : pMsgPort) : pMessage;
92 PROCEDURE InitCode(startClass : ULONG; version : ULONG);
93 FUNCTION InitResident(resident : pResident; segList : ULONG) : POINTER;
94 PROCEDURE InitSemaphore(sigSem : pSignalSemaphore);
95 PROCEDURE InitStruct(initTable : POINTER; memory : POINTER; size : ULONG);
96 PROCEDURE MakeFunctions(target : POINTER; functionArray : POINTER; funcDispBase : ULONG);
97 FUNCTION MakeLibrary(funcInit : POINTER; structInit : POINTER; libInit : tPROCEDURE; dataSize : ULONG; segList : ULONG) : pLibrary;
98 FUNCTION ObtainQuickVector(interruptCode : POINTER) : ULONG;
99 PROCEDURE ObtainSemaphore(sigSem : pSignalSemaphore);
100 PROCEDURE ObtainSemaphoreList(sigSem : pList);
101 PROCEDURE ObtainSemaphoreShared(sigSem : pSignalSemaphore);
102 FUNCTION OldOpenLibrary(libName : pCHAR) : pLibrary;
103 FUNCTION OpenDevice(devName : pCHAR; unite : ULONG; ioRequest : pIORequest; flags : ULONG) : SHORTINT;
104 FUNCTION OpenLibrary(libName : pCHAR; version : ULONG) : pLibrary;
105 FUNCTION OpenResource(resName : pCHAR) : POINTER;
106 PROCEDURE Permit;
107 FUNCTION Procure(sigSem : pSignalSemaphore; bidMsg : pSemaphoreMessage) : BOOLEAN;
108 PROCEDURE PutMsg(port : pMsgPort; message : pMessage);
109 PROCEDURE RawDoFmt(formatString : pCHAR; dataStream : POINTER; putChProc : tPROCEDURE; putChData : POINTER);
110 PROCEDURE ReleaseSemaphore(sigSem : pSignalSemaphore);
111 PROCEDURE ReleaseSemaphoreList(sigSem : pList);
112 PROCEDURE RemDevice(device : pDevice);
113 FUNCTION RemHead(list : pList) : pNode;
114 PROCEDURE RemIntServer(intNumber : LONGINT; interrupt : pInterrupt);
115 PROCEDURE RemLibrary(lib : pLibrary);
116 PROCEDURE RemMemHandler(memhand : pInterrupt);
117 PROCEDURE Remove(node : pNode);
118 PROCEDURE RemPort(port : pMsgPort);
119 PROCEDURE RemResource(resource : POINTER);
120 PROCEDURE RemSemaphore(sigSem : pSignalSemaphore);
121 FUNCTION RemTail(list : pList) : pNode;
122 PROCEDURE RemTask(task : pTask);
123 PROCEDURE ReplyMsg(message : pMessage);
124 PROCEDURE SendIO(ioRequest : pIORequest);
125 FUNCTION SetExcept(newSignals : ULONG; signalSet : ULONG) : ULONG;
126 FUNCTION SetFunction(lib : pLibrary; funcOffset : LONGINT; newFunction : tPROCEDURE) : POINTER;
127 FUNCTION SetIntVector(intNumber : LONGINT; interrupt : pInterrupt) : pInterrupt;
128 FUNCTION SetSignal(newSignals : ULONG; signalSet : ULONG) : ULONG;
129 FUNCTION SetSR(newSR : ULONG; mask : ULONG) : ULONG;
130 FUNCTION SetTaskPri(task : pTask; priority : LONGINT) : SHORTINT;
131 PROCEDURE Signal(task : pTask; signalSet : ULONG);
132 PROCEDURE StackSwap(newStack : pStackSwapStruct);
133 PROCEDURE SumKickData;
134 PROCEDURE SumLibrary(lib : pLibrary);
135 FUNCTION SuperState : POINTER;
136 FUNCTION Supervisor(userFunction : tPROCEDURE) : ULONG;
137 FUNCTION TypeOfMem(address : POINTER) : ULONG;
138 PROCEDURE UserState(sysStack : POINTER);
139 PROCEDURE Vacate(sigSem : pSignalSemaphore; bidMsg : pSemaphoreMessage);
140 FUNCTION Wait(signalSet : ULONG) : ULONG;
141 FUNCTION WaitIO(ioRequest : pIORequest) : SHORTINT;
142 FUNCTION WaitPort(port : pMsgPort) : pMessage;
144 IMPLEMENTATION
146 PROCEDURE AbortIO(ioRequest : pIORequest);
147 BEGIN
149 MOVE.L A6,-(A7)
150 MOVEA.L ioRequest,A1
151 MOVEA.L _ExecBase,A6
152 JSR -480(A6)
153 MOVEA.L (A7)+,A6
154 END;
155 END;
157 PROCEDURE AddDevice(device : pDevice);
158 BEGIN
160 MOVE.L A6,-(A7)
161 MOVEA.L device,A1
162 MOVEA.L _ExecBase,A6
163 JSR -432(A6)
164 MOVEA.L (A7)+,A6
165 END;
166 END;
168 PROCEDURE AddHead(list : pList; node : pNode);
169 BEGIN
171 MOVE.L A6,-(A7)
172 MOVEA.L list,A0
173 MOVEA.L node,A1
174 MOVEA.L _ExecBase,A6
175 JSR -240(A6)
176 MOVEA.L (A7)+,A6
177 END;
178 END;
180 PROCEDURE AddIntServer(intNumber : LONGINT; interrupt : pInterrupt);
181 BEGIN
183 MOVE.L A6,-(A7)
184 MOVE.L intNumber,D0
185 MOVEA.L interrupt,A1
186 MOVEA.L _ExecBase,A6
187 JSR -168(A6)
188 MOVEA.L (A7)+,A6
189 END;
190 END;
192 PROCEDURE AddLibrary(lib : pLibrary);
193 BEGIN
195 MOVE.L A6,-(A7)
196 MOVEA.L lib,A1
197 MOVEA.L _ExecBase,A6
198 JSR -396(A6)
199 MOVEA.L (A7)+,A6
200 END;
201 END;
203 PROCEDURE AddMemHandler(memhand : pInterrupt);
204 BEGIN
206 MOVE.L A6,-(A7)
207 MOVEA.L memhand,A1
208 MOVEA.L _ExecBase,A6
209 JSR -774(A6)
210 MOVEA.L (A7)+,A6
211 END;
212 END;
214 PROCEDURE AddMemList(size : ULONG; attributes : ULONG; pri : LONGINT; base : POINTER; name : pCHAR);
215 BEGIN
217 MOVE.L A6,-(A7)
218 MOVE.L size,D0
219 MOVE.L attributes,D1
220 MOVE.L pri,D2
221 MOVEA.L base,A0
222 MOVEA.L name,A1
223 MOVEA.L _ExecBase,A6
224 JSR -618(A6)
225 MOVEA.L (A7)+,A6
226 END;
227 END;
229 PROCEDURE AddPort(port : pMsgPort);
230 BEGIN
232 MOVE.L A6,-(A7)
233 MOVEA.L port,A1
234 MOVEA.L _ExecBase,A6
235 JSR -354(A6)
236 MOVEA.L (A7)+,A6
237 END;
238 END;
240 PROCEDURE AddResource(resource : POINTER);
241 BEGIN
243 MOVE.L A6,-(A7)
244 MOVEA.L resource,A1
245 MOVEA.L _ExecBase,A6
246 JSR -486(A6)
247 MOVEA.L (A7)+,A6
248 END;
249 END;
251 PROCEDURE AddSemaphore(sigSem : pSignalSemaphore);
252 BEGIN
254 MOVE.L A6,-(A7)
255 MOVEA.L sigSem,A1
256 MOVEA.L _ExecBase,A6
257 JSR -600(A6)
258 MOVEA.L (A7)+,A6
259 END;
260 END;
262 PROCEDURE AddTail(list : pList; node : pNode);
263 BEGIN
265 MOVE.L A6,-(A7)
266 MOVEA.L list,A0
267 MOVEA.L node,A1
268 MOVEA.L _ExecBase,A6
269 JSR -246(A6)
270 MOVEA.L (A7)+,A6
271 END;
272 END;
274 FUNCTION AddTask(task : pTask; initPC : POINTER; finalPC : POINTER) : POINTER;
275 BEGIN
277 MOVE.L A6,-(A7)
278 MOVEA.L task,A1
279 MOVEA.L initPC,A2
280 MOVEA.L finalPC,A3
281 MOVEA.L _ExecBase,A6
282 JSR -282(A6)
283 MOVEA.L (A7)+,A6
284 MOVE.L D0,@RESULT
285 END;
286 END;
288 PROCEDURE Alert(alertNum : ULONG);
289 BEGIN
291 MOVE.L A6,-(A7)
292 MOVE.L alertNum,D7
293 MOVEA.L _ExecBase,A6
294 JSR -108(A6)
295 MOVEA.L (A7)+,A6
296 END;
297 END;
299 FUNCTION AllocAbs(byteSize : ULONG; location : POINTER) : POINTER;
300 BEGIN
302 MOVE.L A6,-(A7)
303 MOVE.L byteSize,D0
304 MOVEA.L location,A1
305 MOVEA.L _ExecBase,A6
306 JSR -204(A6)
307 MOVEA.L (A7)+,A6
308 MOVE.L D0,@RESULT
309 END;
310 END;
312 FUNCTION Allocate(freeList : pMemHeader; byteSize : ULONG) : POINTER;
313 BEGIN
315 MOVE.L A6,-(A7)
316 MOVEA.L freeList,A0
317 MOVE.L byteSize,D0
318 MOVEA.L _ExecBase,A6
319 JSR -186(A6)
320 MOVEA.L (A7)+,A6
321 MOVE.L D0,@RESULT
322 END;
323 END;
325 FUNCTION AllocEntry(entry : pMemList) : pMemList;
326 BEGIN
328 MOVE.L A6,-(A7)
329 MOVEA.L entry,A0
330 MOVEA.L _ExecBase,A6
331 JSR -222(A6)
332 MOVEA.L (A7)+,A6
333 MOVE.L D0,@RESULT
334 END;
335 END;
337 FUNCTION AllocMem(byteSize : ULONG; requirements : ULONG) : POINTER;
338 BEGIN
340 MOVE.L A6,-(A7)
341 MOVE.L byteSize,D0
342 MOVE.L requirements,D1
343 MOVEA.L _ExecBase,A6
344 JSR -198(A6)
345 MOVEA.L (A7)+,A6
346 MOVE.L D0,@RESULT
347 END;
348 END;
350 FUNCTION AllocPooled(poolHeader : POINTER; memSize : ULONG) : POINTER;
351 BEGIN
353 MOVE.L A6,-(A7)
354 MOVEA.L poolHeader,A0
355 MOVE.L memSize,D0
356 MOVEA.L _ExecBase,A6
357 JSR -708(A6)
358 MOVEA.L (A7)+,A6
359 MOVE.L D0,@RESULT
360 END;
361 END;
363 FUNCTION AllocSignal(signalNum : LONGINT) : SHORTINT;
364 BEGIN
366 MOVE.L A6,-(A7)
367 MOVE.L signalNum,D0
368 MOVEA.L _ExecBase,A6
369 JSR -330(A6)
370 MOVEA.L (A7)+,A6
371 MOVE.L D0,@RESULT
372 END;
373 END;
375 FUNCTION AllocTrap(trapNum : LONGINT) : LONGINT;
376 BEGIN
378 MOVE.L A6,-(A7)
379 MOVE.L trapNum,D0
380 MOVEA.L _ExecBase,A6
381 JSR -342(A6)
382 MOVEA.L (A7)+,A6
383 MOVE.L D0,@RESULT
384 END;
385 END;
387 FUNCTION AllocVec(byteSize : ULONG; requirements : ULONG) : POINTER;
388 BEGIN
390 MOVE.L A6,-(A7)
391 MOVE.L byteSize,D0
392 MOVE.L requirements,D1
393 MOVEA.L _ExecBase,A6
394 JSR -684(A6)
395 MOVEA.L (A7)+,A6
396 MOVE.L D0,@RESULT
397 END;
398 END;
400 FUNCTION AttemptSemaphore(sigSem : pSignalSemaphore) : BOOLEAN;
401 BEGIN
403 MOVE.L A6,-(A7)
404 MOVEA.L sigSem,A0
405 MOVEA.L _ExecBase,A6
406 JSR -576(A6)
407 MOVEA.L (A7)+,A6
408 TST.L D0
409 BEQ.B @end
410 MOVEQ #1,D0
411 @end: MOVE.B D0,@RESULT
412 END;
413 END;
415 FUNCTION AttemptSemaphoreShared(sigSem : pSignalSemaphore) : ULONG;
416 BEGIN
418 MOVE.L A6,-(A7)
419 MOVEA.L sigSem,A0
420 MOVEA.L _ExecBase,A6
421 JSR -720(A6)
422 MOVEA.L (A7)+,A6
423 MOVE.L D0,@RESULT
424 END;
425 END;
427 FUNCTION AvailMem(requirements : ULONG) : ULONG;
428 BEGIN
430 MOVE.L A6,-(A7)
431 MOVE.L requirements,D1
432 MOVEA.L _ExecBase,A6
433 JSR -216(A6)
434 MOVEA.L (A7)+,A6
435 MOVE.L D0,@RESULT
436 END;
437 END;
439 PROCEDURE CacheClearE(address : POINTER; length : ULONG; caches : ULONG);
440 BEGIN
442 MOVE.L A6,-(A7)
443 MOVEA.L address,A0
444 MOVE.L length,D0
445 MOVE.L caches,D1
446 MOVEA.L _ExecBase,A6
447 JSR -642(A6)
448 MOVEA.L (A7)+,A6
449 END;
450 END;
452 PROCEDURE CacheClearU;
453 BEGIN
455 MOVE.L A6,-(A7)
456 MOVEA.L _ExecBase,A6
457 JSR -636(A6)
458 MOVEA.L (A7)+,A6
459 END;
460 END;
462 FUNCTION CacheControl(cacheBits : ULONG; cacheMask : ULONG) : ULONG;
463 BEGIN
465 MOVE.L A6,-(A7)
466 MOVE.L cacheBits,D0
467 MOVE.L cacheMask,D1
468 MOVEA.L _ExecBase,A6
469 JSR -648(A6)
470 MOVEA.L (A7)+,A6
471 MOVE.L D0,@RESULT
472 END;
473 END;
475 PROCEDURE CachePostDMA(address : POINTER; VAR length : ULONG; flags : ULONG);
476 BEGIN
478 MOVE.L A6,-(A7)
479 MOVEA.L address,A0
480 MOVEA.L length,A1
481 MOVE.L flags,D0
482 MOVEA.L _ExecBase,A6
483 JSR -768(A6)
484 MOVEA.L (A7)+,A6
485 END;
486 END;
488 FUNCTION CachePreDMA(address : POINTER; VAR length : ULONG; flags : ULONG) : POINTER;
489 BEGIN
491 MOVE.L A6,-(A7)
492 MOVEA.L address,A0
493 MOVEA.L length,A1
494 MOVE.L flags,D0
495 MOVEA.L _ExecBase,A6
496 JSR -762(A6)
497 MOVEA.L (A7)+,A6
498 MOVE.L D0,@RESULT
499 END;
500 END;
502 PROCEDURE Cause(interrupt : pInterrupt);
503 BEGIN
505 MOVE.L A6,-(A7)
506 MOVEA.L interrupt,A1
507 MOVEA.L _ExecBase,A6
508 JSR -180(A6)
509 MOVEA.L (A7)+,A6
510 END;
511 END;
513 FUNCTION CheckIO(ioRequest : pIORequest) : pIORequest;
514 BEGIN
516 MOVE.L A6,-(A7)
517 MOVEA.L ioRequest,A1
518 MOVEA.L _ExecBase,A6
519 JSR -468(A6)
520 MOVEA.L (A7)+,A6
521 MOVE.L D0,@RESULT
522 END;
523 END;
525 PROCEDURE ChildFree(tid : POINTER);
526 BEGIN
528 MOVE.L A6,-(A7)
529 MOVE.L tid,D0
530 MOVEA.L _ExecBase,A6
531 JSR -738(A6)
532 MOVEA.L (A7)+,A6
533 END;
534 END;
536 PROCEDURE ChildOrphan(tid : POINTER);
537 BEGIN
539 MOVE.L A6,-(A7)
540 MOVE.L tid,D0
541 MOVEA.L _ExecBase,A6
542 JSR -744(A6)
543 MOVEA.L (A7)+,A6
544 END;
545 END;
547 PROCEDURE ChildStatus(tid : POINTER);
548 BEGIN
550 MOVE.L A6,-(A7)
551 MOVE.L tid,D0
552 MOVEA.L _ExecBase,A6
553 JSR -750(A6)
554 MOVEA.L (A7)+,A6
555 END;
556 END;
558 PROCEDURE ChildWait(tid : POINTER);
559 BEGIN
561 MOVE.L A6,-(A7)
562 MOVE.L tid,D0
563 MOVEA.L _ExecBase,A6
564 JSR -756(A6)
565 MOVEA.L (A7)+,A6
566 END;
567 END;
569 PROCEDURE CloseDevice(ioRequest : pIORequest);
570 BEGIN
572 MOVE.L A6,-(A7)
573 MOVEA.L ioRequest,A1
574 MOVEA.L _ExecBase,A6
575 JSR -450(A6)
576 MOVEA.L (A7)+,A6
577 END;
578 END;
580 PROCEDURE CloseLibrary(lib : pLibrary);
581 BEGIN
583 MOVE.L A6,-(A7)
584 MOVEA.L lib,A1
585 MOVEA.L _ExecBase,A6
586 JSR -414(A6)
587 MOVEA.L (A7)+,A6
588 END;
589 END;
591 PROCEDURE ColdReboot;
592 BEGIN
594 MOVE.L A6,-(A7)
595 MOVEA.L _ExecBase,A6
596 JSR -726(A6)
597 MOVEA.L (A7)+,A6
598 END;
599 END;
601 PROCEDURE CopyMem(source : POINTER; dest : POINTER; size : ULONG);
602 BEGIN
604 MOVE.L A6,-(A7)
605 MOVEA.L source,A0
606 MOVEA.L dest,A1
607 MOVE.L size,D0
608 MOVEA.L _ExecBase,A6
609 JSR -624(A6)
610 MOVEA.L (A7)+,A6
611 END;
612 END;
614 PROCEDURE CopyMemQuick(source : POINTER; dest : POINTER; size : ULONG);
615 BEGIN
617 MOVE.L A6,-(A7)
618 MOVEA.L source,A0
619 MOVEA.L dest,A1
620 MOVE.L size,D0
621 MOVEA.L _ExecBase,A6
622 JSR -630(A6)
623 MOVEA.L (A7)+,A6
624 END;
625 END;
627 FUNCTION CreateIORequest(port : pMsgPort; size : ULONG) : POINTER;
628 BEGIN
630 MOVE.L A6,-(A7)
631 MOVEA.L port,A0
632 MOVE.L size,D0
633 MOVEA.L _ExecBase,A6
634 JSR -654(A6)
635 MOVEA.L (A7)+,A6
636 MOVE.L D0,@RESULT
637 END;
638 END;
640 FUNCTION CreateMsgPort : pMsgPort;
641 BEGIN
643 MOVE.L A6,-(A7)
644 MOVEA.L _ExecBase,A6
645 JSR -666(A6)
646 MOVEA.L (A7)+,A6
647 MOVE.L D0,@RESULT
648 END;
649 END;
651 FUNCTION CreatePool(requirements : ULONG; puddleSize : ULONG; threshSize : ULONG) : POINTER;
652 BEGIN
654 MOVE.L A6,-(A7)
655 MOVE.L requirements,D0
656 MOVE.L puddleSize,D1
657 MOVE.L threshSize,D2
658 MOVEA.L _ExecBase,A6
659 JSR -696(A6)
660 MOVEA.L (A7)+,A6
661 MOVE.L D0,@RESULT
662 END;
663 END;
665 PROCEDURE Deallocate(freeList : pMemHeader; memoryBlock : POINTER; byteSize : ULONG);
666 BEGIN
668 MOVE.L A6,-(A7)
669 MOVEA.L freeList,A0
670 MOVEA.L memoryBlock,A1
671 MOVE.L byteSize,D0
672 MOVEA.L _ExecBase,A6
673 JSR -192(A6)
674 MOVEA.L (A7)+,A6
675 END;
676 END;
678 PROCEDURE Debug(flags : ULONG);
679 BEGIN
681 MOVE.L A6,-(A7)
682 MOVE.L flags,D0
683 MOVEA.L _ExecBase,A6
684 JSR -114(A6)
685 MOVEA.L (A7)+,A6
686 END;
687 END;
689 PROCEDURE DeleteIORequest(iorequest : POINTER);
690 BEGIN
692 MOVE.L A6,-(A7)
693 MOVEA.L iorequest,A0
694 MOVEA.L _ExecBase,A6
695 JSR -660(A6)
696 MOVEA.L (A7)+,A6
697 END;
698 END;
700 PROCEDURE DeleteMsgPort(port : pMsgPort);
701 BEGIN
703 MOVE.L A6,-(A7)
704 MOVEA.L port,A0
705 MOVEA.L _ExecBase,A6
706 JSR -672(A6)
707 MOVEA.L (A7)+,A6
708 END;
709 END;
711 PROCEDURE DeletePool(poolHeader : POINTER);
712 BEGIN
714 MOVE.L A6,-(A7)
715 MOVEA.L poolHeader,A0
716 MOVEA.L _ExecBase,A6
717 JSR -702(A6)
718 MOVEA.L (A7)+,A6
719 END;
720 END;
722 PROCEDURE Disable;
723 BEGIN
725 MOVE.L A6,-(A7)
726 MOVEA.L _ExecBase,A6
727 JSR -120(A6)
728 MOVEA.L (A7)+,A6
729 END;
730 END;
732 FUNCTION DoIO(ioRequest : pIORequest) : SHORTINT;
733 BEGIN
735 MOVE.L A6,-(A7)
736 MOVEA.L ioRequest,A1
737 MOVEA.L _ExecBase,A6
738 JSR -456(A6)
739 MOVEA.L (A7)+,A6
740 MOVE.L D0,@RESULT
741 END;
742 END;
744 PROCEDURE Enable;
745 BEGIN
747 MOVE.L A6,-(A7)
748 MOVEA.L _ExecBase,A6
749 JSR -126(A6)
750 MOVEA.L (A7)+,A6
751 END;
752 END;
754 PROCEDURE Enqueue(list : pList; node : pNode);
755 BEGIN
757 MOVE.L A6,-(A7)
758 MOVEA.L list,A0
759 MOVEA.L node,A1
760 MOVEA.L _ExecBase,A6
761 JSR -270(A6)
762 MOVEA.L (A7)+,A6
763 END;
764 END;
766 PROCEDURE ExecFreeMem(memoryBlock : POINTER; byteSize : ULONG);
767 BEGIN
769 MOVE.L A6,-(A7)
770 MOVEA.L memoryBlock,A1
771 MOVE.L byteSize,D0
772 MOVEA.L _ExecBase,A6
773 JSR -210(A6)
774 MOVEA.L (A7)+,A6
775 END;
776 END;
778 PROCEDURE ExecInsert(list : pList; node : pNode; pred : pNode);
779 BEGIN
781 MOVE.L A6,-(A7)
782 MOVEA.L list,A0
783 MOVEA.L node,A1
784 MOVEA.L pred,A2
785 MOVEA.L _ExecBase,A6
786 JSR -234(A6)
787 MOVEA.L (A7)+,A6
788 END;
789 END;
791 FUNCTION FindName(list : pList; name : pCHAR) : pNode;
792 BEGIN
794 MOVE.L A6,-(A7)
795 MOVEA.L list,A0
796 MOVEA.L name,A1
797 MOVEA.L _ExecBase,A6
798 JSR -276(A6)
799 MOVEA.L (A7)+,A6
800 MOVE.L D0,@RESULT
801 END;
802 END;
804 FUNCTION FindPort(name : pCHAR) : pMsgPort;
805 BEGIN
807 MOVE.L A6,-(A7)
808 MOVEA.L name,A1
809 MOVEA.L _ExecBase,A6
810 JSR -390(A6)
811 MOVEA.L (A7)+,A6
812 MOVE.L D0,@RESULT
813 END;
814 END;
816 FUNCTION FindResident(name : pCHAR) : pResident;
817 BEGIN
819 MOVE.L A6,-(A7)
820 MOVEA.L name,A1
821 MOVEA.L _ExecBase,A6
822 JSR -096(A6)
823 MOVEA.L (A7)+,A6
824 MOVE.L D0,@RESULT
825 END;
826 END;
828 FUNCTION FindSemaphore(sigSem : pCHAR) : pSignalSemaphore;
829 BEGIN
831 MOVE.L A6,-(A7)
832 MOVEA.L sigSem,A1
833 MOVEA.L _ExecBase,A6
834 JSR -594(A6)
835 MOVEA.L (A7)+,A6
836 MOVE.L D0,@RESULT
837 END;
838 END;
840 FUNCTION FindTask(name : pCHAR) : pTask;
841 BEGIN
843 MOVE.L A6,-(A7)
844 MOVEA.L name,A1
845 MOVEA.L _ExecBase,A6
846 JSR -294(A6)
847 MOVEA.L (A7)+,A6
848 MOVE.L D0,@RESULT
849 END;
850 END;
852 PROCEDURE Forbid;
853 BEGIN
855 MOVE.L A6,-(A7)
856 MOVEA.L _ExecBase,A6
857 JSR -132(A6)
858 MOVEA.L (A7)+,A6
859 END;
860 END;
862 PROCEDURE FreeEntry(entry : pMemList);
863 BEGIN
865 MOVE.L A6,-(A7)
866 MOVEA.L entry,A0
867 MOVEA.L _ExecBase,A6
868 JSR -228(A6)
869 MOVEA.L (A7)+,A6
870 END;
871 END;
873 PROCEDURE FreePooled(poolHeader : POINTER; memory : POINTER; memSize : ULONG);
874 BEGIN
876 MOVE.L A6,-(A7)
877 MOVEA.L poolHeader,A0
878 MOVEA.L memory,A1
879 MOVE.L memSize,D0
880 MOVEA.L _ExecBase,A6
881 JSR -714(A6)
882 MOVEA.L (A7)+,A6
883 END;
884 END;
886 PROCEDURE FreeSignal(signalNum : LONGINT);
887 BEGIN
889 MOVE.L A6,-(A7)
890 MOVE.L signalNum,D0
891 MOVEA.L _ExecBase,A6
892 JSR -336(A6)
893 MOVEA.L (A7)+,A6
894 END;
895 END;
897 PROCEDURE FreeTrap(trapNum : LONGINT);
898 BEGIN
900 MOVE.L A6,-(A7)
901 MOVE.L trapNum,D0
902 MOVEA.L _ExecBase,A6
903 JSR -348(A6)
904 MOVEA.L (A7)+,A6
905 END;
906 END;
908 PROCEDURE FreeVec(memoryBlock : POINTER);
909 BEGIN
911 MOVE.L A6,-(A7)
912 MOVEA.L memoryBlock,A1
913 MOVEA.L _ExecBase,A6
914 JSR -690(A6)
915 MOVEA.L (A7)+,A6
916 END;
917 END;
919 FUNCTION GetCC : ULONG;
920 BEGIN
922 MOVE.L A6,-(A7)
923 MOVEA.L _ExecBase,A6
924 JSR -528(A6)
925 MOVEA.L (A7)+,A6
926 MOVE.L D0,@RESULT
927 END;
928 END;
930 FUNCTION GetMsg(port : pMsgPort) : pMessage;
931 BEGIN
933 MOVE.L A6,-(A7)
934 MOVEA.L port,A0
935 MOVEA.L _ExecBase,A6
936 JSR -372(A6)
937 MOVEA.L (A7)+,A6
938 MOVE.L D0,@RESULT
939 END;
940 END;
942 PROCEDURE InitCode(startClass : ULONG; version : ULONG);
943 BEGIN
945 MOVE.L A6,-(A7)
946 MOVE.L startClass,D0
947 MOVE.L version,D1
948 MOVEA.L _ExecBase,A6
949 JSR -072(A6)
950 MOVEA.L (A7)+,A6
951 END;
952 END;
954 FUNCTION InitResident(resident : pResident; segList : ULONG) : POINTER;
955 BEGIN
957 MOVE.L A6,-(A7)
958 MOVEA.L resident,A1
959 MOVE.L segList,D1
960 MOVEA.L _ExecBase,A6
961 JSR -102(A6)
962 MOVEA.L (A7)+,A6
963 MOVE.L D0,@RESULT
964 END;
965 END;
967 PROCEDURE InitSemaphore(sigSem : pSignalSemaphore);
968 BEGIN
970 MOVE.L A6,-(A7)
971 MOVEA.L sigSem,A0
972 MOVEA.L _ExecBase,A6
973 JSR -558(A6)
974 MOVEA.L (A7)+,A6
975 END;
976 END;
978 PROCEDURE InitStruct(initTable : POINTER; memory : POINTER; size : ULONG);
979 BEGIN
981 MOVE.L A6,-(A7)
982 MOVEA.L initTable,A1
983 MOVEA.L memory,A2
984 MOVE.L size,D0
985 MOVEA.L _ExecBase,A6
986 JSR -078(A6)
987 MOVEA.L (A7)+,A6
988 END;
989 END;
991 PROCEDURE MakeFunctions(target : POINTER; functionArray : POINTER; funcDispBase : ULONG);
992 BEGIN
994 MOVE.L A6,-(A7)
995 MOVEA.L target,A0
996 MOVEA.L functionArray,A1
997 MOVEA.L funcDispBase,A2
998 MOVEA.L _ExecBase,A6
999 JSR -090(A6)
1000 MOVEA.L (A7)+,A6
1001 END;
1002 END;
1004 FUNCTION MakeLibrary(funcInit : POINTER; structInit : POINTER; libInit : tPROCEDURE; dataSize : ULONG; segList : ULONG) : pLibrary;
1005 BEGIN
1007 MOVE.L A6,-(A7)
1008 MOVEA.L funcInit,A0
1009 MOVEA.L structInit,A1
1010 MOVEA.L libInit,A2
1011 MOVE.L dataSize,D0
1012 MOVE.L segList,D1
1013 MOVEA.L _ExecBase,A6
1014 JSR -084(A6)
1015 MOVEA.L (A7)+,A6
1016 MOVE.L D0,@RESULT
1017 END;
1018 END;
1020 FUNCTION ObtainQuickVector(interruptCode : POINTER) : ULONG;
1021 BEGIN
1023 MOVE.L A6,-(A7)
1024 MOVEA.L interruptCode,A0
1025 MOVEA.L _ExecBase,A6
1026 JSR -786(A6)
1027 MOVEA.L (A7)+,A6
1028 MOVE.L D0,@RESULT
1029 END;
1030 END;
1032 PROCEDURE ObtainSemaphore(sigSem : pSignalSemaphore);
1033 BEGIN
1035 MOVE.L A6,-(A7)
1036 MOVEA.L sigSem,A0
1037 MOVEA.L _ExecBase,A6
1038 JSR -564(A6)
1039 MOVEA.L (A7)+,A6
1040 END;
1041 END;
1043 PROCEDURE ObtainSemaphoreList(sigSem : pList);
1044 BEGIN
1046 MOVE.L A6,-(A7)
1047 MOVEA.L sigSem,A0
1048 MOVEA.L _ExecBase,A6
1049 JSR -582(A6)
1050 MOVEA.L (A7)+,A6
1051 END;
1052 END;
1054 PROCEDURE ObtainSemaphoreShared(sigSem : pSignalSemaphore);
1055 BEGIN
1057 MOVE.L A6,-(A7)
1058 MOVEA.L sigSem,A0
1059 MOVEA.L _ExecBase,A6
1060 JSR -678(A6)
1061 MOVEA.L (A7)+,A6
1062 END;
1063 END;
1065 FUNCTION OldOpenLibrary(libName : pCHAR) : pLibrary;
1066 BEGIN
1068 MOVE.L A6,-(A7)
1069 MOVEA.L libName,A1
1070 MOVEA.L _ExecBase,A6
1071 JSR -408(A6)
1072 MOVEA.L (A7)+,A6
1073 MOVE.L D0,@RESULT
1074 END;
1075 END;
1077 FUNCTION OpenDevice(devName : pCHAR; unite : ULONG; ioRequest : pIORequest; flags : ULONG) : SHORTINT;
1078 BEGIN
1080 MOVE.L A6,-(A7)
1081 MOVEA.L devName,A0
1082 MOVE.L unite,D0
1083 MOVEA.L ioRequest,A1
1084 MOVE.L flags,D1
1085 MOVEA.L _ExecBase,A6
1086 JSR -444(A6)
1087 MOVEA.L (A7)+,A6
1088 MOVE.L D0,@RESULT
1089 END;
1090 END;
1092 FUNCTION OpenLibrary(libName : pCHAR; version : ULONG) : pLibrary;
1093 BEGIN
1095 MOVE.L A6,-(A7)
1096 MOVEA.L libName,A1
1097 MOVE.L version,D0
1098 MOVEA.L _ExecBase,A6
1099 JSR -552(A6)
1100 MOVEA.L (A7)+,A6
1101 MOVE.L D0,@RESULT
1102 END;
1103 END;
1105 FUNCTION OpenResource(resName : pCHAR) : POINTER;
1106 BEGIN
1108 MOVE.L A6,-(A7)
1109 MOVEA.L resName,A1
1110 MOVEA.L _ExecBase,A6
1111 JSR -498(A6)
1112 MOVEA.L (A7)+,A6
1113 MOVE.L D0,@RESULT
1114 END;
1115 END;
1117 PROCEDURE Permit;
1118 BEGIN
1120 MOVE.L A6,-(A7)
1121 MOVEA.L _ExecBase,A6
1122 JSR -138(A6)
1123 MOVEA.L (A7)+,A6
1124 END;
1125 END;
1127 FUNCTION Procure(sigSem : pSignalSemaphore; bidMsg : pSemaphoreMessage) : BOOLEAN;
1128 BEGIN
1130 MOVE.L A6,-(A7)
1131 MOVEA.L sigSem,A0
1132 MOVEA.L bidMsg,A1
1133 MOVEA.L _ExecBase,A6
1134 JSR -540(A6)
1135 MOVEA.L (A7)+,A6
1136 TST.L D0
1137 BEQ.B @end
1138 MOVEQ #1,D0
1139 @end: MOVE.B D0,@RESULT
1140 END;
1141 END;
1143 PROCEDURE PutMsg(port : pMsgPort; message : pMessage);
1144 BEGIN
1146 MOVE.L A6,-(A7)
1147 MOVEA.L port,A0
1148 MOVEA.L message,A1
1149 MOVEA.L _ExecBase,A6
1150 JSR -366(A6)
1151 MOVEA.L (A7)+,A6
1152 END;
1153 END;
1155 PROCEDURE RawDoFmt(formatString : pCHAR; dataStream : POINTER; putChProc : tPROCEDURE; putChData : POINTER);
1156 BEGIN
1158 MOVE.L A6,-(A7)
1159 MOVEA.L formatString,A0
1160 MOVEA.L dataStream,A1
1161 MOVEA.L putChProc,A2
1162 MOVEA.L putChData,A3
1163 MOVEA.L _ExecBase,A6
1164 JSR -522(A6)
1165 MOVEA.L (A7)+,A6
1166 END;
1167 END;
1169 PROCEDURE ReleaseSemaphore(sigSem : pSignalSemaphore);
1170 BEGIN
1172 MOVE.L A6,-(A7)
1173 MOVEA.L sigSem,A0
1174 MOVEA.L _ExecBase,A6
1175 JSR -570(A6)
1176 MOVEA.L (A7)+,A6
1177 END;
1178 END;
1180 PROCEDURE ReleaseSemaphoreList(sigSem : pList);
1181 BEGIN
1183 MOVE.L A6,-(A7)
1184 MOVEA.L sigSem,A0
1185 MOVEA.L _ExecBase,A6
1186 JSR -588(A6)
1187 MOVEA.L (A7)+,A6
1188 END;
1189 END;
1191 PROCEDURE RemDevice(device : pDevice);
1192 BEGIN
1194 MOVE.L A6,-(A7)
1195 MOVEA.L device,A1
1196 MOVEA.L _ExecBase,A6
1197 JSR -438(A6)
1198 MOVEA.L (A7)+,A6
1199 END;
1200 END;
1202 FUNCTION RemHead(list : pList) : pNode;
1203 BEGIN
1205 MOVE.L A6,-(A7)
1206 MOVEA.L list,A0
1207 MOVEA.L _ExecBase,A6
1208 JSR -258(A6)
1209 MOVEA.L (A7)+,A6
1210 MOVE.L D0,@RESULT
1211 END;
1212 END;
1214 PROCEDURE RemIntServer(intNumber : LONGINT; interrupt : pInterrupt);
1215 BEGIN
1217 MOVE.L A6,-(A7)
1218 MOVE.L intNumber,D0
1219 MOVEA.L interrupt,A1
1220 MOVEA.L _ExecBase,A6
1221 JSR -174(A6)
1222 MOVEA.L (A7)+,A6
1223 END;
1224 END;
1226 PROCEDURE RemLibrary(lib : pLibrary);
1227 BEGIN
1229 MOVE.L A6,-(A7)
1230 MOVEA.L lib,A1
1231 MOVEA.L _ExecBase,A6
1232 JSR -402(A6)
1233 MOVEA.L (A7)+,A6
1234 END;
1235 END;
1237 PROCEDURE RemMemHandler(memhand : pInterrupt);
1238 BEGIN
1240 MOVE.L A6,-(A7)
1241 MOVEA.L memhand,A1
1242 MOVEA.L _ExecBase,A6
1243 JSR -780(A6)
1244 MOVEA.L (A7)+,A6
1245 END;
1246 END;
1248 PROCEDURE Remove(node : pNode);
1249 BEGIN
1251 MOVE.L A6,-(A7)
1252 MOVEA.L node,A1
1253 MOVEA.L _ExecBase,A6
1254 JSR -252(A6)
1255 MOVEA.L (A7)+,A6
1256 END;
1257 END;
1259 PROCEDURE RemPort(port : pMsgPort);
1260 BEGIN
1262 MOVE.L A6,-(A7)
1263 MOVEA.L port,A1
1264 MOVEA.L _ExecBase,A6
1265 JSR -360(A6)
1266 MOVEA.L (A7)+,A6
1267 END;
1268 END;
1270 PROCEDURE RemResource(resource : POINTER);
1271 BEGIN
1273 MOVE.L A6,-(A7)
1274 MOVEA.L resource,A1
1275 MOVEA.L _ExecBase,A6
1276 JSR -492(A6)
1277 MOVEA.L (A7)+,A6
1278 END;
1279 END;
1281 PROCEDURE RemSemaphore(sigSem : pSignalSemaphore);
1282 BEGIN
1284 MOVE.L A6,-(A7)
1285 MOVEA.L sigSem,A1
1286 MOVEA.L _ExecBase,A6
1287 JSR -606(A6)
1288 MOVEA.L (A7)+,A6
1289 END;
1290 END;
1292 FUNCTION RemTail(list : pList) : pNode;
1293 BEGIN
1295 MOVE.L A6,-(A7)
1296 MOVEA.L list,A0
1297 MOVEA.L _ExecBase,A6
1298 JSR -264(A6)
1299 MOVEA.L (A7)+,A6
1300 MOVE.L D0,@RESULT
1301 END;
1302 END;
1304 PROCEDURE RemTask(task : pTask);
1305 BEGIN
1307 MOVE.L A6,-(A7)
1308 MOVEA.L task,A1
1309 MOVEA.L _ExecBase,A6
1310 JSR -288(A6)
1311 MOVEA.L (A7)+,A6
1312 END;
1313 END;
1315 PROCEDURE ReplyMsg(message : pMessage);
1316 BEGIN
1318 MOVE.L A6,-(A7)
1319 MOVEA.L message,A1
1320 MOVEA.L _ExecBase,A6
1321 JSR -378(A6)
1322 MOVEA.L (A7)+,A6
1323 END;
1324 END;
1326 PROCEDURE SendIO(ioRequest : pIORequest);
1327 BEGIN
1329 MOVE.L A6,-(A7)
1330 MOVEA.L ioRequest,A1
1331 MOVEA.L _ExecBase,A6
1332 JSR -462(A6)
1333 MOVEA.L (A7)+,A6
1334 END;
1335 END;
1337 FUNCTION SetExcept(newSignals : ULONG; signalSet : ULONG) : ULONG;
1338 BEGIN
1340 MOVE.L A6,-(A7)
1341 MOVE.L newSignals,D0
1342 MOVE.L signalSet,D1
1343 MOVEA.L _ExecBase,A6
1344 JSR -312(A6)
1345 MOVEA.L (A7)+,A6
1346 MOVE.L D0,@RESULT
1347 END;
1348 END;
1350 FUNCTION SetFunction(lib : pLibrary; funcOffset : LONGINT; newFunction : tPROCEDURE) : POINTER;
1351 BEGIN
1353 MOVE.L A6,-(A7)
1354 MOVEA.L lib,A1
1355 MOVEA.L funcOffset,A0
1356 MOVE.L newFunction,D0
1357 MOVEA.L _ExecBase,A6
1358 JSR -420(A6)
1359 MOVEA.L (A7)+,A6
1360 MOVE.L D0,@RESULT
1361 END;
1362 END;
1364 FUNCTION SetIntVector(intNumber : LONGINT; interrupt : pInterrupt) : pInterrupt;
1365 BEGIN
1367 MOVE.L A6,-(A7)
1368 MOVE.L intNumber,D0
1369 MOVEA.L interrupt,A1
1370 MOVEA.L _ExecBase,A6
1371 JSR -162(A6)
1372 MOVEA.L (A7)+,A6
1373 MOVE.L D0,@RESULT
1374 END;
1375 END;
1377 FUNCTION SetSignal(newSignals : ULONG; signalSet : ULONG) : ULONG;
1378 BEGIN
1380 MOVE.L A6,-(A7)
1381 MOVE.L newSignals,D0
1382 MOVE.L signalSet,D1
1383 MOVEA.L _ExecBase,A6
1384 JSR -306(A6)
1385 MOVEA.L (A7)+,A6
1386 MOVE.L D0,@RESULT
1387 END;
1388 END;
1390 FUNCTION SetSR(newSR : ULONG; mask : ULONG) : ULONG;
1391 BEGIN
1393 MOVE.L A6,-(A7)
1394 MOVE.L newSR,D0
1395 MOVE.L mask,D1
1396 MOVEA.L _ExecBase,A6
1397 JSR -144(A6)
1398 MOVEA.L (A7)+,A6
1399 MOVE.L D0,@RESULT
1400 END;
1401 END;
1403 FUNCTION SetTaskPri(task : pTask; priority : LONGINT) : SHORTINT;
1404 BEGIN
1406 MOVE.L A6,-(A7)
1407 MOVEA.L task,A1
1408 MOVE.L priority,D0
1409 MOVEA.L _ExecBase,A6
1410 JSR -300(A6)
1411 MOVEA.L (A7)+,A6
1412 MOVE.L D0,@RESULT
1413 END;
1414 END;
1416 PROCEDURE Signal(task : pTask; signalSet : ULONG);
1417 BEGIN
1419 MOVE.L A6,-(A7)
1420 MOVEA.L task,A1
1421 MOVE.L signalSet,D0
1422 MOVEA.L _ExecBase,A6
1423 JSR -324(A6)
1424 MOVEA.L (A7)+,A6
1425 END;
1426 END;
1428 PROCEDURE StackSwap(newStack : pStackSwapStruct);
1429 BEGIN
1431 MOVE.L A6,-(A7)
1432 MOVEA.L newStack,A0
1433 MOVEA.L _ExecBase,A6
1434 JSR -732(A6)
1435 MOVEA.L (A7)+,A6
1436 END;
1437 END;
1439 PROCEDURE SumKickData;
1440 BEGIN
1442 MOVE.L A6,-(A7)
1443 MOVEA.L _ExecBase,A6
1444 JSR -612(A6)
1445 MOVEA.L (A7)+,A6
1446 END;
1447 END;
1449 PROCEDURE SumLibrary(lib : pLibrary);
1450 BEGIN
1452 MOVE.L A6,-(A7)
1453 MOVEA.L lib,A1
1454 MOVEA.L _ExecBase,A6
1455 JSR -426(A6)
1456 MOVEA.L (A7)+,A6
1457 END;
1458 END;
1460 FUNCTION SuperState : POINTER;
1461 BEGIN
1463 MOVE.L A6,-(A7)
1464 MOVEA.L _ExecBase,A6
1465 JSR -150(A6)
1466 MOVEA.L (A7)+,A6
1467 MOVE.L D0,@RESULT
1468 END;
1469 END;
1471 FUNCTION Supervisor(userFunction : tPROCEDURE) : ULONG;
1472 BEGIN
1474 MOVE.L A6,-(A7)
1475 MOVEA.L userFunction,A5
1476 MOVEA.L _ExecBase,A6
1477 JSR -030(A6)
1478 MOVEA.L (A7)+,A6
1479 MOVE.L D0,@RESULT
1480 END;
1481 END;
1483 FUNCTION TypeOfMem(address : POINTER) : ULONG;
1484 BEGIN
1486 MOVE.L A6,-(A7)
1487 MOVEA.L address,A1
1488 MOVEA.L _ExecBase,A6
1489 JSR -534(A6)
1490 MOVEA.L (A7)+,A6
1491 MOVE.L D0,@RESULT
1492 END;
1493 END;
1495 PROCEDURE UserState(sysStack : POINTER);
1496 BEGIN
1498 MOVE.L A6,-(A7)
1499 MOVE.L sysStack,D0
1500 MOVEA.L _ExecBase,A6
1501 JSR -156(A6)
1502 MOVEA.L (A7)+,A6
1503 END;
1504 END;
1506 PROCEDURE Vacate(sigSem : pSignalSemaphore; bidMsg : pSemaphoreMessage);
1507 BEGIN
1509 MOVE.L A6,-(A7)
1510 MOVEA.L sigSem,A0
1511 MOVEA.L bidMsg,A1
1512 MOVEA.L _ExecBase,A6
1513 JSR -546(A6)
1514 MOVEA.L (A7)+,A6
1515 END;
1516 END;
1518 FUNCTION Wait(signalSet : ULONG) : ULONG;
1519 BEGIN
1521 MOVE.L A6,-(A7)
1522 MOVE.L signalSet,D0
1523 MOVEA.L _ExecBase,A6
1524 JSR -318(A6)
1525 MOVEA.L (A7)+,A6
1526 MOVE.L D0,@RESULT
1527 END;
1528 END;
1530 FUNCTION WaitIO(ioRequest : pIORequest) : SHORTINT;
1531 BEGIN
1533 MOVE.L A6,-(A7)
1534 MOVEA.L ioRequest,A1
1535 MOVEA.L _ExecBase,A6
1536 JSR -474(A6)
1537 MOVEA.L (A7)+,A6
1538 MOVE.L D0,@RESULT
1539 END;
1540 END;
1542 FUNCTION WaitPort(port : pMsgPort) : pMessage;
1543 BEGIN
1545 MOVE.L A6,-(A7)
1546 MOVEA.L port,A0
1547 MOVEA.L _ExecBase,A6
1548 JSR -384(A6)
1549 MOVEA.L (A7)+,A6
1550 MOVE.L D0,@RESULT
1551 END;
1552 END;
1554 END. (* UNIT EXEC *)
1557 $Log$
1558 Revision 1.1 2002/02/19 08:24:31 sasu
1559 Initial revision
1561 Revision 1.1 2000/07/13 06:30:27 michael
1562 + Initial import
1564 Revision 1.5 2000/02/09 16:59:28 peter
1565 * truncated log
1567 Revision 1.4 2000/01/07 16:41:28 daniel
1568 * copyright 2000