source: buchla-68k/iolib/traps.s@ 0170798

Last change on this file since 0170798 was 4f508e6, checked in by Thomas Lopatic <thomas@…>, 7 years ago

Converted assembly language files.

  • Property mode set to 100644
File size: 1.8 KB
RevLine 
[4f508e6]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
[f40a309]12 .text
[4f508e6]13
[f40a309]14 .xdef _trap1
15 .xdef _trap13,_trap14
16 .xdef _xtrap15
[4f508e6]17
[f40a309]18 .xdef tr1sav,tr13sav,tr14sav
19 .xdef tr1rmp,tr13rmp,tr14rmp
[4f508e6]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
[f40a309]47 .page
[4f508e6]48
49| RAM storage areas
50| -----------------
[f40a309]51 .bss
52 .even
[4f508e6]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
[f40a309]62 .end
Note: See TracBrowser for help on using the repository browser.