source: buchla-68k/orig/IOLIB/TRAPS.S@ d21fc6f

Last change on this file since d21fc6f was 3ae31e9, checked in by Thomas Lopatic <thomas@…>, 8 years ago

Imported original source code.

  • Property mode set to 100755
File size: 1.8 KB
RevLine 
[3ae31e9]1*
2* traps.s -- define trap linkages for C routines
3* ------- -----------------------------------
4* Version 8 -- 1987-06-08 -- D.N. Lynx Crowe
5*
6* Caution: these are serially re-useable, but NOT reentrant, so
7* don't use them in interrupt processing code.
8*
9* An exception is made for ROMP in _trap15 for breakpoints so that the
10* debug code can be debugged.
11*
12 .text
13*
14 .xdef _trap1
15 .xdef _trap13,_trap14
16 .xdef _xtrap15
17*
18 .xdef tr1sav,tr13sav,tr14sav
19 .xdef tr1rmp,tr13rmp,tr14rmp
20*
21* _trap1 -- provide access to BDOS functions
22* ------ --------------------------------
23_trap1: move.l (a7)+,tr1sav * Save return address
24 trap #1 * Do the trap
25 move.l tr1sav,-(a7) * Restore return address
26 rts * Return to caller
27*
28* _trap13 -- provide access to BIOS functions
29* ------- --------------------------------
30_trap13: move.l (a7)+,tr13sav * Save return address
31 trap #13 * Do the trap
32 move.l tr13sav,-(a7) * Restore return address
33 rts * Return to caller
34*
35* _trap14 -- provide access to extended BIOS functions
36* ------- -----------------------------------------
37_trap14: move.l (a7)+,tr14sav * Save return address
38 trap #14 * Do the trap
39 move.l tr14sav,-(a7) * Restore return address
40 rts * Return to caller
41*
42* _xtrap15 -- Setup initial register trap for ROMP
43* -------- ------------------------------------
44_xtrap15: trap #15 * TRAP into ROMP
45 rts * Return (usually won't happen)
46*
47 .page
48*
49* RAM storage areas
50* -----------------
51 .bss
52 .even
53*
54tr1sav: ds.l 1 * Return address for trap1
55tr13sav: ds.l 1 * Return address for trap13
56tr14sav: ds.l 1 * Return address for trap14
57*
58tr1rmp: ds.l 1 * Save area for tr1sav for ROMP
59tr13rmp: ds.l 1 * Save area for tr13sav for ROMP
60tr14rmp: ds.l 1 * Save area for tr14sav for ROMP
61*
62 .end
Note: See TracBrowser for help on using the repository browser.