revert between 56095 -> 55830 in arch
[AROS.git] / arch / .unmaintained / m68k-pp-native / exec / sys_trap1_handler.S
blob0ca27a044b8c86a6b3023b5fa3512ae469bc7370
1 /*   Copyright © 1995-2001, The AROS Development Team. All rights reserved.
2     $Id$
3 */
5         /*
6          * Handle trap 1 function calls
7          * Since POSE seems to intercept all other traps except for trap #1
8          * I need to multiplex the trap calls here.
9          */
10         .text
11         .balign 16
12         .globl _sys_trap1_handler
14 _sys_trap1_handler:
15         move.l  %a0,-(%ssp)
16         lea.l   jumptable,%a0     // get the address of the jumptable
17         move.l  (%a0,%d7),-(%ssp) // save the address of the function onto the stack
18         move.l  4(%ssp),%a0
19         move.l  (%ssp)+,(%ssp)
20         rts
21         
22 //      move.l  %a0,-8(%ssp)      // save %a0 onto the stack
23 //      lea.l   jumptable,%a0     // get the address of the jumptable
24 //      move.l  (%a0,%d7),-(%ssp) // save the address of the function onto the stack
25 //      move.l  -4(%sp),%a0       // restore %a0
26 //      rts                       // call the function
28         .data
29         .balign 4
30 jumptable:
31         dc.l    _sys_dispatch         // d7 = 0
32         dc.l    _sys_trap1_SetSR      // d7 = 4
33         dc.l    _sys_trap1_Supervisor // d7 = 8
34         dc.l    _sys_trap1_SuperState // d7 = 12