1 |
|
* |
2 |
|
* asm_support.asm - AmigaOS utility functions in assembly language |
3 |
|
* |
4 |
< |
* Basilisk II (C) 1997-1999 Christian Bauer |
4 |
> |
* Basilisk II (C) 1997-2001 Christian Bauer |
5 |
|
* |
6 |
|
* This program is free software; you can redistribute it and/or modify |
7 |
|
* it under the terms of the GNU General Public License as published by |
28 |
|
XDEF _AtomicAnd |
29 |
|
XDEF _AtomicOr |
30 |
|
XDEF _MoveVBR |
31 |
+ |
XDEF _DisableSuperBypass |
32 |
|
XDEF _Execute68k |
33 |
|
XDEF _Execute68kTrap |
34 |
|
XDEF _TrapHandlerAsm |
51 |
|
|
52 |
|
SECTION text,CODE |
53 |
|
|
54 |
+ |
MACHINE 68020 |
55 |
+ |
|
56 |
|
* |
57 |
|
* Atomic bit operations (don't trust the compiler) |
58 |
|
* |
110 |
|
rte |
111 |
|
|
112 |
|
* |
113 |
+ |
* Disable 68060 Super Bypass mode |
114 |
+ |
* |
115 |
+ |
|
116 |
+ |
_DisableSuperBypass |
117 |
+ |
movem.l d0-d1/a0-a1/a5-a6,-(sp) |
118 |
+ |
move.l _SysBase,a6 |
119 |
+ |
|
120 |
+ |
lea dissb,a5 |
121 |
+ |
JSRLIB Supervisor |
122 |
+ |
|
123 |
+ |
movem.l (sp)+,d0-d1/a0-a1/a5-a6 |
124 |
+ |
rts |
125 |
+ |
|
126 |
+ |
MACHINE 68060 |
127 |
+ |
|
128 |
+ |
dissb movec pcr,d0 |
129 |
+ |
bset #5,d0 |
130 |
+ |
movec d0,pcr |
131 |
+ |
rte |
132 |
+ |
|
133 |
+ |
MACHINE 68020 |
134 |
+ |
|
135 |
+ |
* |
136 |
|
* Execute 68k subroutine (must be ended with rts) |
137 |
|
* r->a[7] and r->sr are unused! |
138 |
|
* |