Initial commit.
[amiga/xmodule.git] / Guru.i
1 Push    macro
2         ifc     "\1","All"
3         movem.l d0-a6,-(sp)
4         else
5         movem.l \1,-(sp)
6         endc
7         endm
8
9 Pull    macro
10         ifc     "\1","All"
11         movem.l (sp)+,d0-a6
12         else
13         movem.l (sp)+,\1
14         endc
15         endm
16
17 CALL    macro
18         ifnd    _LVO\1
19         xref    _LVO\1
20         endc
21         jsr     _LVO\1(a6)
22         endm
23
24 CLIB    macro
25         xref    _LVO\2
26         ifc     "\1","Exec"
27         move.l  4.w,a6
28         else
29         move.l  _\1Base,a6
30         endc
31         jsr     _LVO\2(a6)
32         endm
33
34 CPLIB   macro
35         xref    _LVO\2
36         ifc     "\1","Exec"
37         move.l  4.w,a6
38         else
39         move.l  _\1Base(pc),a6
40         endc
41         jsr     _LVO\2(a6)
42         endm
43
44 C5LIB   macro
45         ifnd    _LVO\2
46         xref    _LVO\2
47         endc
48         ifc     "\1","Exec"
49         move.l  4.w,a6
50         else
51         move.l  _\1Base(a5),a6
52         endc
53         jsr     _LVO\2(a6)
54         endm
55
56 OLIB    macro   *LIB_ID,CLEANUP openlib Dos, cleanup
57 D\1     set     1
58         move.l  4.w,a6
59         lea     _\1Lib(pc),a1
60         moveq   #0,d0
61         jsr     _LVOOpenLibrary(a6)
62         ifd     RELATIVE
63         move.l  d0,_\1Base(a5)
64         endc
65         ifnd    RELATIVE
66         move.l  d0,_\1Base
67         endc
68         ifnc    '\2',''
69         beq     \2
70         endc
71         endm
72
73 CLLIB   macro   *LIB_ID         closlib Dos
74         ifd     RELATIVE
75         move.l  _\1Base(a5),a1
76         endc
77         ifnd    RELATIVE
78         move.l  _\1Base(pc),a1
79         endc
80         move.l  a1,d0
81         beq     cLIB\@
82         move.l  4,a6
83         jsr     _LVOCloseLibrary(a6)
84 cLIB\@
85         ifd     RELATIVE
86         clr.l   _\1Base(a5)
87         endc
88         ifnd    RELATIVE
89         clr.l   _\1Base
90         endc
91         endm