Pristine Ack-5.5
[Ack-5.5.git] / mach / sun3 / libce / head_em.s
1 .define .lino,.filn
2 .define EXIT
3 .define begtext,begdata,begbss
4 .define EARRAY,ERANGE,ESET,EIDIVZ,EHEAP,EILLINS,ECASE,EBADGTO
5 .define hol0,.reghp,.limhp,.trpim,.trppc
6 .define fsoft_used,start_float
7 .sect .text
8 .sect .rom
9 .sect .data
10 .sect .bss
11
12
13
14 ! runtime startoff for sun3 machine
15
16
17 LINO_AD = 0
18 FILN_AD = 4
19
20 EARRAY  = 0
21 ERANGE  = 1
22 ESET    = 2
23 EIDIVZ  = 6
24 EHEAP   = 17
25 EILLINS = 18
26 ECASE   = 20
27 EBADGTO = 27
28
29         .sect .text
30 begtext:
31         move.l  (sp),d2
32         lea     (4,sp),a0
33         move.l  d2,d1
34         add.l   #1,d1
35         asl.l   #2,d1
36         move.l  a0,a1
37         add.l   d1,a1
38         pea     (a1)
39         pea     (a0)
40         move.l  d2,-(sp)
41         move.l  #0,a6
42         jsr     (fsoft_used)
43         jsr     (__m_a_i_n)
44         move.l  d0,(sp)         ! no stack cleanup needed
45 EXIT:
46         jsr     (__exit)
47
48 fsoft_used:
49 start_float:
50         jmp     (_finitfp_)
51
52         .sect .data
53 begdata:
54         .data4 0                ! may be at virtual address 0 with no problem
55 hol0:
56 .lino:
57         .data4  0       ! lino
58 .filn:
59         .data4  0       ! filn
60 .reghp:
61         .data4  _end
62 .limhp:
63         .data4  _end
64 .trppc:
65         .data4  0
66 .trpim:
67         .data4  0       ! USED TO BE 2 BYTES; IS THIS RIGHT?
68
69
70         .sect .bss
71 begbss: !initialization is not needed because ALL entries are in zero space!