Pristine Ack-5.5
[Ack-5.5.git] / mach / vax4 / libbsd4_2 / head_em.s
1 #include "em_abs.h"
2 #include "syscall.h"
3
4         ! $Id: head_em.s,v 1.12 1994/06/24 13:51:41 ceriel Exp $
5 .sect .text; .sect .rom; .sect .data; .sect .bss
6 .sect .text
7 .define hol0
8 .define .reghp
9 .define .limhp
10 .define .trppc
11 .define .trpim
12 .define EXIT,WRITE,BRK
13
14         ! run time startoff
15         .data2  0
16         bispsw  $0100           ! set FU(0100)
17         movl    4(sp),r0
18         clrl    -4(r0)
19         movl    sp,r0
20         movl    (r0)+,r1
21         movl    r0,r2
22 1:
23         tstl    (r0)+
24         bneq    1b
25         cmpl    r0,(r2)
26         blssu   2f
27         tstl    -(r0)
28 2:
29         pushl   r0
30         pushl   r2
31         pushl   r1
32         calls   $3,__m_a_i_n
33 EXIT:
34         movl    $Im2,ap
35         movl    r0,6(ap)
36         chmk    (ap)+
37         halt
38
39 DEFINE(WRITE)
40         chmk    $SYS_write
41         bcs     1f
42         ret
43 1:
44         jmp     cerror
45
46 DEFINE(BRK)
47         cmpl    4(ap),$endbss
48         bgeq    1f
49         movl    $endbss,4(ap)
50 1:
51         chmk    $17
52         bcs     1f
53         movl    4(ap),.limhp
54         clrl    r0
55         ret
56 1:
57         jmp     cerror
58
59         .sect .data
60 Im2:
61         .data2  1
62         .data4  1
63         .data4  0
64         .data2  0
65 .reghp:
66         .data4  __end
67 .limhp:
68         .data4  __end
69 hol0:
70         .space  8
71 .trppc:
72         .space  4
73 .trpim:
74         .data4  0