Pristine Ack-5.5
[Ack-5.5.git] / mach / sun2 / 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:  jmp     __write
47
48 BRK:    jmp     __brk
49
50         .sect .data
51 begdata:
52         .data4 0                ! may be at virtual address 0 with no problem
53 hol0:
54 .lino:
55         .data4  0       ! lino
56 .filn:
57         .data4  0       ! filn
58 .reghp:
59         .data4  endbss
60 .limhp:
61         .data4  endbss
62 .trppc:
63         .data4  0
64 .trpim:
65         .data4  0       ! USED TO BE 2 BYTES; IS THIS RIGHT?
66
67
68         .sect .bss
69 begbss: !initialization is not needed because ALL entries are in zero space!