1 
 2 /*  BEGIN INCLUDE FILE ... cobol_perform_altgo.incl.pl1                */
 3 /*  Last modified September 3, 1974 by AEG                     */
 4 
 5 /*  Input structure for   cobol_addr                           */
 6 
 7 declare 1 input_struc_basic aligned static,
 8           2 type fixed bin aligned init(1),
 9           2 operand_no fixed bin aligned init(0),
10           2 lock fixed bin aligned init(0),
11           2 segno fixed bin aligned,
12           2 char_offset fixed bin(24) aligned,
13           2 send_receive fixed bin aligned init(0);
14 
15 /*
16 type         indicates type of addressing requested.  Type 1
17              indicates basic; i.e., data to be addressed is
18              specified by segno and char_offset.
19 
20 operand_no   not applicable to type 1.
21 
22 lock         indicates lock requirements for registers used in
23              addressing; 0 - do not lock registers used.
24 
25 segno        is the compiler designation of the segment in which
26              the data to be addressed is located.
27 
28 char_offset  is the character offset within segno of the data to
29              be addressed.
30 
31 send_receive indicates whether the data being addressed is a
32              sending or receiving field for the instruction whose
33              address field is being set; 0 indicates sending.
34                                                                */
35 
36 /*  Input structure for mc_register$load                       */
37 
38 declare 1 register_request aligned static,
39           2 requested_reg fixed bin aligned init(1),
40           2 assigned_reg bit(4) aligned,
41           2 lock fixed bin aligned init(0),
42           2 reg_set_now fixed bin aligned,
43           2 use_code fixed bin aligned init(0),
44           2 adjust_ptr_addr fixed bin aligned init(0),
45           2 content_ptr ptr aligned init(null),
46           2 literal_content bit(36) aligned init((36)"0"b);
47 
48 /*
49 requested_reg   is a code designating the register requested;
50                 1 designates the a register.
51 
52 assigned_reg    is a code designating the register assigned.  It
53                 has no significance if a specific register is
54                 requested.
55 
56 lock            indicates locking requirements; 1 requests that
57                 the register be locked.
58 
59 reg_set_now     not applicable for use_code = 0.
60 
61 use_code        specifies how the register is to be used by the
62                 requester; 0 signifies that such information is
63                 not meaningful for register optimization.
64 
65 adjust_ptr_addr inserted to make evident that since all pointers
66                 must be allocated on even word boundaries, the
67                 pl1 compiler will allocate structures containing
68                 pointers and all pointers therein on even word
69                 boundaries leaving "gaps" where necessary.
70 
71 content_ptr     not applicable for use_code = 0.
72 
73 literal_content not applicable for use_code = 0.
74                                                                */
75 
76 /*  End-of-perform range alterable go instruction pair         */
77 
78 declare prfrm_altgo_inst_pr(4) bit(18) unaligned static init
79           ("000000000000000000"b, "010011101001000110"b,
80            "000000000000000000"b, "111001000000000101"b);
81 
82 /*
83 The instructions are:
84 
85      lda  0
86      tra  0,al
87 
88                                                                */
89 
90 /*  END INCLUDE FILE ... cobol_perform_altgo.incl.pl1                  */
91