2 Copyright © 1995-2001, The AROS Development Team. All rights reserved.
12 /* handler for program type exceptions */
16 mflr scr
/* save lr, so we can move it to srr0 later */
19 /* was it called from Supervisor function? */
20 cmp scr
,_Supervisor_trp
22 /* was it called from Superstate function? */
23 cmp scr
,_Superstate_trp
26 -----------------------
27 /* not yet converted to PPC */
29 /* Store trap number */
33 /* And handle the trap */
38 /* get some room for destination address */
41 /* calculate destination address without clobbering any registers */
44 move.
l ThisTask
(a0
),a0
45 move.
l tc_TrapCode
(a0
),4(sp
)
54 ----------------------
57 /* execute user function */
63 /* restore scr saved in Superstate() */
65 /* fake "supervisor stack" address */
67 /* return from Superstate() subroutine */