1 /* ***********************************************************
2 * *
3 * Copyright, C Honeywell Bull Inc., 1987 *
4 * *
5 * Copyright, C Honeywell Information Systems Inc., 1982 *
6 * *
7 * Copyright c 1972 by Massachusetts Institute of *
8 * Technology and Honeywell Information Systems, Inc. *
9 * *
10 *********************************************************** */
11
12
13
14 inzr_stk0: proc;
15
16 /* This program is the initializer's stack during initialization */
17 /* This is so called because it must be found in bootstrap1's magic name
18 table, which limits names to 8 recognizable characters. */
19
20 /* Automatic */
21
22 dcl 1 cdsa aligned like cds_args;
23 dcl code fixed bin 35;
24
25 /* Static */
26
27 dcl name char 32 aligned static init "inzr_stk0" options constant;
28 dcl exclude_pad 1 char 32 aligned static options constant init "*";
29
30 /* Builtins */
31
32 dcl addr baseptr bin bit hbound mod null ptr rel size string builtin;
33
34 /* Entries */
35
36 dcl com_err_ entry options variable;
37 dcl create_data_segment_ entry ptr fixed bin 35;
38
39
40 /* The initialization stack definition */
41
42
43 dcl 1 inzr_stk0 aligned,
44 2 header like stack_header,
45 2 frame like stack_frame;
46
47 /* ^L */
48
49 unspec inzr_stk0 = ""b;
50
51 /* Initialize the stack header pointers. */
52
53 inzr_stk0.header.stack_begin_ptr
54 = ptr null bin rel addr inzr_stk0.frame
55 - bin rel addr inzr_stk0;
56 inzr_stk0.header.stack_end_ptr = inzr_stk0.header.stack_begin_ptr;
57
58 /* Now set up call to create data segment */
59
60 cdsa.sections 1.p = addr inzr_stk0;
61 cdsa.sections 1.len = size inzr_stk0;
62 cdsa.sections 1.struct_name = "inzr_stk0";
63
64 cdsa.seg_name = name;
65 cdsa.num_exclude_names = 1;
66 cdsa.exclude_array_ptr = addr exclude_pad;
67
68 string cdsa.switches = "0"b;
69 cdsa.switches.have_text = "1"b;
70
71 call create_data_segment_ addr cdsa code;
72 return;
73
74 ^L
75 % include cds_args;
76 % include stack_header;
77 % include stack_frame;
78 end inzr_stk0;