Pristine Ack-5.5
[Ack-5.5.git] / mach / i386 / libsys / head_em.s
1 .sect .text; .sect .rom; .sect .data; .sect .bss
2
3 .define begtext,begdata,begbss
4 .define hol0,.reghp,.limhp,.trppc,.ignmask
5 .define ERANGE,ESET,EHEAP,ECASE,EILLINS,EIDIVZ,EODDZ
6 .define EXIT, BRK
7
8 ERANGE          = 1
9 ESET            = 2
10 EIDIVZ          = 6
11 EHEAP           = 17
12 EILLINS         = 18
13 EODDZ           = 19
14 ECASE           = 20
15
16 .sect .text
17         .data1  0353
18         .data1  0176    ! jmp to begtext in 2 bytes. Assembler generates 3
19                         ! bytes.
20         .data2 -277, -277, -277, -277
21         .space 116
22         .data2 49920
23
24 begtext:
25         mov     (.limhp),ax
26         mov     (.reghp),ax
27         xor     bp,bp
28         mov bx,sp
29         mov cx,(bx)
30         add bx,4
31         mov ax,cx
32         inc ax
33         shl ax,2
34         add ax,bx
35         push ax
36         push bx
37         push cx
38         call    __m_a_i_n
39         push    ax
40 EXIT:
41         call    __exit
42
43 BRK:
44         jmp     __brk
45
46 .sect   .data
47 begdata:
48 hol0:
49         .data2   0,0
50         .data2   0,0
51 argv:
52         .data4   3f
53 envp:
54         .data4  0
55 3:
56         .asciz "PROGRAM"
57 .reghp:
58         .data4   endbss
59 .limhp:
60         .data4   endbss
61 .ignmask:
62         .data4   0
63 .trppc:
64         .data4   0
65
66         .sect .bss
67 begbss: