Pristine Ack-5.5
[Ack-5.5.git] / mach / sun3 / libsys / head_em.s
1 .define .lino,.filn
2 .define EXIT, WRITE, BRK
3 .define begtext,begdata,begbss
4 .define EARRAY,ERANGE,ESET,EIDIVZ,EHEAP,EILLINS,ECASE,EBADGTO
5 .define hol0,.reghp,.limhp,.trpim,.trppc
6 .sect .text
7 .sect .rom
8 .sect .data
9 .sect .bss
10
11
12
13 ! runtime startof for 68020 machine
14
15
16 LINO_AD = 0
17 FILN_AD = 4
18
19 EARRAY  = 0
20 ERANGE  = 1
21 ESET    = 2
22 EIDIVZ  = 6
23 EHEAP   = 17
24 EILLINS = 18
25 ECASE   = 20
26 EBADGTO = 27
27
28         .sect .text
29 begtext:
30         move.l  (sp),d2
31         lea     (4,sp),a0
32         move.l  d2,d1
33         add.l   #1,d1
34         asl.l   #2,d1
35         move.l  a0,a1
36         add.l   d1,a1
37         pea     (a1)
38         pea     (a0)
39         move.l  d2,-(sp)
40         move.l  #0,a6
41         jsr     (__m_a_i_n)
42         move.l  d0,(sp)         ! no stack cleanup needed
43 EXIT:
44         jsr     (__exit)
45
46 WRITE:
47         jmp     (__write)
48
49 BRK:
50         jmp     (__brk)
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  endbss
62 .limhp:
63         .data4  endbss
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!