COMPILATION LISTING OF SEGMENT pass2_ Compiled by: Multics PL/I Compiler, Release 31a, of October 12, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 10/17/88 1005.5 mst Mon Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1988 * 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 15 /****^ HISTORY COMMENTS: 16* 1) change(86-09-30,Oke), approve(86-09-30,MCR7543), audit(86-09-30,JRGray), 17* install(86-10-08,MR12.0-1180): 18* Allow ALM to support double word constants. 19* 2) change(86-10-01,JRGray), approve(86-10-01,MCR7507), 20* audit(86-10-27,RWaters), install(86-11-12,MR12.0-1202): 21* Modified to support severity, *heap references, and the "init_link" 22* pseudo. 23* 3) change(86-11-14,JRGray), approve(86-11-14,MCR7568), 24* audit(86-11-21,RWaters), install(86-11-26,MR12.0-1228): 25* Also MCR7572. Modified to add support for the three new pseudo-ops: 26* ext_extry, oct_unal, and dec_unal. 27* 4) change(88-08-02,JRGray), approve(88-08-05,MCR7952), 28* audit(88-09-30,WAAnderson), install(88-10-17,MR12.2-1169): 29* Modified to support new Symbol Table Pseudo-Ops. 30* END HISTORY COMMENTS */ 31 32 33 pass2_: 34 procedure( decor,target_value,no_target_given,first_time_thru ); /* decor is passed in from alm_6180_, set in pass1_ ; 35* target_value and no_target_given come from alm 36* via alm_6180_; first_time_thru comes from alm_6180_ */ 37 38 39 /* pass2 second pass of the Multics assembler for the GE - 645 and Honeywell 6180. */ 40 41 42 /* pass2 is primarily concerned with generating binary output. 43* pass2 processes all operations and pseudo-operations for 44* the binary (text) output that they produce. All such output 45* is generated and put out in the output file along with an 46* assembly listing. Some pseudo-operations are only concerned 47* the generating information about the linkage and are 48* treated accordingly. The post - processor will handle the 49* external reference information and put out the linkage and symbol 50* segments and the linkage part of the text segment. 51* 52* Modified to support *heap links by R Gray and W Anderson on 2/05/86. 53* Modified for changes requested by MTR 175 on 3/25/81 by EBush 54* Modified to implement -target on 2/5/81 by EBush 55* Modified for decor pseudo-op on 12/30/80 by E Bush 56* Modified for "vfd" pseudo-op on 12/15/75 by Eugene E Wiatrowski 57* Modified for prelinking on 06/15/75 by Eugene E Wiatrowski 58* Modified on 08/07/73 at 23:58:43 by R F Mabee. 59* by RFM in June 1973 to add EIS instructions, etc. 60* by RFM on 2 May 1972 adding getlp, short_call, and include pseudo-ops. 61* by RFM on 24 March 1972 for new object segment format. 62* by RFM on 5 March 1972 to add new call/save/return operators. 63* by RHG on 4 June 1971 to fix "rem" pseudo-op 64* by RHG 0n 3 June 1971 to fix clearing of flags (upkflg does orsa not sta) 65* by RHG on 2 June 1971 to produce "N" flag for "file" pseudo-op 66* by RHG on 25 May 1971 to clear flags in rem pseudo-op 67* by RHG on 2 May 1971 to fix bug in last_p2pcl initialization 68* by RHG on 2 April 1971 to have "eight,sixtyfour,mod" all produce nop's rather than 0's 69* to allow bss ,x where no label is specified before the , 70* to cause r error when save is given a relocatable arg 71* to clean up the processing of the rem pseudo-op 72* R H Campbell, 29 October 1970, for inhibit bit in ITS/ITB pseudo-ops. 73* by RHG on 17 Sept 1970 for new listing package 74* by RHG on 6 August 1970 at 2321 to not set sthedr from name pseudo-op 75* by NA on June 28, 1970 at 2123 for the new CODTAB. 76* */ /* INCLUDE FILES */ 77 78 79 1 1 /* Begin include file varcom.incl.pl1. */ 1 2 /* RHG added new variables 9/7/70. */ 1 3 /* RFM added new cells for new object segment format and first-reference trap, 27 March 1972. */ 1 4 /* RFM added include file stuff, then cross referencer stuff, 23 July 1972. */ 1 5 /* Last modified on 07/23/72 at 04:19:25 by R F Mabee. */ 1 6 1 7 declare 1 eb_data_$varcom external aligned, 1 8 2 (brk(2), nbrk(2), sym(8), dsym(8),old_locsym, pc, spc, tpc, 1 9 pclst, p2pcl, old_ndpcls, tvorg, tvcnt, tvlth, litorg, 1 10 litc, deforg, defc, defcnt, stkc, lnkc, lnkno, 1 11 litlst, old_ndltls, lnklst, old_ndlkls, explst, blklst, namlst, 1 12 trplst, xdflst, tvlst, begin_line, tpass1, tpass2, tpostp, 1 13 tinhib, tmmode, txonly, tmm2, txo2, tprot, tcall, 1 14 tmvdef, tpulnk, tfatal, calrho, lreter, passwd, binlin, 1 15 nboxes, box(0:210), myfil, mynam, myblk, mylnk, tpost1 ) fixed bin (26) , 1 16 2 source_printed bit(1) aligned, 1 17 2 (ndpcls, ndltls, ndlkls, ndtvls) ptr, 1 18 2 (basno, value, admod, b29, iaddr, symlnk ) fixed bin (26), 1 19 2 (itxtmod, ilnkmod, entrieslc, include_file_list, include_index, 1 20 first_ref_trap_proc_linkno, first_ref_trap_arg_linkno, 1 21 text_section_length) fixed binary (26), 1 22 2 (include_info_stack, include_name_list_base, include_name_list_top) pointer, 1 23 2 symbol_tree_rel fixed binary (26); 1 24 1 25 /* End of the include file varcom.incl.pl1. */ 80 81 2 1 2 2 2 3 2 4 /* include file for CONCOM */ 2 5 2 6 declare 1 eb_data_$concom ext aligned, 2 7 2 (ap, ab, bp, bb, lp, lb, sp, sb, 2 8 clunk, clint, clext, clbas, clstk, clndx, clmlc, fdef, 2 9 fmul, fphs, fset, frel, fabs, fbol, fcom, find, 2 10 flocrf, fequrf, fbolrf, fsetrf, fbasrf, fsegrf, fstkrf, fndxrf, 2 11 fmlcrf, onesev, twosev, thrsev, forsev, fivsev, sixsev, allsev, 2 12 symbas(8),mir, mri, mdu, mdl, mx0, mx1, mpc, 2 13 mpci, mfi, mits, mitb, ixtern, intern, iassgn, iserch, 2 14 ixvrvl, ixvrvp, invrvl, invrvp, ibvrvl, ibvrvp, iaccvl, iacivl, 2 15 mcmpq, mcmpx0, mldaq, mldq, mldx0, mnopdu, mstcd, mtra, 2 16 mtnc, mtnz, meabsp, meapap, meapbp, meaplp, meapsp, mstpap, 2 17 mstpbp, mstplp, mstpsp, i1542, i642, i3333, i66, ibb, 2 18 ibsp, nullf, smxer(2), sentry(2),sretrn(2), dzero(2) ) fixed bin (26) aligned ; 2 19 2 20 /* end of the include file for CONCOM */ 82 83 3 1 3 2 /* Last modified by EBush on 2/5/81 to add prnta */ 3 3 3 4 3 5 declare 1 eb_data_$erflgs ext aligned, 3 6 2 flgvec (36) fixed bin (17) aligned ; 3 7 3 8 3 9 declare 1 eb_data_$erflgs_overlay ext aligned, /* overlays the FLGVEC */ 3 10 2 (prnte, prntf, prntm, prntn, prnto, prntp, 3 11 prntr, prnts, prntt, prntu, prntx, prntb, 3 12 prntc, prntd, prnta, prnt5, prnt6, prnt7, 3 13 tstsw(18) ) fixed bin (17) aligned ; 3 14 3 15 84 85 4 1 4 2 4 3 4 4 /* include file for CODTAB */ 4 5 4 6 declare 1 eb_data_$codtab ext aligned, 4 7 2 ( inul, isoh, istx, ietx, ieot, ienq, iack, ibel, 4 8 ibs, iht, inl, ivt, iff, icr, irrs, ibrs, 4 9 idle, irht, ihlf, irvt, ihlr, inak, isyn, ietb, 4 10 ican, iem, iss, iesc, ifs, igs, irs, ius, 4 11 isp, ixclm, iquot, ilb, idolr, ipcnt, iampr, iapos, 4 12 ilpar, irpar, istar, iplus, icomma, iminus, ipoint, islash, 4 13 inum, inum_pad(9), icol, isc, ilpb, iequal, irpb, iques, iat, 4 14 ilet, ilet_pad(25), ilsb, irslsh, irsb, icflx, iulin, igrv, illet,illet_pad(25), 4 15 ilbrc, ivlin, irbrc, itldf, idel ) fixed bin (17) ; 4 16 /* NA on June 26, 1970 at 1344 for padded arrays */ 86 87 5 1 /* Begin include file alm_prototypes.incl.pl1. */ 5 2 /* Edited from several separate files, 4 November 1970, R H Campbell. */ 5 3 /* Added prototypes for new call/save/return sequence and new object segment format, 27 March 1972, R F Mabee. */ 5 4 /* Last modified on 06/13/72 at 07:43:47 by R F Mabee. */ 5 5 5 6 declare 1 eb_data_$mxpro external, /* Impure. */ 5 7 2 nmxpro fixed bin (26), 5 8 2 mxpro (2) fixed bin (26); 5 9 5 10 declare 1 eb_data_$slcall external, /* Impure. */ 5 11 2 nslcal fixed bin (26), 5 12 2 slcall (5) fixed bin (26); 5 13 5 14 declare 1 eb_data_$new_slcall external, /* Impure. */ 5 15 2 new_nslcal fixed bin (26), 5 16 2 new_slcall (5) fixed bin (26); 5 17 5 18 declare 1 eb_data_$mxcall external, /* Impure. */ 5 19 2 nmxcal fixed bin (26), 5 20 2 mxcall (11) fixed bin (26); 5 21 5 22 declare 1 eb_data_$mxclbk external, /* Impure. */ 5 23 2 nmxclb fixed bin (26), 5 24 2 mxclbk (7) fixed bin (26); 5 25 5 26 declare 1 eb_data_$mxsave external, /* Pure. */ 5 27 2 nmsav fixed bin (26), 5 28 2 mxsave (2) fixed bin (26); 5 29 5 30 declare 1 eb_data_$slsave external, /* Impure. */ 5 31 2 nslsav fixed bin (26), 5 32 2 slsave (6) fixed bin (26); 5 33 5 34 declare 1 eb_data_$new_slsave external, /* Impure. */ 5 35 2 new_nslsav fixed bin (26), 5 36 2 new_slsave (6) fixed bin (26); 5 37 5 38 declare 1 eb_data_$retlst external, /* Pure. */ 5 39 2 nretls fixed bin (26), 5 40 2 retlst (3) fixed bin (26); 5 41 5 42 declare 1 eb_data_$new_retlst external, /* Pure. */ 5 43 2 new_nretls fixed bin (26), 5 44 2 new_retlst (3) fixed bin (26); 5 45 5 46 declare 1 eb_data_$short_retlst external, /* Pure. */ 5 47 2 short_nretls fixed bin (26), 5 48 2 short_retlst (3) fixed bin (26); 5 49 5 50 declare 1 eb_data_$new_entlst external, /* Impure. */ 5 51 2 new_nentls fixed bin (26), 5 52 2 new_entlst (5) fixed bin (26); 5 53 5 54 declare 1 eb_data_$ertlst external, /* Impure. */ 5 55 2 nertls fixed bin (26), 5 56 2 ertlst (11) fixed bin (26); 5 57 5 58 declare 1 eb_data_$short_slcall external, /* Impure. */ 5 59 2 short_nslcal fixed bin (26), 5 60 2 short_slcall (6) fixed bin (26); 5 61 5 62 declare 1 eb_data_$new_getlp external, /* Pure. */ 5 63 2 new_ngetlp fixed bin (26), 5 64 2 new_getlp (5) fixed bin (26); 5 65 5 66 5 67 declare 1 eb_data_$relocn external, /* Impure. */ 5 68 2 mxpbit (2) fixed bin (26), 5 69 2 nslbit (5) fixed bin (26), 5 70 2 mxcbit (11) fixed bin (26), 5 71 2 mxlbit (7) fixed bin (26), 5 72 2 mxsbit (2) fixed bin (26), 5 73 2 mslbit (6) fixed bin (26), 5 74 2 mrtbit (3) fixed bin (26), 5 75 2 merbit (11) fixed bin (26), 5 76 2 new_mrtbit (3) fixed bin (26), 5 77 2 new_mslbit (6) fixed bin (26), 5 78 2 new_nslbit (10) fixed bin (26), 5 79 2 short_mrtbit (3) fixed bin (26), 5 80 2 new_entbit (5) fixed bin (26), 5 81 2 short_nslbit (6) fixed bin (26), 5 82 2 new_getbit (5) fixed bin (26); 5 83 5 84 /* End of include file alm_prototypes.incl.pl1. */ 88 89 6 1 6 2 6 3 6 4 /* include file for RELBIT */ 6 5 6 6 declare 1 eb_data_$relbit ext aligned, 6 7 2 ( iabsol, itext, imtext, ilink, imlink, ilkptr, idefpt, isymbl, 6 8 imsymb, ilblok, imblok, iselfr, iresv1, iresv2, iresv3, iresv4, 6 9 iescap, iltext, illink, ilsymb, ildefs, ibits(3) ) fixed bin (26) aligned ; 6 10 6 11 /* end of the include file RELBIT */ 6 12 6 13 6 14 90 91 7 1 7 2 7 3 7 4 /* the include file for LABARG */ 7 5 7 6 declare 1 eb_data_$labarg ext aligned, 7 7 2 labarg fixed bin (26) aligned ; 7 8 7 9 7 10 /* end of the include file labarg */ 7 11 92 93 8 1 /* Begin include file alm_lc.incl.pl1. */ 8 2 8 3 /****^ HISTORY COMMENTS: 8 4* 1) change(86-10-01,JRGray), approve(86-10-01,MCR7507), 8 5* audit(86-10-27,RWaters), install(86-11-12,MR12.0-1202): 8 6* Modified to add definition lc used to join blocks to the definition 8 7* section. 8 8* END HISTORY COMMENTS */ 8 9 8 10 /* Edited from several separate files, 4 November 1970, R H Campbell. */ 8 11 /* Modified 23 November 1970, R H Campbell. */ 8 12 /* Added location counter "lpentries" for new object segment format, 27 March 1972, R F Mabee. */ 8 13 /* Last modified on 03/27/72 at 23:16:58 by R F Mabee. */ 8 14 8 15 declare 1 eb_data_$curlc external, 8 16 2 curlc fixed bin (26); 8 17 8 18 declare 1 eb_data_$lccall external, 8 19 2 lpcall fixed bin (26), 8 20 2 lccall (2) fixed bin (26); 8 21 8 22 declare 1 eb_data_$lccom external, 8 23 2 ulclst fixed bin (26), 8 24 2 ulcend fixed bin (26), 8 25 2 tlclst fixed bin (26), 8 26 2 llclst fixed bin (26), 8 27 2 slclst fixed bin (26), 8 28 2 dlclst fixed bin (26); 8 29 8 30 declare 1 eb_data_$lcdefs external, 8 31 2 lpdefs fixed bin (26), 8 32 2 lcdefs (2) fixed bin (26); 8 33 8 34 declare 1 eb_data_$lcentries external, 8 35 2 lpentries fixed bin(26), 8 36 2 lcentries (2) fixed bin (26); 8 37 8 38 declare 1 eb_data_$lchead external, 8 39 2 lphead fixed bin (26), 8 40 2 lchead (2) fixed bin (26); 8 41 8 42 declare 1 eb_data_$lclit external, 8 43 2 lplit fixed bin (26), 8 44 2 lclit (2) fixed bin (26); 8 45 8 46 declare 1 eb_data_$lcrlk external, 8 47 2 lprlk fixed bin (26), 8 48 2 lcrlk (2) fixed bin (26); 8 49 8 50 declare 1 eb_data_$lcrst external, 8 51 2 lprst fixed bin (26), 8 52 2 lcrst (2) fixed bin (26); 8 53 8 54 declare 1 eb_data_$lcrtx external, 8 55 2 lprtx fixed bin (26), 8 56 2 lcrtx (2) fixed bin (26); 8 57 8 58 declare 1 eb_data_$lcsect external, 8 59 2 lpsect fixed bin(26), 8 60 2 lcsect (2) fixed bin(26); 8 61 8 62 declare 1 eb_data_$lcst external, 8 63 2 lpst fixed bin (26), 8 64 2 lcst (2) fixed bin (26); 8 65 8 66 declare 1 eb_data_$lctext external, 8 67 2 lptext fixed bin (26), 8 68 2 lctext (2) fixed bin (26); 8 69 8 70 declare 1 eb_data_$lctv external, 8 71 2 lptv fixed bin (26), 8 72 2 lctv (2) fixed bin (26); 8 73 8 74 /* End of include file alm_lc.incl.pl1. */ 94 95 9 1 /* Include file sthedr.incl.pl1. 9 2* This file declares old and new versions of symbol table headers. 9 3* Last modified on 06/20/72 at 18:51:18 by R F Mabee. */ 9 4 9 5 9 6 9 7 /****^ HISTORY COMMENTS: 9 8* 1) change(88-08-02,JRGray), approve(88-08-05,MCR7952), 9 9* audit(88-09-30,WAAnderson), install(88-10-17,MR12.2-1169): 9 10* Modified to make area_offset externally available. This is part of 9 11* Symbol Table Support. 9 12* END HISTORY COMMENTS */ 9 13 9 14 9 15 /* Declarations for old object segment format symbol table header. */ 9 16 9 17 declare sthedr_$sthedr_ ext aligned; 9 18 9 19 declare (sthedr_$alm_creation_date, sthedr_$time_of_translation) ext fixed bin (71) aligned; 9 20 9 21 declare sthedr_$seg_name ext char (32) aligned; 9 22 9 23 declare 1 sthedr_$text_and_link_lengths ext aligned, 9 24 2 text_length bit (18) unaligned, 9 25 2 link_length bit (18) unaligned; 9 26 9 27 declare sthedr_$hdrlen ext fixed bin (26) aligned; 9 28 9 29 /* Declarations for new object segment format symbol table header. */ 9 30 9 31 declare new_sthedr_$new_sthedr_ ext aligned; 9 32 9 33 declare (new_sthedr_$alm_creation_date, new_sthedr_$time_of_translation) ext fixed bin (71) aligned; 9 34 9 35 declare new_sthedr_$alm_version_name ext char (32) aligned; 9 36 9 37 declare new_sthedr_$user_id ext char (32) aligned; 9 38 9 39 declare new_sthedr_$comment ext char (64) aligned; 9 40 9 41 declare 1 new_sthedr_$text_and_link_boundaries ext aligned, 9 42 2 text_boundary bit (18) unaligned, 9 43 2 link_boundary bit (18) unaligned; 9 44 9 45 declare 1 new_sthedr_$source_and_area ext aligned, 9 46 2 source_map_offset bit (18) unaligned, 9 47 2 area_offset bit (18) unaligned; 9 48 9 49 declare 1 new_sthedr_$block_size ext aligned, 9 50 2 padding bit (18) unaligned, 9 51 2 block_size bit (18) unaligned; 9 52 9 53 declare 1 new_sthedr_$rel_bits_ptrs ext aligned, 9 54 2 padding bit (18) unaligned, 9 55 2 rel_text bit (18) unaligned, 9 56 2 rel_def bit (18) unaligned, 9 57 2 rel_link bit (18) unaligned, 9 58 2 rel_symbol bit (18) unaligned, 9 59 2 other_bits bit (18) unaligned; 9 60 9 61 declare 1 new_sthedr_$truncate_info ext aligned, 9 62 2 padding bit (18) unaligned, 9 63 2 default_truncate bit (18) unaligned, 9 64 2 optional_truncate bit (18) unaligned, 9 65 2 other_bits bit (18) unaligned; 9 66 9 67 declare new_sthedr_$hdrlen ext fixed bin (26) aligned; 9 68 9 69 declare new_sthedr_$relocinfo ext aligned; 9 70 9 71 /* End of the include file sthedr.incl.pl1 */ 96 97 10 1 /* Begin include file alm_options.incl.pl1. 10 2* This file defines the external cells used to pass options to the various modules of the assembler. 10 3* Created on 03/17/72 at 01:39:44 by R F Mabee. 10 4* Last modified on 07/23/72 at 22:02:34 by R F Mabee. */ 10 5 10 6 declare 1 eb_data_$alm_options external static aligned, 10 7 2 tnewcall fixed binary, /* Use new call/save/return operators. */ 10 8 2 tnewmachine fixed binary, /* Use followon hardware instruction set. */ 10 9 2 tnewobject fixed binary, /* Use new object segment format. */ 10 10 2 tcheckcompatibility fixed binary, /* Check for instructions changed in followon. */ 10 11 2 tquietsw fixed binary, /* Suppress online printout of error messages. */ 10 12 2 tfirstreftrap fixed binary, /* A first reference trap procedure was given. */ 10 13 2 tnoxref fixed binary; /* Zero if cross reference if to be produced. */ 10 14 10 15 /* End of include file alm_options.incl.pl1 */ 98 99 11 1 /* BEGIN INCLUDE FILE ...alm_data.incl.pl1 11 2*written 7/14/81 by EBush */ 11 3 11 4 dcl alm_data1$structure external static; 11 5 11 6 dcl data1_ptr ptr; 11 7 11 8 dcl 1 data1 based(data1_ptr), 11 9 2 extent fixed bin, 11 10 2 decor(1 refer(data1.extent)), 11 11 3 name char(24) varying, 11 12 3 number fixed bin(35); 11 13 11 14 dcl alm_data2$structure external static; 11 15 11 16 dcl data2_ptr ptr; 11 17 11 18 dcl 1 data2 based(data2_ptr), 11 19 2 num_of_classes_less_1 fixed bin, 11 20 2 num_of_decors fixed bin, 11 21 2 compatible(0:1 refer(data2.num_of_classes_less_1),1 refer(data2.num_of_decors)) bit(1); 11 22 11 23 data1_ptr = addr(alm_data1$structure); 11 24 data2_ptr = addr(alm_data2$structure); 11 25 11 26 /* END OF INCLUDE FILE ...alm_data.incl.pl1 */ 101 102 /* END OF THE INCLUDE FILES */ /* */ 103 104 /* PARAMETERS */ 105 106 dcl decor fixed bin(35); /* passed from alm_6180_, set in pass1_ */ 107 dcl target_value fixed bin(17); 108 dcl (no_target_given,first_time_thru) bit(1); 109 110 111 /* CONDITIONS */ 112 113 dcl cleanup condition; 114 115 116 /* BASED STORAGE DECLARATIONS */ 117 118 dcl long_int_based fixed bin(71) based unaligned; 119 120 dcl 1 word based aligned, 121 2 (left, right) bit (18) unaligned; 122 123 dcl 1 glpl_words (0:262143) based (eb_data_$lavptr) aligned, 124 2 left bit (18) unaligned, 125 2 right bit (18) unaligned; 126 127 dcl 1 acc_string based ( addr (sym (1))) aligned, 128 2 length fixed bin (9) unsigned unaligned, 129 2 chars char (acc_string.length) unaligned; 130 131 dcl 1 opcode_overlay based aligned, 132 2 filler bit (18) unaligned, 133 2 opcode bit (10) unaligned, 134 2 flags bit (4) unaligned, /* Any value pass2_ might need. */ 135 2 iclass bit (4) unaligned; /* Intersection of decors in which it is valid */ 136 137 dcl 1 descop_overlay based aligned, 138 2 filler bit(24) unaligned, 139 2 format bit(4) unaligned, 140 2 flags bit(4) unaligned, 141 2 decor bit(4) unaligned; 142 143 /* EXTERNAL ENTRIES USED BY PASS2 */ 144 145 dcl alm_symtab_$block entry(char(*)), 146 alm_symtab_$cleanup entry, 147 alm_symtab_$end_block entry, 148 alm_symtab_$end_enum entry, 149 alm_symtab_$end_source entry, 150 alm_symtab_$end_structure entry, 151 alm_symtab_$end_union entry, 152 alm_symtab_$enum entry(char(*)), 153 alm_symtab_$initialize entry, 154 alm_symtab_$source entry(char(*), bit(36) aligned, fixed bin(71)), 155 alm_symtab_$statement entry(fixed bin(26), fixed bin(26), fixed bin(26), fixed bin(26), fixed bin(26)), 156 alm_symtab_$structure entry(char(*)), 157 alm_symtab_$symbol entry(char(*), char(*), fixed bin(26), fixed bin(26), fixed bin(26), fixed bin(26), fixed bin(26), fixed bin(26)), 158 alm_symtab_$union entry(char(*)), 159 getid_$getid_ ext entry, 160 getid_$getnam ext entry, 161 getid_$setid ext entry (fixed bin (26)), 162 getbit_$getbit_ ext entry (fixed bin (26), fixed bin (26), fixed bin (26), fixed bin (26)), 163 inputs_$next ext entry, 164 inputs_$nxtnb ext entry, 165 inputs_$next_statement ext entry, 166 inputs_$next_statement_nolist ext entry, 167 litevl_$itbevl ext entry (fixed bin (26), fixed bin (26)), 168 utils_$upkflg ext entry (fixed bin), 169 utils_$abort ext entry, 170 litevl_$itsevl ext entry (fixed bin (26), fixed bin (26)), 171 litevl_$litasn ext entry (fixed bin (26), fixed bin (26), fixed bin (26), fixed bin (26)), 172 prwrd_$source_only ext entry, 173 prnter_$prnter_ ext entry (char (*)), 174 putout_$putwrd ext entry (fixed bin (26), fixed bin (26), fixed bin (26), fixed bin (26)), 175 prwrd_$prwrd_ ext entry (fixed bin (26), fixed bin (26), fixed bin (26)), 176 putout_$putlst ext entry (fixed bin (26), fixed bin (26), fixed bin (26), 177 fixed bin (26), fixed bin (26)), 178 glpl_$slwrd ext entry (fixed bin (26), fixed bin (26), fixed bin (26)), 179 glpl_$storl ext entry (fixed bin (26), fixed bin (26)), 180 glpl_$storr ext entry (fixed bin (26), fixed bin (26)); 181 dcl alm_include_file_$pass2 ext entry, 182 alm_include_file_$insert ext entry (ptr, fixed bin (26), fixed bin (26)), 183 alm_include_file_$pop ext entry, 184 expand_pathname_$component entry(char(*), char(*), char(*), char(*), fixed bin(35)), 185 initiate_file_$component entry(char(*), char(*), char(*), bit(*), ptr, fixed bin(24), fixed bin(35)), 186 inputs_$get_ptr entry (ptr, fixed bin (26), fixed bin (26), bit (1) aligned), 187 mexp_ ext entry (char (*), fixed bin (17), fixed bin(17), bit(1), bit(1)), 188 mexp_$define_macro ext entry (char (*)), 189 oplook_$reset ext entry, 190 oplook_$redefine entry, 191 system_type_ entry (char(*), char(*), fixed bin, fixed bin(35)), 192 terminate_file_ entry(ptr, fixed bin(24), bit(*), fixed bin(35)), 193 translator_info_$component_get_source_info entry(ptr, char(*), char(*), char(*), fixed bin(71), bit(36) aligned, fixed bin(35)); 194 195 /* EXTERNAL FUNCTIONS CALLED BY PASS2 */ 196 197 dcl (ascevl_$accevl ext entry (fixed bin (26)), 198 ascevl_$acievl ext entry (fixed bin (26)), 199 ascevl_$ac4evl ext entry (fixed bin (26)), 200 ascevl_$bcdevl ext entry (fixed bin (26)), 201 expevl_$expevl_ ext entry (fixed bin (26), fixed bin (26), fixed bin (26)), 202 lstman_$blkasn ext entry (fixed bin (26), fixed bin (26), fixed bin (26), fixed bin (26)), 203 glpl_$cwrd ext entry (fixed bin (26)), 204 glpl_$glwrd ext entry (fixed bin (26), fixed bin (26)), 205 decevl_$decevl_ ext entry (fixed bin (26), fixed bin (26)), 206 lstman_$eptasn ext entry (fixed bin (26), fixed bin (26), fixed bin (26), fixed bin (26), 207 fixed bin (26), fixed bin (26)), 208 utils_$exadrs ext entry (fixed bin (26), fixed bin (26)), 209 lstman_$lnkasn ext entry (fixed bin (26), fixed bin (26), fixed bin (26), fixed bin (26)), 210 lstman_$outasn ext entry (fixed bin (26), fixed bin (26), fixed bin (26)), 211 lstman_$calser ext entry (fixed bin (26), fixed bin (26)), 212 lstman_$sdfasn ext entry (fixed bin (26), fixed bin (26), fixed bin (26), 213 fixed bin (26), fixed bin (26)), 214 lstman_$namasn ext entry (fixed bin (26)), 215 utils_$rs ext entry (fixed bin (26), fixed bin (26)), 216 utils_$and ext entry (fixed bin (26), fixed bin (26)), 217 utils_$makins ext entry (fixed bin (26), fixed bin (26), fixed bin (26), 218 fixed bin (26), fixed bin (26)), 219 octevl_$octevl_ ext entry (fixed bin (26)), 220 oplook_$oplook_ ext entry (fixed bin, fixed bin (26)), 221 table_$table_ ext entry (fixed bin (26), fixed bin (26), fixed bin (26), fixed bin (26), 222 fixed bin (26)), 223 lstman_$trpasn ext entry (fixed bin (26), fixed bin (26)), 224 varevl_$varevl_ ext entry (fixed bin (26), fixed bin (26), fixed bin (26), fixed bin (26), 225 fixed bin (26), fixed bin (26)), 226 vfdevl_$vfdevl_ ext entry (fixed bin (26), fixed bin (26)), 227 vfdevl_$vfdcnt ext entry (fixed bin (26), fixed bin (26)) 228 ) returns (fixed bin (26)); 229 dcl alm_eis_parse_$descriptor ext entry (fixed bin (26), fixed bin (26), fixed bin (26), fixed bin (26)) returns (fixed bin (26)), 230 alm_eis_parse_$instruction ext entry (fixed bin (26), fixed bin (26), fixed bin (26)) returns (fixed bin (26)); 231 232 /* AUTOMATIC VARIABLES */ 233 234 dcl (rleft, rright, rslts (128), binop, flags, basno, value, b29, admod, class, instruction_class, 235 type, xnlnk, ptrarg, ptrcal, trplnk, blklnk, symlnk, zleft, zright, rrslts (128), option, 236 argout, traout, tderr, tbss, tlc, i, iaddr, ik, iloc, irtblk, itemp, itype, j, junk, 237 k, lcl, lcloc, lcr, link, lnkorg, lpaswd, n, name, nobits, nowrds, last_p2pcl) fixed bin (26); 238 239 dcl link_not_found bit(1); 240 dcl termination_conditions bit (7); 241 dcl full_word_temp fixed bin (26); 242 dcl stkclst fixed bin(26); /* used to remember calculated stackframe sizes */ 243 dcl dup_ptr ptr init (null ()), 244 temp_ptr ptr, 245 dup_count fixed bin (26), 246 dup_start fixed bin (26), 247 dup_string (0:262143) char (1) unal based (dup_ptr), 248 tmacl bit (2) aligned, 249 operand char(32) varying, 250 canonical_operand char(24), 251 code fixed bin(35), 252 unique_id bit(36) aligned, 253 dtcm fixed bin(71), 254 (path, var_name, var_type) char(256) varying, 255 (st_offset, st_length, st_line, st_num) fixed bin(26); 256 257 dcl trprtn label local; 258 259 dcl label_flag bit (1) aligned; 260 dcl end_statement_flag bit (1) aligned; 261 262 /* EXTERNAL STATIC VARIABLES IN THE ASSEMBLER'S DATA SEGMENT */ 263 264 dcl (eb_data_$unwind (3), eb_data_$atext (2), eb_data_$alink (2), eb_data_$asym (2), eb_data_$astat (2), eb_data_$asys (2), 265 eb_data_$aheap (2), 266 eb_data_$mstaq, eb_data_$ion, eb_data_$ioff, eb_data_$mx7, eb_data_$ib6, 267 eb_data_$isave, eb_data_$irestore, eb_data_$iobject, 268 eb_data_$nmxsav, eb_data_$tsym, eb_data_$anl) ext fixed bin (26), 269 eb_data_$rpt_terminators (7) external fixed bin (35); /* Contain three-letter ACC names. */ 270 dcl eb_data_$lavptr external pointer; 271 dcl eb_data_$entry_bound ext fixed bin(26); 272 dcl eb_data_$macro_depth ext fixed bin (26), 273 eb_data_$macro_listing_control bit (36) aligned ext; 274 275 /* fixed bin sym code for 'function' */ 276 dcl (ifun1 init(1100540526), ifun2 init(13318017647), ifun3 init(14763950080)) 277 int static options(constant) fixed bin(35); 278 279 280 281 282 /* entry to subroutine, set up variables before main loop. */ 283 284 label_100: 285 pc = 0; 286 287 288 289 290 291 292 293 294 /* clear buffer for relocation bits */ 295 296 label_110: 297 298 rrslts (*) = 0; /*initialize*/ 299 curlc = lptext; 300 tvorg = fixed (glpl_words (lptv + 3).left, 18); 301 lnkorg = fixed (glpl_words (lpsect + 3).left, 18); 302 call glpl_$storr (lplit + 1, litc); 303 on cleanup call alm_symtab_$cleanup; 304 call alm_symtab_$initialize; 305 litorg = fixed (glpl_words (lplit + 3).left, 18); 306 lreter = fixed (glpl_words (lpcall + 3).left, 18); 307 308 /* retrieve remembered value of stackframe size */ 309 stkclst = stkc; /* stkc is used to pass this value from pass1 */ 310 stkc = fixed(glpl_words(stkclst).left); 311 stkclst = fixed(glpl_words(stkclst).right); 312 313 stkc = 16 * (divide (stkc + 15, 16, 17, 0)); 314 p2pcl = pclst; 315 binlin = 1; 316 eb_data_$macro_listing_control = (36)"0"b; 317 call oplook_$reset; 318 319 /* main loop re - entry, setup flags and check symbol assignment. */ 320 321 label_200: 322 spc = pc; 323 tpc = fixed (glpl_words (p2pcl).left, 18); 324 tlc = fixed (glpl_words (p2pcl + 2).left, 18); 325 call utils_$upkflg (glpl_$cwrd (p2pcl + 1)); 326 last_p2pcl = p2pcl; 327 p2pcl = fixed (glpl_words (p2pcl).right, 18); 328 value = 0; 329 330 label_flag = ""b; 331 label_220: 332 brk (1) = isp; 333 call getid_$getid_; 334 if (brk (1) ^= icol) then go to label_300; 335 if (eb_data_$tsym ^= 0) then if (table_$table_ (iassgn, sym (1), pc, flocrf, curlc) = 0) then prnts = 1; 336 label_flag = "1"b; 337 go to label_220; 338 339 /* get operator and test for pseudo operation. */ 340 341 label_300: 342 if eb_data_$tsym ^= 0 then go to label_301; 343 if brk (1) = inl then go to label_870; 344 if brk (1) = iquot then go to label_870; 345 label_301: 346 binop = oplook_$oplook_ (prnto, itype); 347 if prnto ^= 0 then do; 348 call mexp_ (addr (sym (1)) -> acc_string.chars, prnto, target_value, no_target_given,first_time_thru); 349 if prnto ^= 0 then go to label_3200; 350 else go to label_200; 351 end; 352 if (brk (1) = isp | brk (1) = inl) then go to label_305; 353 354 /* there was an illegal character after the op or pseudo-op */ 355 prnto = 1; 356 go to label_3200; 357 358 label_305: 359 instruction_class = fixed (addr (binop) -> opcode_overlay.iclass, 4); 360 if ^data2.compatible(instruction_class,decor) 361 then prntb = 1; 362 363 go to label_vector (itype); 364 365 366 367 /* control group of pseudo operations. */ 368 369 /* end pseudo-operation, scan to end of card, and return to caller. */ 370 371 372 label_vector (1): /* end */ 373 label_450: 374 375 if label_flag then call prwrd_$prwrd_(spc+fixed (glpl_words(curlc+3).left, 18),0,ibb); else call prwrd_$source_only; 376 return; 377 378 /* include statement, use new source file. */ 379 380 label_vector (50): /* include */ 381 label_include: 382 call getid_$getid_ (); 383 if eb_data_$tsym = 0 then goto label_3100; 384 call prwrd_$source_only (); 385 call inputs_$next_statement (); 386 call alm_include_file_$pass2 (); 387 goto label_220; 388 389 /* use pseudo-operation, use another location counter. */ 390 391 label_vector (2): /* use */ 392 label_500: 393 394 call getid_$getid_; 395 if (eb_data_$tsym = 0) then go to label_3100; 396 397 /* save current value of old location counter. */ 398 call glpl_$storr (curlc + 1, pc); 399 400 /* use new lc as the current lc. */ 401 if (table_$table_ (iserch, sym (1), pc, fmlcrf, curlc) ^= 0) then go to label_3010; 402 call prnter_$prnter_ ("fatal error in PASS2 in symbol table search for USE lc"); 403 call utils_$abort; 404 405 406 /* org pseudo-operation. set the value of the pc. */ 407 408 label_vector (3): /* org */ 409 label_525: 410 411 if (varevl_$varevl_ (invrvl, basno, value, admod, b29, iaddr) = 0) then go to label_3110; 412 if (iaddr ^= 0) then go to label_3300; 413 pc = value; 414 go to label_3200; 415 416 /* join pseudo-op. ignored in pass2. */ 417 418 label_vector (4): /* join */ 419 label_550: 420 421 go to label_3010; 422 423 /* even pseudo-operation, force pc to even location. */ 424 425 label_vector (5): /* even */ 426 label_600: 427 428 if (mod (spc, 2) ^= 0) then 429 call putout_$putwrd (pc, (mnopdu), i642, 0); 430 go to label_3010; 431 432 /* odd pseudo-operation, force pc to odd location. */ 433 434 label_vector (6): /* odd */ 435 label_630: 436 437 if (mod (spc, 2) = 0) then 438 call putout_$putwrd (pc, (mnopdu), i642, 0); 439 go to label_3010; 440 441 /* eight pseudo-operation, force pc to zero mod eight. */ 442 443 label_vector (7): /* eight */ 444 label_660: 445 446 if (mod (pc, 8) = 0) then go to label_3010; 447 call putout_$putwrd (pc, (mnopdu), i642, 0); 448 go to label_660; 449 450 /* sixtyfour pseudo-operation, force pc to zero mod 64. */ 451 452 label_vector (8): /* sixtyfour */ 453 label_680: 454 455 if (mod (pc, 64) = 0) then go to label_3010; 456 call putout_$putwrd (pc, (mnopdu), i642, 0); 457 go to label_680; 458 459 /* movdef pseudo-operation. ignored in pass two. */ 460 461 label_vector (11): /* movdef */ 462 label_755: 463 label_vector (61): /* ppstatic */ 464 465 go to label_3300; 466 467 468 469 /* decor pseudo-operation: just like pass1_ */ 470 471 label_vector (62): /* decor */ 472 label_decor: 473 474 call getid_$getid_(); 475 operand = addr(sym(1)) -> acc_string.chars; 476 call system_type_((operand),canonical_operand,(0),code); 477 if code ^=0 478 then prntf = 1; 479 else do; 480 do n = 1 to hbound(data1.decor,1) while(rtrim(canonical_operand) ^= data1.decor(n).name); 481 end; 482 decor = data1.decor(n).number; 483 end; 484 485 goto label_3300; 486 487 488 /* error pseudo-operation, sets fatal error flag, causing "Translation failed" message. */ 489 490 label_vector (63): /* error */ 491 label_error: 492 tfatal = 3; /* severity 3 error */ 493 goto label_3300; 494 495 496 497 /* firstref pseudo-operation, first reference trap procedure specified. */ 498 499 label_vector (48): /* firstref */ 500 label_firstref: 501 if tfirstreftrap ^= 1 then prntp = 1; 502 if varevl_$varevl_ (ixvrvl, basno, value, admod, b29, iaddr) = 0 then goto label_3120; 503 if b29 = 0 then value = lstman_$lnkasn (myblk, value, admod, iaddr); 504 if first_ref_trap_proc_linkno ^= value then prntu = 1; 505 first_ref_trap_proc_linkno = first_ref_trap_proc_linkno + fixed (glpl_words (lpsect + 3).left, 18); 506 if brk (1) = ilpar then do; 507 if varevl_$varevl_ (ixvrvl, basno, value, admod, b29, iaddr) = 0 then goto label_3120; 508 if b29 = 0 then value = lstman_$lnkasn (myblk, value, admod, iaddr); 509 if first_ref_trap_arg_linkno ^= value then prntu = 1; 510 first_ref_trap_arg_linkno = first_ref_trap_arg_linkno + fixed (glpl_words (lpsect + 3).left, 18); 511 end; 512 else if first_ref_trap_arg_linkno ^= 0 then prntu = 1; 513 goto label_3300; 514 515 /* inhibit pseudo-operation, set inhibit mode on or off. */ 516 517 label_vector (12): /* inhibit */ 518 label_760: 519 520 call getid_$getid_; 521 if (eb_data_$tsym = 0) then go to label_765; 522 if (sym (1) = eb_data_$ion) then go to label_770; 523 if (sym (1) = eb_data_$ioff) then go to label_775; 524 prntf = 1; 525 go to label_3300; 526 527 528 label_765: 529 530 if tinhib = 1 then 531 tinhib = 0; 532 else tinhib = 1; 533 go to label_3300; 534 535 536 label_770: 537 538 tinhib = 1; 539 go to label_3300; 540 541 542 label_775: 543 544 tinhib = 0; 545 go to label_3300; 546 547 /* name pseudo-operation, ignored in pass2. */ 548 549 label_vector (14): /* name */ 550 label_820: 551 552 goto label_3300; 553 554 /* null pseudo-operation, print location only. */ 555 556 label_vector (15): /* null */ 557 label_850: 558 559 go to label_3300; 560 561 /* rem pseudo-operation, print no octal listing. */ 562 563 label_vector (16): /* rem */ 564 label_870: 565 566 if label_flag then goto label_850; 567 do i = 1 to 36; /* clear all the flags */ 568 flgvec(i) = 0; 569 end; 570 p2pcl = last_p2pcl; 571 go to label_3040; 572 573 574 /* symbol defining pseudo-operations. */ 575 576 /* basref pseudo-operation, check definitions of pass1. */ 577 578 label_vector (17): /* basref */ 579 label_900: 580 581 call getid_$getid_; 582 if (eb_data_$tsym = 0) then go to label_910; 583 if (table_$table_ (iserch, sym (1), value, clbas, junk) ^= 0) then go to label_915; 584 585 label_905: 586 587 do i = 1 to 8; 588 if (sym (1) ^= symbas (i)) then 589 go to label_905a; 590 value = i - 1; 591 go to label_915; 592 593 label_905a: 594 595 end label_905; 596 if (table_$table_ (iserch, sym (1), basno, clint, junk) ^= 0) then go to label_915; 597 go to label_3130; 598 599 600 label_910: 601 602 if (varevl_$varevl_ (invrvp, basno, value, admod, b29, iaddr) = 0) then go to label_3120; 603 if (iaddr ^= 0) then go to label_3300; 604 605 606 label_915: 607 608 link = utils_$exadrs (value, 0); 609 type = 2; 610 class = fbasrf; 611 612 /* re - entry from segref pseudo-operation. */ 613 614 label_920: 615 616 call getid_$getid_; 617 xnlnk = lstman_$namasn (sym (1)); 618 619 label_930: 620 621 trprtn = label_970; 622 tderr = 0; 623 trplnk = 0; 624 625 label_933: 626 627 if (brk (1) ^= ilpar) then go to label_970; 628 ptrcal = 0; 629 ptrarg = 0; 630 if (varevl_$varevl_ (ixvrvl, basno, ptrcal, admod, b29, iaddr) ^= 0) then go to label_935; 631 tderr = 1; 632 go to label_945; 633 634 label_935: 635 636 if (b29 ^= 0) then go to label_945; 637 if tprot = 1 then go to label_940; 638 ptrcal = lstman_$lnkasn (myblk, ptrcal, admod, iaddr); 639 go to label_945; 640 641 label_940: 642 643 ptrcal = lstman_$eptasn (ptrcal, 0, mylnk, curlc, 0, 1); 644 645 label_945: 646 647 if (brk (1) ^= ilpar) then go to label_960; 648 if (varevl_$varevl_ (ixvrvl, basno, ptrarg, admod, b29, iaddr) ^= 0) then go to label_950; 649 tderr = 1; 650 go to label_955; 651 652 label_950: 653 654 if (b29 = 0) then 655 ptrarg = lstman_$lnkasn (myblk, ptrarg, admod, iaddr); 656 657 label_955: 658 659 if (brk (1) = irpar) then 660 call inputs_$next; 661 662 label_960: 663 664 if (brk (1) = irpar) then go to label_965; 665 tderr = 1; 666 go to trprtn; 667 668 label_965: 669 670 call inputs_$next; 671 if (tderr ^= 0) then go to trprtn; 672 trplnk = lstman_$trpasn (ptrcal, ptrarg); 673 go to trprtn; 674 675 676 label_970: 677 678 if (tderr = 0) then go to label_975; 679 prntf = 1; 680 go to label_980; 681 682 label_975: 683 684 if (table_$table_ (iassgn, fixed (glpl_words (xnlnk).left, 18), lstman_$blkasn (type, link, xnlnk, trplnk), class, 685 junk) = 0) then 686 prnts = 1; 687 688 label_980: 689 690 if (brk (1) = icomma) then go to label_920; 691 go to label_3300; 692 693 /* bool pseudo-operation, check boolean symbol assignment. */ 694 695 label_vector (18): /* bool */ 696 label_1000: 697 698 call getid_$setid (symlnk); 699 if (brk (1) ^= icomma | symlnk = 0) then go to label_3100; 700 if (varevl_$varevl_ (ibvrvl, basno, value, admod, b29, iaddr) = 0) then go to label_3120; 701 if (iaddr ^= 0) then go to label_3300; 702 if (table_$table_ (iassgn, symlnk, value, fbolrf, junk) = 0) then go to label_3120; 703 go to label_3200; 704 705 /* equ pseudo-operation, check arithmetic symbol assignment. */ 706 707 label_vector (19): /* equ */ 708 label_1100: 709 710 call getid_$setid (symlnk); 711 if (brk (1) ^= icomma | symlnk = 0) then go to label_3100; 712 if (varevl_$varevl_ (invrvl, basno, value, admod, b29, iaddr) = 0) then go to label_3120; 713 class = fequrf; 714 if (iaddr ^= 0) then 715 class = flocrf; 716 if (table_$table_ (iassgn, symlnk, value, class, iaddr) = 0) then go to label_3120; 717 if (iaddr = 0) then go to label_3200; 718 719 /* set value to absolute value. */ 720 value = value + fixed (glpl_words (iaddr + 3).left, 18); 721 go to label_3200; 722 723 /* link pseudo-operation, check link number assignment. */ 724 725 label_vector (20): /* link */ 726 label_1200: 727 728 call getid_$setid (symlnk); 729 if (brk (1) ^= icomma | symlnk = 0) then go to label_3100; 730 if (varevl_$varevl_ (ixvrvl, basno, value, admod, b29, iaddr) = 0) then go to label_3120; 731 if (b29 = 0) then 732 value = lstman_$lnkasn (myblk, value, admod, iaddr); 733 if (table_$table_ (iassgn, symlnk, value, flocrf, lpsect) = 0) then go to label_3120; 734 735 /* set value to its absolute value for printing. */ 736 value = value + fixed (glpl_words (lpsect + 3).left, 18); 737 go to label_3200; 738 739 /* init_link pseudo-operation, associate init info with link. */ 740 741 label_vector (65): /* init_link name, extexpression */ 742 743 call getid_$getid_; 744 if (eb_data_$tsym = 0) then go to label_3100; 745 if (table_$table_ (iserch, sym(1), value, flocrf, lcloc) = 0) then go to label_3130; 746 if (brk(1) ^= icomma) then go to label_3100; 747 itemp = value + fixed(glpl_words(lcloc+3).left,18); 748 if (varevl_$varevl_ (ixvrvl, basno, value, admod, b29, iaddr) = 0) then go to label_3120; 749 j = lnklst; /* search for the appropriate link */ 750 link_not_found = "1"b; 751 i = 1; 752 do while (link_not_found); 753 if (fixed(glpl_words(j).left,18) = 2) then 754 j = fixed(glpl_words(j).right, 18); 755 else do; 756 if (i <= value/2) then do; 757 j = fixed(glpl_words(j).right, 18); 758 i = i + 1; 759 end; 760 else link_not_found = "0"b; 761 end; 762 end; 763 j = fixed(glpl_words(j+1).left, 18); /* find expression word */ 764 j = fixed(glpl_words(j+1).left, 18); /* find type pair */ 765 glpl_words(j+1).right = bit(fixed(itemp+1, 18), 18); /* set init label to loc + 1 */ 766 767 go to label_3200; 768 769 /* set pseudo-operation, assign resettable equivalence. */ 770 771 label_vector (21): /* set */ 772 label_1250: 773 774 call getid_$setid (symlnk); 775 if (brk (1) ^= icomma | symlnk = 0) then go to label_3100; 776 if (varevl_$varevl_ (invrvl, basno, value, admod, b29, iaddr) = 0) then go to label_3120; 777 if (iaddr ^= 0) then go to label_3300; 778 if (table_$table_ (iassgn, symlnk, value, fsetrf, junk) = 0) then go to label_3120; 779 go to label_3200; 780 781 /* segref pseudo-operation, check definitions of pass1. */ 782 783 label_vector (22): /* segref */ 784 label_1300: 785 786 call getid_$getnam; 787 if (brk (1) ^= icomma) then go to label_3100; 788 class = fsegrf; 789 if (sym (1) ^= eb_data_$atext (1) | sym (2) ^= eb_data_$atext (2)) then go to label_1310; 790 type = 5; 791 link = 0; 792 go to label_920; 793 794 label_1310: 795 796 if (sym (1) ^= eb_data_$alink (1) | sym (2) ^= eb_data_$alink (2)) then go to label_1320; 797 type = 5; 798 link = 1; 799 go to label_920; 800 801 label_1320: 802 803 if (sym (1) ^= eb_data_$asym (1) | sym (2) ^= eb_data_$asym (2)) then go to label_1330; 804 type = 5; 805 link = 2; 806 go to label_920; 807 808 label_1330: 809 810 if (sym (1) ^= eb_data_$astat (1) | sym (2) ^= eb_data_$astat (2)) then go to label_1340; 811 type = 5; 812 link = 4; 813 go to label_920; 814 815 label_1340: 816 817 if (sym (1) ^= eb_data_$asys (1) | sym (2) ^= eb_data_$asys (2)) then go to label_1350; 818 type = 5; 819 link = 5; 820 go to label_920; 821 822 label_1350: 823 if (sym (1) ^= eb_data_$aheap (1) | sym (2) ^= eb_data_$aheap (2)) then go to label_1360; 824 type = 5; 825 link = 6; 826 go to label_920; 827 828 label_1360: 829 830 type = 4; 831 link = lstman_$namasn (sym (1)); 832 go to label_920; 833 834 /* temp and tempd pseudo-operations, ignored in pass2. */ 835 836 label_vector (23): /* temp */ 837 label_1400: 838 839 840 label_vector (24): /* tempd */ 841 label_1500: 842 843 go to label_3010; 844 845 label_vector (25): /* temp8 */ 846 label_1505: 847 848 go to label_3010; 849 850 851 /* generative class of pseudo-operations. */ 852 853 /* acc and aci pseudo-operations, ascii code generators. */ 854 /* also bci pseudo-operation to generate 6-bit character codes. */ 855 /* absolute relocation bits always */ 856 857 label_vector (26): /* acc */ 858 label_1600: 859 n = ascevl_$accevl (rslts (1)); 860 go to label_1710; 861 862 label_vector (27): /* aci */ 863 label_1700: 864 n = ascevl_$acievl (rslts (1)); 865 goto label_1710; 866 867 label_vector (13): /* bci */ 868 label_bci: 869 n = ascevl_$bcdevl (rslts (1)); 870 go to label_1710; 871 872 label_vector (59): 873 label_ac4: 874 n = ascevl_$ac4evl (rslts (1)); 875 876 label_1710: 877 do i = 1 to n; 878 rrslts (i) = 0; 879 end label_1710; 880 call putout_$putlst (pc, rslts (1), i3333, n, rrslts (1)); 881 go to label_3010; 882 883 /* dec pseudo-operation, integer, fixed, and floating point. */ 884 /* absolute relocation bits always. */ 885 886 label_vector (28): /* dec */ 887 label_1800: 888 889 n = decevl_$decevl_ (rslts (1), type); 890 if (n >= 2 & mod (pc, 2) ^= 0) then 891 call putout_$putwrd (pc, 0, i66, 0); 892 rrslts (1) = 0; 893 rrslts (2) = 0; 894 call putout_$putlst (pc, rslts (1), i66, n, rrslts (1)); 895 if (brk (1) = icomma) then go to label_1800; 896 go to label_3010; 897 898 /* dec_unal pseudo-operation, integer, fixed, and floating point unaligned. */ 899 /* absolute relocation bits always. */ 900 901 label_vector (66): /* dec_unal */ 902 label_1801: 903 904 n = decevl_$decevl_ (rslts (1), type); 905 rrslts (1) = 0; 906 rrslts (2) = 0; 907 call putout_$putlst (pc, rslts (1), i66, n, rrslts (1)); 908 if (brk (1) = icomma) then go to label_1801; 909 go to label_3010; 910 911 /* oct pseudo-operation, octal number generator. */ 912 /* absolute relocation bits always. */ 913 914 label_vector (29): /* oct */ 915 label_1900: 916 917 n = octevl_$octevl_ (rslts (1)); 918 if (n >= 2 & mod (pc, 2) ^= 0) then 919 call putout_$putwrd (pc, 0, i66, 0); 920 rrslts (1) = 0; 921 rrslts (2) = 0; 922 call putout_$putlst (pc, rslts (1), i66, n, rrslts (1)); 923 if (brk (1) = icomma) then go to label_1900; 924 go to label_3010; 925 926 /* oct_unal pseudo-operation, unaligned octal number generator. */ 927 /* absolute relocation bits always. */ 928 929 label_vector (67): /* oct_unal */ 930 label_1901: 931 932 n = octevl_$octevl_ (rslts (1)); 933 rrslts (1) = 0; 934 rrslts (2) = 0; 935 call putout_$putlst (pc, rslts (1), i66, n, rrslts (1)); 936 if (brk (1) = icomma) then go to label_1901; 937 go to label_3010; 938 939 /* vfd pseudo-operation, variable field data generator. */ 940 941 label_vector (30): /* vfd */ 942 label_2000: 943 944 prnte = 0; 945 946 label_2001: 947 948 rrslts(*) = 0; 949 n = vfdevl_$vfdevl_ (rslts (1), flags); 950 if (flags = 0) then go to label_2015; 951 952 label_2010: 953 954 do k = 1 to n; 955 lcl = fixed (glpl_words (flags + k - 1).left, 18); 956 lcr = fixed (glpl_words (flags + k - 1).right, 18); 957 zleft = utils_$rs (rslts (k), 18); 958 zright = utils_$and (rslts (k), sixsev); 959 rleft = 0; 960 rright = 0; 961 if (lcl = 0) then 962 go to label_2003; 963 zleft = zleft + fixed (glpl_words (lcl + 3).left, 18); 964 call getbit_$getbit_ (lcl, 0, 0, rleft); 965 966 label_2003: 967 968 if (lcr = 0) then 969 go to label_2005; 970 zright = zright + fixed (glpl_words (lcr + 3).left, 18); 971 call getbit_$getbit_ (lcr, 0, 0, rright); 972 973 label_2005: 974 975 rslts (k) = glpl_$glwrd (zleft, zright); 976 rrslts (k) = glpl_$glwrd (rleft, rright); 977 end label_2010; 978 979 label_2015: 980 981 call putout_$putlst (pc, rslts (1), i66, n, rrslts (1)); 982 go to label_3010; 983 984 /* mod pseudo-operation. force the location counter mod expression. */ 985 986 label_vector (31): /* mod */ 987 label_2020: 988 989 call getid_$getid_; 990 junk = expevl_$expevl_ (0, value, iaddr); 991 if iaddr ^= 0 then prntr = 1; 992 993 label_2025: 994 995 if (mod (pc, value) = 0) then go to label_3010; 996 call putout_$putwrd (pc, (mnopdu), i642, 0); 997 go to label_2025; 998 999 1000 /* storage allocating pseudo-operations. */ 1001 1002 /* bfs pseudo-operation, block followed by symbol. */ 1003 1004 label_vector (32): /* bfs */ 1005 label_2100: 1006 1007 tbss = 0; 1008 go to label_2210; 1009 1010 /* bss pseudo-operation, block started by symbol. */ 1011 1012 label_vector (33): /* bss */ 1013 label_2200: 1014 1015 tbss = 1; 1016 1017 label_2210: 1018 1019 call getid_$setid (symlnk); 1020 if (brk (1) ^= icomma) then go to label_3100; 1021 if (varevl_$varevl_ (invrvl, basno, value, admod, b29, iaddr) = 0) then go to label_3110; 1022 if (iaddr = 0) then go to label_2220; 1023 prntr = 1; 1024 go to label_3120; 1025 1026 label_2220: 1027 1028 pc = spc + value; 1029 if (b29 ^= 0 ) then prntf = 1; 1030 value = pc; 1031 if (tbss = 1) then 1032 value = spc; 1033 if symlnk ^= 0 then if (table_$table_ (iassgn, symlnk, value, flocrf, curlc) = 0) then prnts = 1; 1034 call prwrd_$prwrd_ (value + fixed (glpl_words (curlc + 3).left, 18), 0, ibb); 1035 go to label_3010; 1036 1037 /* zero pseudo-operation, generate double address word. */ 1038 1039 label_vector (34): /* zero */ 1040 label_2350: 1041 1042 junk = varevl_$varevl_ (invrvl, basno, zleft, admod, b29, iaddr); 1043 call getbit_$getbit_ (iaddr, basno, b29, rleft); 1044 if (iaddr ^= 0) then 1045 zleft = zleft + fixed (glpl_words (iaddr + 3).left, 18); 1046 rright, zright = 0; 1047 if (brk (1) = icomma) then 1048 do; 1049 junk = varevl_$varevl_ (invrvl, basno, zright, admod, b29, iaddr); 1050 call getbit_$getbit_ (iaddr, basno, b29, rright); 1051 if (iaddr ^= 0) then 1052 zright = zright + fixed (glpl_words (iaddr + 3).left, 18); 1053 end; 1054 call putout_$putwrd (pc, glpl_$glwrd (zleft, zright), i66, glpl_$glwrd (rleft, rright)); 1055 go to label_3010; 1056 1057 /* itb pseudo-operation, generate link pair. */ 1058 1059 label_vector (35): /* itb */ 1060 label_2400: 1061 1062 call litevl_$itbevl (rslts (1), rrslts (1)); 1063 go to label_2455; 1064 1065 /* its pseudo-operation, generate link pair. */ 1066 1067 label_vector (36): /* its */ 1068 label_2450: 1069 1070 call litevl_$itsevl (rslts (1), rrslts (1)); 1071 1072 label_2455: 1073 1074 if (mod (spc, 2) ^= 0) then 1075 call putout_$putwrd (pc, (mnopdu), i642, 0); 1076 call putout_$putlst (pc, rslts (1), i66, 2, rrslts (1)); /* I66 format is fudge to avoid inhibit bit. */ 1077 go to label_3010; 1078 1079 1080 /* subroutine linkage pseudo-operations. */ 1081 1082 /* call pseudo-operation, call subroutine with args and returns. */ 1083 1084 label_vector (37): /* call */ 1085 label_2500: 1086 1087 junk = varevl_$varevl_ (ixvrvl, basno, value, admod, b29, iaddr); 1088 call getbit_$getbit_ (iaddr, basno, b29, rleft); 1089 1090 addr (nslbit (5)) -> word.left , addr (new_nslbit (3)) -> word.left = addr (rleft) -> word.right; 1091 1092 if (iaddr ^= 0) then 1093 value = value + fixed (glpl_words (iaddr + 3).left, 18); 1094 traout = utils_$makins (basno, value, mtra, b29, admod); 1095 new_slcall (3) = utils_$makins (basno, value, new_slcall (3), b29, admod); 1096 if (brk (1) = ilpar) then go to label_2510; 1097 call litevl_$litasn (value, dzero (1), 2, 0); 1098 argout = utils_$makins (0, value + fixed (glpl_words (lplit + 3).left, 18), meapap, 0, 0); 1099 nslbit (3), new_nslbit (2) = iltext; 1100 go to label_2520; 1101 1102 label_2505: 1103 1104 1105 /* mm/xo call with no args */ 1106 /* ap points to */ 1107 argout = utils_$makins (6, 30, meapap, 1, 0); 1108 nslbit (3), new_nslbit (2) = iltext; 1109 go to label_2520; 1110 1111 label_2510: 1112 1113 junk = varevl_$varevl_ (ixvrvl, basno, value, admod, b29, iaddr); 1114 call getbit_$getbit_ (iaddr, basno, b29, rleft); 1115 1116 addr (nslbit (3)) -> word.left, addr (new_nslbit (2)) -> word.left = addr (rleft) -> word.right; 1117 1118 if (iaddr ^= 0) then 1119 value = value + fixed (glpl_words (iaddr + 3).left, 18); 1120 argout = utils_$makins (basno, value, meapap, b29, admod); 1121 1122 label_2520: 1123 1124 if (tstsw (1) ^= 0) then go to label_2550; 1125 slcall (3), new_slcall (2) = argout; 1126 slcall (5) = traout; 1127 if tnewcall ^= 0 then call putout_$putlst (pc, new_slcall (1), i642, new_nslcal, new_nslbit (1)); 1128 else call putout_$putlst (pc, slcall (1), i642, nslcal, nslbit (1)); 1129 go to label_3140; 1130 1131 /* mastermode calls changed per bd.7.03, july 14, 1967. */ 1132 /* lpaswd is simply the transfer vector number as a literal. */ 1133 /* the call is made from text segment. */ 1134 /* return is made to the link segment. */ 1135 /* j.d.mills 12 july 67 (please compare dates.) */ 1136 1137 1138 label_2550: 1139 1140 j = lstman_$calser (spc, link); 1141 link = link + fixed (glpl_words (lpsect + 3).left, 18); 1142 call litevl_$litasn (lpaswd, fixed (glpl_words (j + 2).right, 18), 1, 0); 1143 mxcall (3) = utils_$makins (lp, link, meapap, 1, 0); 1144 mxcall (5) = argout; 1145 mxcbit (5) = nslbit (3); 1146 mxcall (7) = utils_$makins (0, lpaswd + fixed (glpl_words (lplit + 3).left, 18), mldq, 0, 0); 1147 mxcall (11) = traout; 1148 mxcbit (11) = nslbit (5); 1149 call putout_$putlst (pc, mxcall (1), i642, nmxcal, mxcbit (1)); 1150 1151 mxclbk (2) = utils_$makins (0, lpaswd + fixed (glpl_words (lplit + 3).left, 18), mcmpq, 0, 0); 1152 mxlbit (2) = iltext; 1153 mxclbk (3) = utils_$makins (0, lreter, mtnz, 0, 0); 1154 mxlbit (3) = iltext; 1155 call putout_$putlst (pc, mxclbk (1), i642, nmxclb, mxlbit (1)); 1156 go to label_3140; 1157 1158 /* short_call pseudo-operation, call without saving any registers. */ 1159 1160 label_vector (51): /* short_call */ 1161 label_short_call: /* AP already set to arg list. */ 1162 junk = varevl_$varevl_ (ixvrvl, basno, value, admod, b29, iaddr); 1163 call getbit_$getbit_ (iaddr, basno, b29, rleft); 1164 addr (short_nslbit (1)) -> word.left = addr (rleft) -> word.right; 1165 if iaddr ^= 0 then value = value + fixed (glpl_words (iaddr + 3).left, 18); 1166 short_slcall (1) = utils_$makins (basno, value, short_slcall (1), b29, admod); 1167 call putout_$putlst (pc, short_slcall (1), i642, short_nslcal, short_nslbit (1)); 1168 goto label_3140; 1169 1170 /* entry pseudo-operation, enter symbol into entry point table. */ 1171 1172 label_vector (38): /* entry */ 1173 label_2600: 1174 1175 call getid_$getid_; 1176 if (eb_data_$tsym = 0) then go to label_3100; 1177 if (table_$table_ (iserch, sym (1), value, flocrf, lcloc) = 0) then go to label_3130; 1178 link = mylnk; 1179 name = lstman_$namasn (sym (1)); 1180 1181 /* ft2 has xr7 modif. - int expr. word has */ 1182 /* absol 0 (no location counter) for a value. */ 1183 if (tprot = 0) then if tnewobject = 0 then 1184 link = lstman_$lnkasn (lstman_$blkasn (1, fixed (glpl_words (lcloc + 4).right, 18), 0, 0), 0, eb_data_$mx7, 0); 1185 else link = 0; 1186 trplnk = 0; 1187 if (brk (1) ^= ilpar) then go to label_2620; 1188 tmvdef = 1; 1189 tderr = 0; 1190 trprtn = label_2610; 1191 go to label_933; 1192 1193 label_2610: 1194 1195 if (tderr ^= 0) then 1196 prntf = 1; 1197 1198 label_2620: 1199 1200 class = 1; 1201 if (brk (1) ^= ilsb) then go to label_2640; 1202 call getid_$getid_; 1203 if (expevl_$expevl_ (0, class, iaddr) = 0) then 1204 prntr,prntf = 1; 1205 if (iaddr ^= 0) then 1206 prntr = 1; 1207 if (brk (1) = irsb) then go to label_2630; 1208 prntf = 1; 1209 go to label_2640; 1210 1211 label_2630: 1212 1213 call inputs_$next; 1214 1215 label_2640: 1216 1217 junk = lstman_$eptasn (value, name, link, lcloc, trplnk, class); 1218 if (brk (1) = icomma) then go to label_2600; 1219 if (lcloc = 0) then go to label_3200; 1220 value = value + fixed (glpl_words (lcloc + 3).left, 18); 1221 go to label_3200; 1222 1223 /* ext_entry pseudo_operation Usage: ext_entry elabel,stackframe_size,clabel,dlabel,function */ 1224 1225 label_vector (64): 1226 label_2641: 1227 call getid_$getid_; 1228 if eb_data_$tsym = 0 then goto label_3100; /* field error */ 1229 j = bin("000240000"b3, 26); /* default entry seq flags: rev1, variable */ 1230 1231 /* retrieve calculated stackframe size */ 1232 stkc = fixed(glpl_words(stkclst).left); 1233 stkclst = fixed(glpl_words(stkclst).right); 1234 i = stkc; /* use calculated value as default stackframe size */ 1235 1236 if table_$table_(iserch, sym(1), value, flocrf, lcloc) = 0 then goto label_3130; /* undefined error */ 1237 if lcloc = 0 then goto label_3200; 1238 value = value + fixed(glpl_words(lcloc+3).left, 18); /* addr(elabel) */ 1239 name = lstman_$namasn(sym(1)); 1240 if brk(1) ^= icomma then goto label_2642; /* emit code */ 1241 /* second arg stackframe size */ 1242 junk = varevl_$varevl_(invrvl, basno, k, admod, b29, iaddr); 1243 if junk ^= 0 & k ^= 0 then i = k; 1244 if iaddr ^= 0 then prntr = 1; 1245 if brk(1) ^= icomma then goto label_2642; /* emit code */ 1246 call getid_$getid_; 1247 /* third argument clabel, skip in this pass */ 1248 if brk(1) ^= icomma then goto label_2642; /* emit code */ 1249 call getid_$getid_; 1250 /* fourth argument descriptor label */ 1251 if sym(1) ^= 0 then do; 1252 if table_$table_(iserch, sym(1), j, flocrf, iaddr) = 0 then goto label_3130; /* undefined */ 1253 if iaddr^=0 then j = j + fixed(glpl_words(iaddr+3).left, 18); 1254 call putout_$putlst(pc, 262144 * j, i66, 1, iltext); 1255 j = bin("000300000"b3, 26); /* entry seq flags rev1, has_descriptors */ 1256 end; 1257 if brk(1) ^= icomma then goto label_2642; /* emit code */ 1258 call getid_$getid_; 1259 /* fifth argument, function */ 1260 if sym(1) ^= 0 then do; 1261 if (sym(1) ^= ifun1) | (sym(2) ^= ifun2) | (sym(3) ^= ifun3) then goto label_3130; /* undefined symbol */ 1262 else j = j + bin("000020000"b3, 26); /* entry seq flags function */ 1263 end; 1264 1265 label_2642: /* emit structures and code for entry sequence */ 1266 class = fixed(glpl_words(curlc + 4).right, 18) + fixed("100000"b3, 18); /* entry flag */ 1267 junk = lstman_$sdfasn (pc + 1 + fixed(glpl_words(curlc+3).left, 18), name, curlc, 0, class); 1268 1269 /* def_relp(filled in later), flags */ 1270 call putout_$putlst(pc, j, i66, 1, ildefs); 1271 1272 /* eax7 stack_size */ 1273 i = 16 * divide(i + 15, 16, 18, 0); /* mod 16 boundary */ 1274 call putout_$putlst(pc, i*262144 + bin("627000"b3, 19), i66, 1, 0); 1275 1276 /* epp2 pr7|28,* */ 1277 call putout_$putlst(pc, bin("700034352120"b3, 36), i66, 1, 0); 1278 1279 /* tsp2 pr2|549 */ 1280 call putout_$putlst(pc, bin("201045272100"b3, 36), i66, 1, 0); 1281 1282 /* offset sequence */ 1283 call putout_$putlst(pc, 0, i66, 1, 0); 1284 call putout_$putlst(pc, 0, i66, 1, isymbl); 1285 1286 /* tra label (value) */ 1287 call putout_$putlst(pc, value * 262144 + bin("710000"b3, 26), i66, 1, iltext); 1288 goto label_3010; /* done */ 1289 1290 1291 /* return pseudo-operation, return control to caller. */ 1292 1293 label_vector (39): /* return */ 1294 label_2700: 1295 1296 call getid_$getid_; 1297 if (brk (1) ^= iques) then go to label_2720; 1298 junk = varevl_$varevl_ (invrvl, basno, value, admod, b29, iaddr); 1299 if (iaddr = 0) then go to label_2710; 1300 pc = spc + nertls; 1301 go to label_3300; 1302 1303 1304 label_2710: 1305 1306 ertlst (5) = utils_$makins (ap, 2 * value, mldaq, 1, 0); 1307 ertlst (6) = utils_$makins (sp, labarg + 2, eb_data_$mstaq, 1, 0); 1308 ertlst (7) = utils_$makins (sp, labarg, meapap, 1, 0); 1309 irtblk = lstman_$blkasn (4, lstman_$namasn (eb_data_$unwind (1)), lstman_$namasn (eb_data_$unwind (1)), 0); 1310 ertlst (11) = utils_$makins (lp, lstman_$lnkasn (irtblk, 0, 0, 0) + fixed (glpl_words (lpsect + 3).left, 18), 1311 mtra, 1, mri); 1312 call putout_$putlst (pc, ertlst (1), i642, nertls, merbit (1)); 1313 go to label_3140; 1314 1315 /* normal return sequence. */ 1316 1317 label_2720: 1318 1319 if tnewcall ^= 0 then call putout_$putlst (pc, new_retlst (1), i642, new_nretls, new_mrtbit (1)); 1320 else call putout_$putlst (pc, retlst (1), i642, nretls, mrtbit (1)); 1321 go to label_3140; 1322 1323 /* short_return pseudo-operation, return with no previous save. */ 1324 1325 label_vector (46): /* short_return */ 1326 label_short_return: 1327 if tnewcall = 0 then prnto = 1; 1328 call putout_$putlst (pc, short_retlst (1), i642, short_nretls, short_mrtbit (1)); 1329 goto label_3140; 1330 1331 /* save pseudo-operation, stack setup for subroutine call. */ 1332 1333 label_vector (41): /* save/push */ 1334 label_2800: 1335 1336 junk = varevl_$varevl_ (invrvl, basno, value, admod, b29, iaddr); 1337 if (value = 0) then go to label_2810; 1338 if (iaddr = 0) then go to label_2805; 1339 prntr = 1; 1340 if tnewcall ^= 0 then pc = spc + new_nslsav; 1341 else pc = spc + nslsav; 1342 if tprot = 1 then 1343 pc = pc + eb_data_$nmxsav; 1344 go to label_3300; 1345 1346 label_2805: 1347 1348 value = 8 * (divide (value + 7, 8, 17, 0)); 1349 go to label_2820; 1350 1351 label_2810: 1352 1353 value = stkc; 1354 basno, admod, b29 = 0; 1355 1356 label_2820: 1357 1358 if tnewcall ^= 0 then if tprot = 0 then do; 1359 value = 16 * divide (value + 15, 16, 17, 0); 1360 new_slsave (1) = utils_$makins (basno, value, new_slsave (1), b29, admod); 1361 call putout_$putlst (pc, new_slsave (1), i642, new_nslsav, new_mslbit (1)); 1362 goto label_3140; 1363 end; 1364 1365 slsave (3) = utils_$makins (bp, value, meapbp, 1, 0); 1366 slsave (4) = utils_$makins (bp, 18 - value, mstpbp, 1, 0); 1367 slsave (5) = utils_$makins (bp, - value, meabsp, 1, 0); 1368 if tprot = 1 then 1369 call putout_$putlst (pc, mxsave (1), i642, eb_data_$nmxsav, mxsbit (1)); 1370 call putout_$putlst (pc, slsave (1), i642, nslsav, mslbit (1)); 1371 go to label_3140; 1372 1373 /* segdef pseudo-operation, put symbol on external definition list. */ 1374 1375 label_vector (42): /* segdef */ 1376 label_2900: 1377 1378 call getid_$getid_; 1379 if (eb_data_$tsym = 0) then go to label_3100; 1380 if (table_$table_ (iserch, sym (1), value, flocrf, lcloc) = 0) then go to label_3130; 1381 name = lstman_$namasn (sym (1)); 1382 trplnk = 0; 1383 if (brk (1) ^= ilpar) then go to label_2920; 1384 tmvdef = 1; 1385 tderr = 0; 1386 trprtn = label_2910; 1387 go to label_933; 1388 1389 label_2910: 1390 1391 if (tderr = 1) then 1392 prntf = 1; 1393 1394 label_2920: 1395 1396 class = fixed (glpl_words (lcloc + 4).right, 18); 1397 if (brk (1) ^= ilsb) then go to label_2940; 1398 call getid_$getid_; 1399 if (expevl_$expevl_ (0, class, iaddr) = 0) then 1400 prntr,prntf = 1; 1401 if (iaddr ^= 0) then 1402 prntr = 1; 1403 if (brk (1) = irsb) then go to label_2930; 1404 prntf = 1; 1405 go to label_2940; 1406 1407 label_2930: 1408 1409 call inputs_$next; 1410 1411 label_2940: 1412 1413 junk = lstman_$sdfasn (value, name, lcloc, trplnk, class); 1414 if (brk (1) = icomma) then go to label_2900; 1415 if (lcloc = 0) then go to label_3200; 1416 value = value + fixed (glpl_words (lcloc + 3).left, 18); 1417 go to label_3200; 1418 1419 1420 /* block indicate the start of a program block for statement map */ 1421 label_vector (68): /* block {block_name} */ 1422 call getid_$getid_; 1423 if eb_data_$tsym = 0 then call alm_symtab_$block(""); 1424 else call alm_symtab_$block( addr(sym(1)) -> acc_string.chars ); 1425 goto label_3140; /* all done */ 1426 1427 /* end_block indicate the end of a program block for statement map */ 1428 label_vector (69): /* end_block */ 1429 call alm_symtab_$end_block; 1430 goto label_3140; /* all done */ 1431 1432 /* enum indicate start of enumerated-type symbol table dcls */ 1433 label_vector (70): /* enum */ 1434 call getid_$getid_; 1435 var_name = addr(sym(1)) -> acc_string.chars; 1436 do while(brk(1) ^= icomma & brk(1) ^= inl & brk(1) ^= iquot); 1437 var_name = var_name || addr(brk(2)) -> dup_string(3); 1438 call getid_$getid_; 1439 var_name = var_name || addr(sym(1)) -> acc_string.chars; 1440 end; 1441 if var_name = "" then goto label_3100; /* field error */ 1442 else call alm_symtab_$enum( (var_name) ); 1443 goto label_3140; /* all done */ 1444 1445 /* end_enum indicate end of enum symbol table dcls */ 1446 label_vector (71): /* end_enum */ 1447 call alm_symtab_$end_enum; 1448 goto label_3140; /* all done */ 1449 1450 /* source indicate the current source for statement map */ 1451 label_vector (72): /* source */ 1452 unique_id = "0"b; 1453 dtcm = 0; 1454 call getid_$getid_; /* get first part of path */ 1455 path = addr(sym(1)) -> acc_string.chars; 1456 do while(brk(1) ^= icomma & brk(1) ^= inl & brk(1) ^= iquot); /* get rest of path */ 1457 path = path || addr(brk(2)) -> dup_string(3); /* add break char */ 1458 call getid_$getid_; 1459 path = path || addr(sym(1)) -> acc_string.chars; /* add next word */ 1460 end; 1461 if path = "" then goto label_3100; /* field error */ 1462 if brk(1) = icomma then do; /* get unique id and dtcm */ 1463 n = octevl_$octevl_ (rslts (1)); 1464 if n >=2 then goto label_3100; /* number too big, field error */ 1465 unique_id = unspec(rslts(1)); 1466 if brk(1) ^= icomma then goto label_3100; /* missing dtcm, field error */ 1467 n = decevl_$decevl_(rslts(1), type); 1468 if n = 1 then dtcm = rslts(1); 1469 else dtcm = addr(rslts(1)) -> long_int_based; 1470 end; 1471 else begin; /* no dtcm & unique_id figure it out ourselves */ 1472 dcl (dirname char(256), entryname char(32), compname char(32)) automatic; 1473 dcl seg_ptr ptr; 1474 dcl code fixed bin(35); 1475 1476 seg_ptr = null(); 1477 call expand_pathname_$component((path), dirname, entryname, compname, code); 1478 if code ^= 0 then goto label_2950; /* forget it */ 1479 on cleanup call terminate_file_(seg_ptr, 0, "001"b, 0); 1480 call initiate_file_$component(dirname, entryname, compname, "100"b, seg_ptr, 0, code); 1481 if code ^= 0 then goto label_2950; /* forget it */ 1482 call translator_info_$component_get_source_info(seg_ptr, dirname, entryname, compname, dtcm, unique_id, code); 1483 if code ^= 0 then goto label_2950; /* can't figure it out */ 1484 call terminate_file_(seg_ptr, 0, "001"b, code); 1485 path = rtrim(dirname, "> ") || ">" || rtrim(entryname, " "); 1486 if compname ^= "" then path = path || "::" || compname; 1487 end; 1488 label_2950: 1489 call alm_symtab_$source((path), unique_id, dtcm); 1490 goto label_3140; /* all done */ 1491 1492 /* end_source indicate end of source segment for statement map */ 1493 label_vector (73): /* end_source */ 1494 call alm_symtab_$end_source; 1495 goto label_3140; /* all done */ 1496 1497 /* statement ,,{,} */ 1498 label_vector (74): /* statement */ 1499 junk = varevl_$varevl_(invrvl, basno, st_offset, admod, b29, iaddr); 1500 if iaddr ^= 0 then prntr = 1; 1501 if brk(1) ^= icomma then goto label_3100; /* field error */ 1502 junk = varevl_$varevl_(invrvl, basno, st_length, admod, b29, iaddr); 1503 if iaddr ^= 0 then prntr = 1; 1504 if brk(1) ^= icomma then goto label_3100; /* field error */ 1505 junk = varevl_$varevl_(invrvl, basno, st_line, admod, b29, iaddr); 1506 if iaddr ^= 0 then prntr = 1; 1507 if brk(1) = icomma then do; /* optional statement num */ 1508 junk = varevl_$varevl_(invrvl, basno, st_num, admod, b29, iaddr); 1509 if iaddr ^= 0 then prntr = 1; 1510 end; 1511 else st_num = 1; /* if not specified, then statement num = 1 */ 1512 call alm_symtab_$statement(pc + fixed(glpl_words(curlc+3).left, 18), 1513 st_offset, st_length, st_line, st_num); 1514 goto label_3140; 1515 1516 /* structure indicate start of structure symbol table dcls */ 1517 label_vector (75): /* structure */ 1518 call getid_$getid_; 1519 var_name = addr(sym(1)) -> acc_string.chars; 1520 do while(brk(1) ^= icomma & brk(1) ^= inl & brk(1) ^= iquot); 1521 var_name = var_name || addr(brk(2)) -> dup_string(3); 1522 call getid_$getid_; 1523 var_name = var_name || addr(sym(1)) -> acc_string.chars; 1524 end; 1525 if var_name = "" then goto label_3100; /* field error */ 1526 else call alm_symtab_$structure( (var_name) ); 1527 goto label_3140; /* all done */ 1528 1529 /* end_structure indicate end of structure symbol table dcls */ 1530 label_vector (76): /* end_structure */ 1531 call alm_symtab_$end_structure; 1532 goto label_3140; /* all done */ 1533 1534 label_vector (77): /* symbol ,{,location} */ 1535 call getid_$getid_; /* name */ 1536 var_name = addr(sym(1)) -> acc_string.chars; 1537 do while(brk(1) ^= icomma & brk(1) ^= inl & brk(1) ^= iquot); 1538 var_name = var_name || addr(brk(2)) -> dup_string(3); 1539 call getid_$getid_; 1540 var_name = var_name || addr(sym(1)) -> acc_string.chars; 1541 end; 1542 if var_name = "" then goto label_3100; /* field error */ 1543 1544 call getid_$getid_; /* type */ 1545 var_type = addr(sym(1)) -> acc_string.chars; 1546 i = 0; /* nesting level for '[' ... ']' pairs */ 1547 do while(brk(1) ^= inl & (brk(1) ^= icomma | i > 0) & brk(1) ^= iquot); 1548 if brk(1) = ilsb then i = i + 1; /* another '[' */ 1549 else if brk(1) = irsb then i = i - 1; /* matching ']' */ 1550 var_type = var_type || addr(brk(2)) -> dup_string(3); 1551 if brk(1) ^= ilsb & brk(1) ^= icomma & brk(1) ^= icol then do; 1552 call getid_$getid_; 1553 var_type = var_type || addr(sym(1)) -> acc_string.chars; 1554 end; 1555 else do; 1556 call getid_$getid_; 1557 /* if the identifier has a symbolic value use it */ 1558 junk = table_$table_(iserch, sym(1), value, flocrf, lcloc); 1559 if junk=0 then var_type = var_type || addr(sym(1)) -> acc_string.chars; 1560 else do; 1561 if lcloc ^= 0 then value = value + fixed(glpl_words(lcloc+3).left, 18); 1562 var_type = var_type || ltrim(char(value)); 1563 end; 1564 end; 1565 end; 1566 if var_type = "" | i > 0 then goto label_3100; /* field error */ 1567 1568 /* location {optional} */ 1569 i = 0; /* initial offset = 0 bits */ 1570 if brk(1) = icomma then do; 1571 if varevl_$varevl_(ixvrvl, basno, value, admod, b29, iaddr) = 0 then goto label_3120; /* S error */ 1572 if brk(1) = ilpar then do; /* bit offset */ 1573 if varevl_$varevl_(invrvp, 0, i, 0, 0, 0) = 0 then goto label_3120; /* S error */ 1574 end; 1575 if basno = 0 & value = 0 & admod = 0 & b29 = 0 & iaddr = 0 & i = 0 then goto label_3100; /* F error */ 1576 call alm_symtab_$symbol((var_name), (var_type), basno, value, admod, b29, iaddr, i); 1577 end; 1578 else call alm_symtab_$symbol((var_name), (var_type), 0, 0, 0, 0, 0, 0); 1579 goto label_3140; /* all done */ 1580 1581 1582 /* union indicate start of union symbol table dcls */ 1583 label_vector (78): /* union */ 1584 call getid_$getid_; 1585 var_name = addr(sym(1)) -> acc_string.chars; 1586 do while(brk(1) ^= icomma & brk(1) ^= inl & brk(1) ^= iquot); 1587 var_name = var_name || addr(brk(2)) -> dup_string(3); 1588 call getid_$getid_; 1589 var_name = var_name || addr(sym(1)) -> acc_string.chars; 1590 end; 1591 if var_name = "" then goto label_3100; /* field error */ 1592 else call alm_symtab_$union( (var_name) ); 1593 goto label_3140; /* all done */ 1594 1595 /* end_union indicate end of union symbol table dcls */ 1596 label_vector (79): /* end_union */ 1597 call alm_symtab_$end_union; 1598 goto label_3140; /* all done */ 1599 1600 1601 /* setlp pseudo - op. */ 1602 /* generate eaplp -*, ic with 3a relocation bits. */ 1603 1604 label_vector (45): /* setlp */ 1605 label_2970: 1606 1607 call putout_$putwrd (pc, utils_$makins (0, - fixed (glpl_words (curlc + 3).left, 18) - pc, meaplp, 0, mpc), 1608 i642, glpl_$glwrd (imlink, 0)); 1609 go to label_3010; 1610 1611 /* getlp pseudo-operation, set LP from lot. */ 1612 1613 label_vector (49): /* getlp */ 1614 label_getlp: 1615 call putout_$putlst (pc, new_getlp (1), i642, new_ngetlp, new_getbit (1)); 1616 goto label_3140; 1617 1618 1619 1620 /* EIS multi-word instruction operand descriptors are generated by these pseudo-ops. */ 1621 1622 label_vector (55): /* desc9a, desc6a, desc4a */ 1623 label_eis_desca: 1624 type = 1; 1625 goto desc_common; 1626 1627 label_vector (56): /* descb */ 1628 label_eis_descb: 1629 type = 2; 1630 goto desc_common; 1631 1632 label_vector (57): /* desc9fl, desc4us, etc. */ 1633 label_eis_descn: 1634 type = 3; 1635 1636 desc_common: 1637 nobits = fixed (addr (binop) -> descop_overlay.flags, 4); /* 9, 6, 4, or 1 */ 1638 class = fixed (addr (binop) -> descop_overlay.format, 4); /* Numeric operand format (fixed vs. float, etc.). */ 1639 full_word_temp = alm_eis_parse_$descriptor (type, nobits, class, rleft); 1640 call putout_$putwrd (pc, full_word_temp, i66, rleft); 1641 goto label_3015; 1642 1643 1644 label_vector (52): /* rpt, rpd, rpl */ 1645 label_repeat: /* repeat type instructions rpt, rpd, and rpl. Format is: 1646* RPT tally,delta,term1,term2,... 1647* where term_i are the names of the conditional transfer instructions 1648* that test the states to be terminated on. The A, B, and C bits are 1649* kept in the opcode_overlay.flags field (viz. RPD, RPDA, RPTX). */ 1650 1651 call getid_$getid_; 1652 if expevl_$expevl_ (0, zleft, iaddr) = 0 then prnte = 1; 1653 if iaddr ^= 0 then prntr = 1; 1654 if brk (1) = icomma then do; 1655 call getid_$getid_; 1656 if expevl_$expevl_ (0, zright, iaddr) = 0 then prnte = 1; 1657 if iaddr ^= 0 then prntr = 1; 1658 if zright < 0 | zright > 63 then prnte = 1; 1659 end; 1660 else zright = 1; /* delta defaults to 1. */ 1661 1662 termination_conditions = ""b; 1663 do i = 1 to 7 while (brk (1) = icomma); 1664 call getid_$getid_; 1665 do j = 1 to 7; 1666 if sym (1) = eb_data_$rpt_terminators (j) then do; 1667 substr (termination_conditions, j, 1) = "1"b; 1668 goto rpt_out; 1669 end; 1670 end; 1671 prntu = 1; 1672 rpt_out: end; 1673 1674 zleft = zleft * 1024 + fixed (addr (binop) -> opcode_overlay.flags || termination_conditions, 11); 1675 itemp = tinhib; /* Processor manual calls for RPT to have inhibit flag on always. */ 1676 tinhib = 1; 1677 call putout_$putwrd (pc, utils_$makins (0, zleft, binop, 0, zright), i642, 0); 1678 tinhib = itemp; 1679 goto label_3015; 1680 1681 1682 label_vector (53): /* awd, swd, abd, sbd, etc. */ 1683 label_eis_single: /* single word EIS instructions awd, abd, etc. Format is: 1684* AWD base|offset,tag 1685* where base is required, in order to select a target register. 1686* For AWDX, etc., the opcode_overlay.flags field is non-zero to indicate 1687* that bit 29 should be turned off. (This makes add into clear-and-add, etc.) */ 1688 1689 if varevl_$varevl_ (ixvrvl, basno, value, admod, b29, iaddr) = 0 then prnte = 1; 1690 if b29 = 0 then do; /* Base number _m_u_s_t be specified. */ 1691 prnte = 1; 1692 b29 = 1; 1693 end; 1694 if iaddr = 0 then rleft = 0; /* calculate relocation bits. */ 1695 else do; 1696 value = value + fixed (glpl_words (iaddr + 3).left, 18); 1697 call getbit_$getbit_ (iaddr, basno, b29, rleft); 1698 rleft = rleft * 262144; 1699 end; 1700 1701 full_word_temp = utils_$makins (basno, value, binop, b29, admod); 1702 if addr (binop) -> opcode_overlay.flags then full_word_temp = full_word_temp - 64; /* turn b29 OFF */ 1703 call putout_$putwrd (pc, full_word_temp, i642, rleft); 1704 goto label_3015; 1705 1706 label_vector (54): /* mvn, cmpb, ad2d, etc. */ 1707 label_eis_multiple: /* EIS instructions with multi-word operand descriptors, MLR, CMPB, etc. 1708* The instruction word contains up to three tags for the operands 1709* and several kinds of flags and numeric values. */ 1710 1711 flags = fixed (addr (binop) -> opcode_overlay.flags, 4); /* Non-zero if FILL field is only one bit wide. */ 1712 full_word_temp = alm_eis_parse_$instruction (binop, flags, rleft); 1713 call putout_$putwrd (pc, full_word_temp, i642, rleft); 1714 goto label_3015; 1715 1716 1717 label_vector (44): /* eap, sprp, etc. */ 1718 label_get_base: /* normal base register instructions written as: 1719* EAP bp,ap|2,* 1720* This is so symbolic names can be used for base registers. */ 1721 1722 rslts (1) = sym (1); rslts (2) = sym (2); /* Save opcode name. */ 1723 call getid_$getid_; 1724 do itemp = 0 to 7; /* Search for predefined base register name first. */ 1725 if sym (1) = symbas (itemp + 1) then goto got_index; 1726 end; 1727 goto get_index; /* join common code. */ 1728 1729 label_vector (43): /* eax, canx, etc. */ 1730 label_get_index: /* normal index register instructions written with separate register name as above. */ 1731 rslts (1) = sym (1); rslts (2) = sym (2); /* As above. */ 1732 call getid_$getid_; 1733 1734 get_index: 1735 if expevl_$expevl_ (0, itemp, iaddr) = 0 then prnte = 1; 1736 if iaddr ^= 0 then prntr = 1; 1737 1738 got_index: 1739 if itemp < 0 | itemp > 7 then do; 1740 prnte = 1; 1741 itemp = 0; 1742 end; 1743 sym (1) = rslts (1); sym (2) = rslts (2); /* Put opcode name back. */ 1744 /* Fudge opcode name to contain register number. */ 1745 j = addr (sym) -> acc_string.length + 1; 1746 addr (sym) -> acc_string.length = j; 1747 substr (addr (sym) -> acc_string.chars, j, 1) = substr ("01234567", itemp + 1, 1); 1748 if brk (1) = icomma then brk (1) = isp;/*fix equ bug*/ 1749 goto label_301; /* Go re-evaluate opcode. */ 1750 1751 label_vector (58): 1752 label_entrybound: 1753 eb_data_$entry_bound = spc + fixed(glpl_words(curlc + 3).left, 18); 1754 goto label_3010; 1755 1756 1757 /* NORMAL INSTRUCTIONS */ 1758 1759 label_vector (0): /* Normal instruction. */ 1760 label_3000: 1761 if (varevl_$varevl_ (ixvrvl, basno, value, admod, b29, iaddr) = 0) then prnte = 1; 1762 rleft = 0; 1763 if (iaddr = 0) then go to label_3008; 1764 value = value + fixed (glpl_words (iaddr + 3).left, 18); 1765 1766 /* determine the proper relocation bits */ 1767 1768 call getbit_$getbit_ (iaddr, basno, b29, rleft); 1769 1770 /* the following statement left justifies the reloc. bits */ 1771 /* and avoids a call to glpl_$glwrd (rleft, 0) for each instruction. */ 1772 1773 rleft = rleft * 262144; 1774 1775 label_3008: 1776 1777 call putout_$putwrd (pc, utils_$makins (basno, value, binop, b29, admod), i642, rleft); 1778 goto label_3015; 1779 1780 /* re - entry from pseudo-operation processing. */ 1781 1782 label_3010: 1783 call prwrd_$source_only; 1784 label_3015: 1785 1786 if (pc = tpc & curlc = tlc) then go to label_3040; 1787 call prnter_$prnter_ ("fatal phase error in pass2."); 1788 call utils_$abort; 1789 1790 1791 1792 /* skip over comment portion of card */ 1793 1794 label_3040: 1795 1796 call inputs_$next_statement; 1797 go to label_200; 1798 1799 1800 /* error return for pseudo-operations. */ 1801 1802 /* field (f) error. */ 1803 1804 label_3100: 1805 1806 prntf = 1; 1807 go to label_3200; 1808 1809 /* phase (p) error. */ 1810 1811 label_3110: 1812 1813 prntp = 1; 1814 go to label_3200; 1815 1816 /* symbol (s) definition error. */ 1817 1818 label_3120: 1819 1820 prnts = 1; 1821 go to label_3200; 1822 1823 /* undefined (u) symbol error. */ 1824 1825 label_3130: 1826 1827 prntu = 1; 1828 go to label_3200; 1829 1830 /* variable length macro phase error. */ 1831 1832 label_3140: 1833 1834 if curlc = tlc then go to label_3150; 1835 call prnter_$prnter_ ("fatal multiple location counter mismatch in pass2."); 1836 call utils_$abort; 1837 1838 label_3150: 1839 1840 if pc = tpc then go to label_3040; 1841 prntp = 1; 1842 pc = tpc; 1843 go to label_3040; 1844 1845 1846 label_vector (9): /* dup */ 1847 label_dup: 1848 if dup_ptr ^= null () then go to label_3120; 1849 if varevl_$varevl_ (invrvl, basno, value, admod, b29, iaddr) = 0 then go to label_3120; 1850 if iaddr ^= 0 then go to label_3300; 1851 if value <= 0 then go to label_3120; 1852 dup_count = value - 1; 1853 call prwrd_$prwrd_ (spc + fixed (glpl_words (curlc + 3).left, 18), value, eb_data_$ib6); 1854 call inputs_$next_statement; 1855 call inputs_$get_ptr (dup_ptr, dup_start, junk, end_statement_flag); 1856 go to label_200; 1857 1858 label_vector (10): /* dupend */ 1859 label_dupend: 1860 if dup_ptr = null () then go to label_3120; 1861 call inputs_$get_ptr (temp_ptr, i, j, end_statement_flag); 1862 if temp_ptr ^= dup_ptr then go to label_3100; 1863 i = begin_line; /* Really want beginning of line. */ 1864 call inputs_$next_statement; 1865 if dup_count > 0 then 1866 call alm_include_file_$insert (addr (dup_string (dup_start)), i - dup_start, dup_count); 1867 dup_ptr = null (); 1868 go to label_200; 1869 1870 label_vector (60): 1871 label_macro: 1872 call getid_$getid_; 1873 if eb_data_$tsym = 0 then goto label_3100; 1874 call oplook_$redefine; 1875 call inputs_$next_statement; 1876 call mexp_$define_macro (addr (sym (1)) -> acc_string.chars); 1877 go to label_200; 1878 1879 label_vector (40): 1880 label_maclist: 1881 call getid_$getid_; 1882 if eb_data_$tsym = eb_data_$ion then 1883 tmacl = "00"b; 1884 else if eb_data_$tsym = eb_data_$ioff then 1885 tmacl = "11"b; 1886 else if eb_data_$tsym = eb_data_$iobject then 1887 tmacl = "10"b; 1888 else if eb_data_$tsym = eb_data_$irestore then do; 1889 eb_data_$macro_listing_control = substr (eb_data_$macro_listing_control, 3); 1890 go to end_maclist; 1891 end; 1892 else go to label_3100; 1893 1894 if brk (1) = icomma then do; 1895 call getid_$getid_; 1896 if eb_data_$tsym = eb_data_$isave then 1897 eb_data_$macro_listing_control = tmacl || eb_data_$macro_listing_control; 1898 else go to label_3100; 1899 end; 1900 1901 else substr (eb_data_$macro_listing_control, 1, 2) = tmacl; 1902 1903 end_maclist: 1904 if eb_data_$macro_depth > 0 then do; 1905 call inputs_$next_statement_nolist; 1906 go to label_200; 1907 end; 1908 else go to label_3300; 1909 1910 1911 1912 /* possible phase error, print flags, loc, and value. */ 1913 1914 label_3200: 1915 1916 if (pc = tpc) then go to label_3210; 1917 prntp = 1; 1918 pc = tpc; 1919 1920 label_3210: 1921 1922 call prwrd_$prwrd_ (spc + fixed (glpl_words (curlc + 3).left, 18), value, eb_data_$ib6); 1923 go to label_3040; 1924 1925 /* printer for no-valued pseudo-operations, print flags and loc. */ 1926 1927 label_3300: 1928 1929 call prwrd_$prwrd_ (spc + fixed (glpl_words (curlc + 3).left, 18), 0, ibb); 1930 go to label_3015; 1931 1932 1933 end pass2_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 10/17/88 0929.5 pass2_.pl1 >spec>install>1170>pass2_.pl1 80 1 10/21/74 1242.9 varcom.incl.pl1 >ldd>include>varcom.incl.pl1 82 2 10/21/74 1243.0 concom.incl.pl1 >ldd>include>concom.incl.pl1 84 3 07/17/81 1911.5 erflgs.incl.pl1 >ldd>include>erflgs.incl.pl1 86 4 05/06/74 1741.0 codtab.incl.pl1 >ldd>include>codtab.incl.pl1 88 5 10/21/74 1243.0 alm_prototypes.incl.pl1 >ldd>include>alm_prototypes.incl.pl1 90 6 10/21/74 1242.9 relbit.incl.pl1 >ldd>include>relbit.incl.pl1 92 7 10/21/74 1242.9 labarg.incl.pl1 >ldd>include>labarg.incl.pl1 94 8 11/12/86 1103.0 alm_lc.incl.pl1 >ldd>include>alm_lc.incl.pl1 96 9 10/17/88 0926.0 sthedr.incl.pl1 >ldd>include>sthedr.incl.pl1 98 10 05/06/74 1740.2 alm_options.incl.pl1 >ldd>include>alm_options.incl.pl1 100 11 07/17/81 1911.6 alm_data.incl.pl1 >ldd>include>alm_data.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. acc_string based structure level 1 dcl 127 admod 000321 automatic fixed bin(26,0) dcl 234 set ref 408* 502* 503* 507* 508* 600* 630* 638* 648* 652* 700* 712* 730* 731* 748* 776* 1021* 1039* 1049* 1084* 1094* 1095* 1111* 1120* 1160* 1166* 1242* 1298* 1333* 1354* 1360* 1498* 1502* 1505* 1508* 1571* 1575 1576* 1682* 1701* 1759* 1775* 1775* 1849* alm_data1$structure 000100 external static fixed bin(17,0) dcl 11-4 set ref 11-23 alm_data2$structure 000102 external static fixed bin(17,0) dcl 11-14 set ref 11-24 alm_eis_parse_$descriptor 000314 constant entry external dcl 229 ref 1639 alm_eis_parse_$instruction 000316 constant entry external dcl 229 ref 1712 alm_include_file_$insert 000206 constant entry external dcl 181 ref 1865 alm_include_file_$pass2 000204 constant entry external dcl 181 ref 386 alm_symtab_$block 000104 constant entry external dcl 145 ref 1423 1424 alm_symtab_$cleanup 000106 constant entry external dcl 145 ref 303 alm_symtab_$end_block 000110 constant entry external dcl 145 ref 1428 alm_symtab_$end_enum 000112 constant entry external dcl 145 ref 1446 alm_symtab_$end_source 000114 constant entry external dcl 145 ref 1493 alm_symtab_$end_structure 000116 constant entry external dcl 145 ref 1530 alm_symtab_$end_union 000120 constant entry external dcl 145 ref 1596 alm_symtab_$enum 000122 constant entry external dcl 145 ref 1442 alm_symtab_$initialize 000124 constant entry external dcl 145 ref 304 alm_symtab_$source 000126 constant entry external dcl 145 ref 1488 alm_symtab_$statement 000130 constant entry external dcl 145 ref 1512 alm_symtab_$structure 000132 constant entry external dcl 145 ref 1526 alm_symtab_$symbol 000134 constant entry external dcl 145 ref 1576 1578 alm_symtab_$union 000136 constant entry external dcl 145 ref 1592 ap 000012 external static fixed bin(26,0) level 2 dcl 2-6 set ref 1304* argout 000534 automatic fixed bin(26,0) dcl 234 set ref 1098* 1102* 1120* 1125 1144 ascevl_$ac4evl 000240 constant entry external dcl 197 ref 872 ascevl_$accevl 000234 constant entry external dcl 197 ref 857 ascevl_$acievl 000236 constant entry external dcl 197 ref 862 ascevl_$bcdevl 000242 constant entry external dcl 197 ref 867 b29 000320 automatic fixed bin(26,0) dcl 234 set ref 408* 502* 503 507* 508 600* 630* 634 648* 652 700* 712* 730* 731 748* 776* 1021* 1029 1039* 1043* 1049* 1050* 1084* 1088* 1094* 1095* 1111* 1114* 1120* 1160* 1163* 1166* 1242* 1298* 1333* 1354* 1360* 1498* 1502* 1505* 1508* 1571* 1575 1576* 1682* 1690 1692* 1697* 1701* 1759* 1768* 1775* 1775* 1849* basno 000316 automatic fixed bin(26,0) dcl 234 set ref 408* 502* 507* 596* 600* 630* 648* 700* 712* 730* 748* 776* 1021* 1039* 1043* 1049* 1050* 1084* 1088* 1094* 1095* 1111* 1114* 1120* 1160* 1163* 1166* 1242* 1298* 1333* 1354* 1360* 1498* 1502* 1505* 1508* 1571* 1575 1576* 1682* 1697* 1701* 1759* 1768* 1775* 1775* 1849* begin_line 60 000010 external static fixed bin(26,0) level 2 dcl 1-7 ref 1863 binlin 101 000010 external static fixed bin(26,0) level 2 dcl 1-7 set ref 315* binop 000314 automatic fixed bin(26,0) dcl 234 set ref 345* 358 1636 1638 1674 1677* 1677* 1701* 1702 1706 1712* 1775* 1775* bp 2 000012 external static fixed bin(26,0) level 2 dcl 2-6 set ref 1365* 1366* 1367* brk 000010 external static fixed bin(26,0) array level 2 dcl 1-7 set ref 331* 334 343 344 352 352 506 625 645 657 662 688 699 711 729 746 775 787 895 908 923 936 1020 1047 1096 1187 1201 1207 1218 1240 1245 1248 1257 1297 1383 1397 1403 1414 1436 1436 1436 1437 1456 1456 1456 1457 1462 1466 1501 1504 1507 1520 1520 1520 1521 1537 1537 1537 1538 1547 1547 1547 1548 1549 1550 1551 1551 1551 1570 1572 1586 1586 1586 1587 1654 1663 1748 1748* 1894 canonical_operand 000610 automatic char(24) packed unaligned dcl 243 set ref 476* 480 chars 0(09) based char level 2 packed packed unaligned dcl 127 set ref 348* 475 1424* 1435 1439 1455 1459 1519 1523 1536 1540 1545 1553 1559 1585 1589 1747* 1876* class 000322 automatic fixed bin(26,0) dcl 234 set ref 610* 682* 713* 714* 716* 788* 1198* 1203* 1215* 1265* 1267* 1394* 1399* 1411* 1638* 1639* clbas 13 000012 external static fixed bin(26,0) level 2 dcl 2-6 set ref 583* cleanup 000104 stack reference condition dcl 113 ref 303 1479 clint 11 000012 external static fixed bin(26,0) level 2 dcl 2-6 set ref 596* code 000222 automatic fixed bin(35,0) dcl 1474 in begin block on line 1471 set ref 1477* 1478 1480* 1481 1482* 1483 1484* code 000616 automatic fixed bin(35,0) dcl 243 in procedure "pass2_" set ref 476* 477 compatible 2 based bit(1) array level 2 packed packed unaligned dcl 11-18 ref 360 compname 000210 automatic char(32) packed unaligned dcl 1472 set ref 1477* 1480* 1482* 1486 1486 curlc 000062 external static fixed bin(26,0) level 2 dcl 8-15 set ref 299* 335* 372 398 401* 641* 1033* 1034 1265 1267 1267* 1512 1604 1604 1751 1784 1832 1853 1920 1927 data1 based structure level 1 unaligned dcl 11-8 data1_ptr 000100 automatic pointer dcl 11-6 set ref 11-23* 480 480 482 data2 based structure level 1 unaligned dcl 11-18 data2_ptr 000102 automatic pointer dcl 11-16 set ref 11-24* 360 decevl_$decevl_ 000254 constant entry external dcl 197 ref 886 901 1467 decor 1 based structure array level 2 in structure "data1" unaligned dcl 11-8 in procedure "pass2_" ref 480 decor parameter fixed bin(35,0) dcl 106 in procedure "pass2_" set ref 33 360 482* descop_overlay based structure level 1 dcl 137 dirname 000100 automatic char(256) packed unaligned dcl 1472 set ref 1477* 1480* 1482* 1485 dtcm 000620 automatic fixed bin(71,0) dcl 243 set ref 1453* 1468* 1469* 1482* 1488* dup_count 000574 automatic fixed bin(26,0) dcl 243 set ref 1852* 1865 1865* dup_ptr 000570 automatic pointer initial dcl 243 set ref 243* 1846 1855* 1858 1862 1865 1865 1867* dup_start 000575 automatic fixed bin(26,0) dcl 243 set ref 1855* 1865 1865 1865 dup_string based char(1) array packed unaligned dcl 243 set ref 1437 1457 1521 1538 1550 1587 1865 1865 dzero 147 000012 external static fixed bin(26,0) array level 2 dcl 2-6 set ref 1097* eb_data_$aheap 000334 external static fixed bin(26,0) array dcl 264 ref 822 822 eb_data_$alink 000324 external static fixed bin(26,0) array dcl 264 ref 794 794 eb_data_$alm_options 000076 external static structure level 1 dcl 10-6 eb_data_$astat 000330 external static fixed bin(26,0) array dcl 264 ref 808 808 eb_data_$asym 000326 external static fixed bin(26,0) array dcl 264 ref 801 801 eb_data_$asys 000332 external static fixed bin(26,0) array dcl 264 ref 815 815 eb_data_$atext 000322 external static fixed bin(26,0) array dcl 264 ref 789 789 eb_data_$codtab 000020 external static structure level 1 dcl 4-6 eb_data_$concom 000012 external static structure level 1 dcl 2-6 eb_data_$curlc 000062 external static structure level 1 unaligned dcl 8-15 eb_data_$entry_bound 000366 external static fixed bin(26,0) dcl 271 set ref 1751* eb_data_$erflgs 000014 external static structure level 1 dcl 3-5 eb_data_$erflgs_overlay 000016 external static structure level 1 dcl 3-9 eb_data_$ertlst 000046 external static structure level 1 unaligned dcl 5-54 eb_data_$ib6 000346 external static fixed bin(26,0) dcl 264 set ref 1853* 1920* eb_data_$iobject 000354 external static fixed bin(26,0) dcl 264 ref 1886 eb_data_$ioff 000342 external static fixed bin(26,0) dcl 264 ref 523 1884 eb_data_$ion 000340 external static fixed bin(26,0) dcl 264 ref 522 1882 eb_data_$irestore 000352 external static fixed bin(26,0) dcl 264 ref 1888 eb_data_$isave 000350 external static fixed bin(26,0) dcl 264 ref 1896 eb_data_$labarg 000060 external static structure level 1 dcl 7-6 eb_data_$lavptr 000364 external static pointer dcl 270 ref 300 301 305 306 310 311 323 324 327 372 505 510 682 682 720 736 747 753 753 757 763 764 765 955 956 963 970 1034 1044 1051 1092 1098 1118 1141 1142 1142 1146 1151 1165 1183 1183 1183 1183 1220 1232 1233 1238 1253 1265 1267 1310 1394 1416 1512 1561 1604 1604 1696 1751 1764 1853 1920 1927 eb_data_$lccall 000064 external static structure level 1 unaligned dcl 8-18 eb_data_$lclit 000066 external static structure level 1 unaligned dcl 8-42 eb_data_$lcsect 000070 external static structure level 1 unaligned dcl 8-58 eb_data_$lctext 000072 external static structure level 1 unaligned dcl 8-66 eb_data_$lctv 000074 external static structure level 1 unaligned dcl 8-70 eb_data_$macro_depth 000370 external static fixed bin(26,0) dcl 272 ref 1903 eb_data_$macro_listing_control 000372 external static bit(36) dcl 272 set ref 316* 1889* 1889 1896* 1896 1901* eb_data_$mstaq 000336 external static fixed bin(26,0) dcl 264 set ref 1307* eb_data_$mx7 000344 external static fixed bin(26,0) dcl 264 set ref 1183* eb_data_$mxcall 000026 external static structure level 1 unaligned dcl 5-18 eb_data_$mxclbk 000030 external static structure level 1 unaligned dcl 5-22 eb_data_$mxsave 000032 external static structure level 1 unaligned dcl 5-26 eb_data_$new_getlp 000052 external static structure level 1 unaligned dcl 5-62 eb_data_$new_retlst 000042 external static structure level 1 unaligned dcl 5-42 eb_data_$new_slcall 000024 external static structure level 1 unaligned dcl 5-14 eb_data_$new_slsave 000036 external static structure level 1 unaligned dcl 5-34 eb_data_$nmxsav 000356 external static fixed bin(26,0) dcl 264 set ref 1342 1368* eb_data_$relbit 000056 external static structure level 1 dcl 6-6 eb_data_$relocn 000054 external static structure level 1 unaligned dcl 5-67 eb_data_$retlst 000040 external static structure level 1 unaligned dcl 5-38 eb_data_$rpt_terminators 000362 external static fixed bin(35,0) array dcl 264 ref 1666 eb_data_$short_retlst 000044 external static structure level 1 unaligned dcl 5-46 eb_data_$short_slcall 000050 external static structure level 1 unaligned dcl 5-58 eb_data_$slcall 000022 external static structure level 1 unaligned dcl 5-10 eb_data_$slsave 000034 external static structure level 1 unaligned dcl 5-30 eb_data_$tsym 000360 external static fixed bin(26,0) dcl 264 ref 335 341 383 395 521 582 744 1176 1228 1379 1423 1873 1882 1884 1886 1888 1896 eb_data_$unwind 000320 external static fixed bin(26,0) array dcl 264 set ref 1309* 1309* 1309* 1309* eb_data_$varcom 000010 external static structure level 1 dcl 1-7 end_statement_flag 001137 automatic bit(1) dcl 260 set ref 1855* 1861* entryname 000200 automatic char(32) packed unaligned dcl 1472 set ref 1477* 1480* 1482* 1485 ertlst 1 000046 external static fixed bin(26,0) array level 2 dcl 5-54 set ref 1304* 1307* 1308* 1310* 1312* expand_pathname_$component 000210 constant entry external dcl 181 ref 1477 expevl_$expevl_ 000244 constant entry external dcl 197 ref 990 1203 1399 1652 1656 1734 extent based fixed bin(17,0) level 2 dcl 11-8 ref 480 fbasrf 34 000012 external static fixed bin(26,0) level 2 dcl 2-6 ref 610 fbolrf 32 000012 external static fixed bin(26,0) level 2 dcl 2-6 set ref 702* fequrf 31 000012 external static fixed bin(26,0) level 2 dcl 2-6 ref 713 first_ref_trap_arg_linkno 460 000010 external static fixed bin(26,0) level 2 dcl 1-7 set ref 509 510* 510 512 first_ref_trap_proc_linkno 457 000010 external static fixed bin(26,0) level 2 dcl 1-7 set ref 504 505* 505 first_time_thru parameter bit(1) packed unaligned dcl 108 set ref 33 348* flags 0(28) based bit(4) level 2 in structure "descop_overlay" packed packed unaligned dcl 137 in procedure "pass2_" ref 1636 flags 0(28) based bit(4) level 2 in structure "opcode_overlay" packed packed unaligned dcl 131 in procedure "pass2_" ref 1674 1702 1706 flags 000315 automatic fixed bin(26,0) dcl 234 in procedure "pass2_" set ref 949* 950 955 956 1706* 1712* flgvec 000014 external static fixed bin(17,0) array level 2 dcl 3-5 set ref 568* flocrf 30 000012 external static fixed bin(26,0) level 2 dcl 2-6 set ref 335* 714 733* 745* 1033* 1177* 1236* 1252* 1380* 1558* fmlcrf 40 000012 external static fixed bin(26,0) level 2 dcl 2-6 set ref 401* format 0(24) based bit(4) level 2 packed packed unaligned dcl 137 ref 1638 fsegrf 35 000012 external static fixed bin(26,0) level 2 dcl 2-6 ref 788 fsetrf 33 000012 external static fixed bin(26,0) level 2 dcl 2-6 set ref 778* full_word_temp 000565 automatic fixed bin(26,0) dcl 241 set ref 1639* 1640* 1701* 1702* 1702 1703* 1712* 1713* getbit_$getbit_ 000146 constant entry external dcl 145 ref 964 971 1043 1050 1088 1114 1163 1697 1768 getid_$getid_ 000140 constant entry external dcl 145 ref 333 380 391 471 517 578 614 741 986 1172 1202 1225 1246 1249 1258 1293 1375 1398 1421 1433 1438 1454 1458 1517 1522 1534 1539 1544 1552 1556 1583 1588 1644 1655 1664 1723 1732 1870 1879 1895 getid_$getnam 000142 constant entry external dcl 145 ref 783 getid_$setid 000144 constant entry external dcl 145 ref 695 707 725 771 1017 glpl_$cwrd 000250 constant entry external dcl 197 ref 325 325 glpl_$glwrd 000252 constant entry external dcl 197 ref 973 976 1054 1054 1054 1054 1604 1604 glpl_$storr 000202 constant entry external dcl 145 ref 302 398 glpl_words based structure array level 1 dcl 123 i 000541 automatic fixed bin(26,0) dcl 234 set ref 567* 568* 585* 588 590* 751* 756 758* 758 876* 878* 1234* 1243* 1273* 1273 1274 1546* 1547 1548* 1548 1549* 1549 1566 1569* 1573* 1575 1576* 1663* 1861* 1863* 1865 i3333 134 000012 external static fixed bin(26,0) level 2 dcl 2-6 set ref 880* i642 133 000012 external static fixed bin(26,0) level 2 dcl 2-6 set ref 425* 434* 447* 456* 996* 1072* 1127* 1128* 1149* 1155* 1167* 1312* 1317* 1320* 1328* 1361* 1368* 1370* 1604* 1613* 1677* 1703* 1713* 1775* i66 135 000012 external static fixed bin(26,0) level 2 dcl 2-6 set ref 890* 894* 907* 918* 922* 935* 979* 1054* 1076* 1254* 1270* 1274* 1277* 1280* 1283* 1284* 1287* 1640* iaddr 000542 automatic fixed bin(26,0) dcl 234 set ref 408* 412 502* 503* 507* 508* 600* 603 630* 638* 648* 652* 700* 701 712* 714 716* 717 720 730* 731* 748* 776* 777 990* 991 1021* 1022 1039* 1043* 1044 1044 1049* 1050* 1051 1051 1084* 1088* 1092 1092 1111* 1114* 1118 1118 1160* 1163* 1165 1165 1203* 1205 1242* 1244 1252* 1253 1253 1298* 1299 1333* 1338 1399* 1401 1498* 1500 1502* 1503 1505* 1506 1508* 1509 1571* 1575 1576* 1652* 1653 1656* 1657 1682* 1694 1696 1697* 1734* 1736 1759* 1763 1764 1768* 1849* 1850 iassgn 75 000012 external static fixed bin(26,0) level 2 dcl 2-6 set ref 335* 682* 702* 716* 733* 778* 1033* ibb 136 000012 external static fixed bin(26,0) level 2 dcl 2-6 set ref 372* 1034* 1927* ibvrvl 103 000012 external static fixed bin(26,0) level 2 dcl 2-6 set ref 700* iclass 0(32) based bit(4) level 2 packed packed unaligned dcl 131 ref 358 icol 72 000020 external static fixed bin(17,0) level 2 dcl 4-6 ref 334 1551 icomma 54 000020 external static fixed bin(17,0) level 2 dcl 4-6 ref 688 699 711 729 746 775 787 895 908 923 936 1020 1047 1218 1240 1245 1248 1257 1414 1436 1456 1462 1466 1501 1504 1507 1520 1537 1547 1551 1570 1586 1654 1663 1748 1894 ifun1 000121 constant fixed bin(35,0) initial dcl 276 ref 1261 ifun2 000120 constant fixed bin(35,0) initial dcl 276 ref 1261 ifun3 constant fixed bin(35,0) initial dcl 276 ref 1261 ildefs 24 000056 external static fixed bin(26,0) level 2 dcl 6-6 set ref 1270* ilpar 50 000020 external static fixed bin(17,0) level 2 dcl 4-6 ref 506 625 645 1096 1187 1383 1572 ilsb 133 000020 external static fixed bin(17,0) level 2 dcl 4-6 ref 1201 1397 1548 1551 iltext 21 000056 external static fixed bin(26,0) level 2 dcl 6-6 set ref 1099 1108 1152 1154 1254* 1287* imlink 4 000056 external static fixed bin(26,0) level 2 dcl 6-6 set ref 1604* 1604* initiate_file_$component 000212 constant entry external dcl 181 ref 1480 inl 12 000020 external static fixed bin(17,0) level 2 dcl 4-6 ref 343 352 1436 1456 1520 1537 1547 1586 inputs_$get_ptr 000214 constant entry external dcl 181 ref 1855 1861 inputs_$next 000150 constant entry external dcl 145 ref 657 668 1211 1407 inputs_$next_statement 000152 constant entry external dcl 145 ref 385 1794 1854 1864 1875 inputs_$next_statement_nolist 000154 constant entry external dcl 145 ref 1905 instruction_class 000323 automatic fixed bin(26,0) dcl 234 set ref 358* 360 invrvl 101 000012 external static fixed bin(26,0) level 2 dcl 2-6 set ref 408* 712* 776* 1021* 1039* 1049* 1242* 1298* 1333* 1498* 1502* 1505* 1508* 1849* invrvp 102 000012 external static fixed bin(26,0) level 2 dcl 2-6 set ref 600* 1573* iques 77 000020 external static fixed bin(17,0) level 2 dcl 4-6 ref 1297 iquot 42 000020 external static fixed bin(17,0) level 2 dcl 4-6 ref 344 1436 1456 1520 1537 1547 1586 irpar 51 000020 external static fixed bin(17,0) level 2 dcl 4-6 ref 657 662 irsb 135 000020 external static fixed bin(17,0) level 2 dcl 4-6 ref 1207 1403 1549 irtblk 000543 automatic fixed bin(26,0) dcl 234 set ref 1309* 1310* iserch 76 000012 external static fixed bin(26,0) level 2 dcl 2-6 set ref 401* 583* 596* 745* 1177* 1236* 1252* 1380* 1558* isp 40 000020 external static fixed bin(17,0) level 2 dcl 4-6 ref 331 352 1748 isymbl 7 000056 external static fixed bin(26,0) level 2 dcl 6-6 set ref 1284* itemp 000544 automatic fixed bin(26,0) dcl 234 set ref 747* 765 1675* 1678 1724* 1725* 1734* 1738 1738 1741* 1747 itype 000545 automatic fixed bin(26,0) dcl 234 set ref 345* 363 ixvrvl 77 000012 external static fixed bin(26,0) level 2 dcl 2-6 set ref 502* 507* 630* 648* 730* 748* 1084* 1111* 1160* 1571* 1682* 1759* j 000546 automatic fixed bin(26,0) dcl 234 set ref 749* 753 753* 753 757* 757 763* 763 764* 764 765 1138* 1142 1142 1229* 1252* 1253* 1253 1254 1255* 1262* 1262 1270* 1665* 1666 1667* 1745* 1746 1747 1861* junk 000547 automatic fixed bin(26,0) dcl 234 set ref 583* 596* 682* 702* 778* 990* 1039* 1049* 1084* 1111* 1160* 1215* 1242* 1243 1267* 1298* 1333* 1411* 1498* 1502* 1505* 1508* 1558* 1559 1855* k 000550 automatic fixed bin(26,0) dcl 234 set ref 952* 955 956 957 958 973 976* 1242* 1243 1243 labarg 000060 external static fixed bin(26,0) level 2 dcl 7-6 set ref 1307 1308* label_flag 001136 automatic bit(1) dcl 259 set ref 330* 336* 372 563 last_p2pcl 000562 automatic fixed bin(26,0) dcl 234 set ref 326* 570 lcl 000551 automatic fixed bin(26,0) dcl 234 set ref 955* 961 963 964* lcloc 000552 automatic fixed bin(26,0) dcl 234 set ref 745* 747 1177* 1183 1183 1183 1183 1215* 1219 1220 1236* 1237 1238 1380* 1394 1411* 1415 1416 1558* 1561 1561 lcr 000553 automatic fixed bin(26,0) dcl 234 set ref 956* 966 970 971* left based bit(18) level 2 in structure "word" packed packed unaligned dcl 120 in procedure "pass2_" set ref 1090* 1090* 1116* 1116* 1164* left based bit(18) array level 2 in structure "glpl_words" packed packed unaligned dcl 123 in procedure "pass2_" ref 300 301 305 306 310 323 324 372 505 510 682 682 720 736 747 753 763 764 955 963 970 1034 1044 1051 1092 1098 1118 1141 1146 1151 1165 1220 1232 1238 1253 1267 1310 1416 1512 1561 1604 1604 1696 1751 1764 1853 1920 1927 length based fixed bin(9,0) level 2 packed packed unsigned unaligned dcl 127 set ref 348 348 475 1424 1424 1435 1439 1455 1459 1519 1523 1536 1540 1545 1553 1559 1585 1589 1745 1746* 1747 1876 1876 link 000554 automatic fixed bin(26,0) dcl 234 set ref 606* 682* 682* 791* 798* 805* 812* 819* 825* 831* 1138* 1141* 1141 1143* 1178* 1183* 1185* 1215* link_not_found 000563 automatic bit(1) packed unaligned dcl 239 set ref 750* 752 760* litc 37 000010 external static fixed bin(26,0) level 2 dcl 1-7 set ref 302* litevl_$itbevl 000156 constant entry external dcl 145 ref 1059 litevl_$itsevl 000164 constant entry external dcl 145 ref 1067 litevl_$litasn 000166 constant entry external dcl 145 ref 1097 1142 litorg 36 000010 external static fixed bin(26,0) level 2 dcl 1-7 set ref 305* lnklst 50 000010 external static fixed bin(26,0) level 2 dcl 1-7 ref 749 lnkorg 000555 automatic fixed bin(26,0) dcl 234 set ref 301* long_int_based based fixed bin(71,0) packed unaligned dcl 118 ref 1469 lp 4 000012 external static fixed bin(26,0) level 2 dcl 2-6 set ref 1143* 1310* lpaswd 000556 automatic fixed bin(26,0) dcl 234 set ref 1142* 1146 1151 lpcall 000064 external static fixed bin(26,0) level 2 dcl 8-18 ref 306 lplit 000066 external static fixed bin(26,0) level 2 dcl 8-42 ref 302 305 1098 1146 1151 lpsect 000070 external static fixed bin(26,0) level 2 dcl 8-58 set ref 301 505 510 733* 736 1141 1310 lptext 000072 external static fixed bin(26,0) level 2 dcl 8-66 ref 299 lptv 000074 external static fixed bin(26,0) level 2 dcl 8-70 ref 300 lreter 77 000010 external static fixed bin(26,0) level 2 dcl 1-7 set ref 306* 1153* lstman_$blkasn 000246 constant entry external dcl 197 ref 682 682 1183 1183 1309 lstman_$calser 000264 constant entry external dcl 197 ref 1138 lstman_$eptasn 000256 constant entry external dcl 197 ref 641 1215 lstman_$lnkasn 000262 constant entry external dcl 197 ref 503 508 638 652 731 1183 1310 lstman_$namasn 000270 constant entry external dcl 197 ref 617 831 1179 1239 1309 1309 1309 1309 1381 lstman_$sdfasn 000266 constant entry external dcl 197 ref 1267 1411 lstman_$trpasn 000306 constant entry external dcl 197 ref 672 mcmpq 107 000012 external static fixed bin(26,0) level 2 dcl 2-6 set ref 1151* meabsp 121 000012 external static fixed bin(26,0) level 2 dcl 2-6 set ref 1367* meapap 122 000012 external static fixed bin(26,0) level 2 dcl 2-6 set ref 1098* 1102* 1120* 1143* 1308* meapbp 123 000012 external static fixed bin(26,0) level 2 dcl 2-6 set ref 1365* meaplp 124 000012 external static fixed bin(26,0) level 2 dcl 2-6 set ref 1604* 1604* merbit 44 000054 external static fixed bin(26,0) array level 2 dcl 5-67 set ref 1312* mexp_ 000216 constant entry external dcl 181 ref 348 mexp_$define_macro 000220 constant entry external dcl 181 ref 1876 mldaq 111 000012 external static fixed bin(26,0) level 2 dcl 2-6 set ref 1304* mldq 112 000012 external static fixed bin(26,0) level 2 dcl 2-6 set ref 1146* mnopdu 114 000012 external static fixed bin(26,0) level 2 dcl 2-6 ref 425 434 447 456 996 1072 mpc 66 000012 external static fixed bin(26,0) level 2 dcl 2-6 set ref 1604* 1604* mri 61 000012 external static fixed bin(26,0) level 2 dcl 2-6 set ref 1310* mrtbit 41 000054 external static fixed bin(26,0) array level 2 dcl 5-67 set ref 1320* mslbit 33 000054 external static fixed bin(26,0) array level 2 dcl 5-67 set ref 1370* mstpbp 127 000012 external static fixed bin(26,0) level 2 dcl 2-6 set ref 1366* mtnz 120 000012 external static fixed bin(26,0) level 2 dcl 2-6 set ref 1153* mtra 116 000012 external static fixed bin(26,0) level 2 dcl 2-6 set ref 1094* 1310* mxcall 1 000026 external static fixed bin(26,0) array level 2 dcl 5-18 set ref 1143* 1144* 1146* 1147* 1149* mxcbit 7 000054 external static fixed bin(26,0) array level 2 dcl 5-67 set ref 1145* 1148* 1149* mxclbk 1 000030 external static fixed bin(26,0) array level 2 dcl 5-22 set ref 1151* 1153* 1155* mxlbit 22 000054 external static fixed bin(26,0) array level 2 dcl 5-67 set ref 1152* 1154* 1155* mxsave 1 000032 external static fixed bin(26,0) array level 2 dcl 5-26 set ref 1368* mxsbit 31 000054 external static fixed bin(26,0) array level 2 dcl 5-67 set ref 1368* myblk 430 000010 external static fixed bin(26,0) level 2 dcl 1-7 set ref 503* 508* 638* 652* 731* mylnk 431 000010 external static fixed bin(26,0) level 2 dcl 1-7 set ref 641* 1178 n 000557 automatic fixed bin(26,0) dcl 234 set ref 480* 480* 482 857* 862* 867* 872* 876 880* 886* 890 894* 901* 907* 914* 918 922* 929* 935* 949* 952 979* 1463* 1464 1467* 1468 name 1 based varying char(24) array level 3 in structure "data1" dcl 11-8 in procedure "pass2_" ref 480 name 000560 automatic fixed bin(26,0) dcl 234 in procedure "pass2_" set ref 1179* 1215* 1239* 1267* 1381* 1411* nertls 000046 external static fixed bin(26,0) level 2 dcl 5-54 set ref 1300 1312* new_getbit 120 000054 external static fixed bin(26,0) array level 2 dcl 5-67 set ref 1613* new_getlp 1 000052 external static fixed bin(26,0) array level 2 dcl 5-62 set ref 1613* new_mrtbit 57 000054 external static fixed bin(26,0) array level 2 dcl 5-67 set ref 1317* new_mslbit 62 000054 external static fixed bin(26,0) array level 2 dcl 5-67 set ref 1361* new_ngetlp 000052 external static fixed bin(26,0) level 2 dcl 5-62 set ref 1613* new_nretls 000042 external static fixed bin(26,0) level 2 dcl 5-42 set ref 1317* new_nslbit 70 000054 external static fixed bin(26,0) array level 2 dcl 5-67 set ref 1090 1099* 1108* 1116 1127* new_nslcal 000024 external static fixed bin(26,0) level 2 dcl 5-14 set ref 1127* new_nslsav 000036 external static fixed bin(26,0) level 2 dcl 5-34 set ref 1340 1361* new_retlst 1 000042 external static fixed bin(26,0) array level 2 dcl 5-42 set ref 1317* new_slcall 1 000024 external static fixed bin(26,0) array level 2 dcl 5-14 set ref 1095* 1095* 1125* 1127* new_slsave 1 000036 external static fixed bin(26,0) array level 2 dcl 5-34 set ref 1360* 1360* 1361* nmxcal 000026 external static fixed bin(26,0) level 2 dcl 5-18 set ref 1149* nmxclb 000030 external static fixed bin(26,0) level 2 dcl 5-22 set ref 1155* no_target_given parameter bit(1) packed unaligned dcl 108 set ref 33 348* nobits 000561 automatic fixed bin(26,0) dcl 234 set ref 1636* 1639* nretls 000040 external static fixed bin(26,0) level 2 dcl 5-38 set ref 1320* nslbit 2 000054 external static fixed bin(26,0) array level 2 dcl 5-67 set ref 1090 1099* 1108* 1116 1128* 1145 1148 nslcal 000022 external static fixed bin(26,0) level 2 dcl 5-10 set ref 1128* nslsav 000034 external static fixed bin(26,0) level 2 dcl 5-30 set ref 1341 1370* num_of_decors 1 based fixed bin(17,0) level 2 dcl 11-18 ref 360 number 10 based fixed bin(35,0) array level 3 dcl 11-8 ref 482 octevl_$octevl_ 000300 constant entry external dcl 197 ref 914 929 1463 opcode_overlay based structure level 1 dcl 131 operand 000577 automatic varying char(32) dcl 243 set ref 475* 476 oplook_$oplook_ 000302 constant entry external dcl 197 ref 345 oplook_$redefine 000224 constant entry external dcl 181 ref 1874 oplook_$reset 000222 constant entry external dcl 181 ref 317 p2pcl 31 000010 external static fixed bin(26,0) level 2 dcl 1-7 set ref 314* 323 324 325 325 326 327* 327 570* path 000622 automatic varying char(256) dcl 243 set ref 1455* 1457* 1457 1459* 1459 1461 1477 1485* 1486* 1486 1488 pc 25 000010 external static fixed bin(26,0) level 2 dcl 1-7 set ref 284* 321 335* 398* 401* 413* 425* 434* 443 447* 452 456* 880* 890 890* 894* 907* 918 918* 922* 935* 979* 993 996* 1026* 1030 1054* 1072* 1076* 1127* 1128* 1149* 1155* 1167* 1254* 1267 1270* 1274* 1277* 1280* 1283* 1284* 1287* 1300* 1312* 1317* 1320* 1328* 1340* 1341* 1342* 1342 1361* 1368* 1370* 1512 1604* 1604 1604 1613* 1640* 1677* 1703* 1713* 1775* 1784 1838 1842* 1914 1918* pclst 30 000010 external static fixed bin(26,0) level 2 dcl 1-7 ref 314 prntb 13 000016 external static fixed bin(17,0) level 2 dcl 3-9 set ref 360* prnte 000016 external static fixed bin(17,0) level 2 dcl 3-9 set ref 941* 1652* 1656* 1658* 1682* 1691* 1734* 1740* 1759* prnter_$prnter_ 000172 constant entry external dcl 145 ref 402 1787 1835 prntf 1 000016 external static fixed bin(17,0) level 2 dcl 3-9 set ref 477* 524* 679* 1029* 1193* 1203* 1208* 1389* 1399* 1404* 1804* prnto 4 000016 external static fixed bin(17,0) level 2 dcl 3-9 set ref 345* 347 348* 349 355* 1325* prntp 5 000016 external static fixed bin(17,0) level 2 dcl 3-9 set ref 499* 1811* 1841* 1917* prntr 6 000016 external static fixed bin(17,0) level 2 dcl 3-9 set ref 991* 1023* 1203* 1205* 1244* 1339* 1399* 1401* 1500* 1503* 1506* 1509* 1653* 1657* 1736* prnts 7 000016 external static fixed bin(17,0) level 2 dcl 3-9 set ref 335* 682* 1033* 1818* prntu 11 000016 external static fixed bin(17,0) level 2 dcl 3-9 set ref 504* 509* 512* 1671* 1825* prwrd_$prwrd_ 000176 constant entry external dcl 145 ref 372 1034 1853 1920 1927 prwrd_$source_only 000170 constant entry external dcl 145 ref 375 384 1782 ptrarg 000326 automatic fixed bin(26,0) dcl 234 set ref 629* 648* 652* 652* 672* ptrcal 000327 automatic fixed bin(26,0) dcl 234 set ref 628* 630* 638* 638* 641* 641* 672* putout_$putlst 000200 constant entry external dcl 145 ref 880 894 907 922 935 979 1076 1127 1128 1149 1155 1167 1254 1270 1274 1277 1280 1283 1284 1287 1312 1317 1320 1328 1361 1368 1370 1613 putout_$putwrd 000174 constant entry external dcl 145 ref 425 434 447 456 890 918 996 1054 1072 1604 1640 1677 1703 1713 1775 retlst 1 000040 external static fixed bin(26,0) array level 2 dcl 5-38 set ref 1320* right 0(18) based bit(18) level 2 in structure "word" packed packed unaligned dcl 120 in procedure "pass2_" ref 1090 1116 1164 right 0(18) based bit(18) array level 2 in structure "glpl_words" packed packed unaligned dcl 123 in procedure "pass2_" set ref 311 327 753 757 765* 956 1142 1142 1183 1183 1183 1183 1233 1265 1394 rleft 000112 automatic fixed bin(26,0) dcl 234 set ref 959* 964* 976* 1043* 1054* 1054* 1088* 1090 1114* 1116 1163* 1164 1639* 1640* 1694* 1697* 1698* 1698 1703* 1712* 1713* 1762* 1768* 1773* 1773 1775* rright 000113 automatic fixed bin(26,0) dcl 234 set ref 960* 971* 976* 1046* 1050* 1054* 1054* rrslts 000334 automatic fixed bin(26,0) array dcl 234 set ref 296* 878* 880* 892* 893* 894* 905* 906* 907* 920* 921* 922* 933* 934* 935* 946* 976* 979* 1059* 1067* 1076* rslts 000114 automatic fixed bin(26,0) array dcl 234 set ref 857* 862* 867* 872* 880* 886* 894* 901* 907* 914* 922* 929* 935* 949* 957* 958* 973* 979* 1059* 1067* 1076* 1463* 1465 1467* 1468 1469 1717* 1722* 1729* 1731* 1743 1743 seg_ptr 000220 automatic pointer dcl 1473 set ref 1476* 1479* 1480* 1482* 1484* short_mrtbit 102 000054 external static fixed bin(26,0) array level 2 dcl 5-67 set ref 1328* short_nretls 000044 external static fixed bin(26,0) level 2 dcl 5-46 set ref 1328* short_nslbit 112 000054 external static fixed bin(26,0) array level 2 dcl 5-67 set ref 1164 1167* short_nslcal 000050 external static fixed bin(26,0) level 2 dcl 5-58 set ref 1167* short_retlst 1 000044 external static fixed bin(26,0) array level 2 dcl 5-46 set ref 1328* short_slcall 1 000050 external static fixed bin(26,0) array level 2 dcl 5-58 set ref 1166* 1166* 1167* sixsev 46 000012 external static fixed bin(26,0) level 2 dcl 2-6 set ref 958* slcall 1 000022 external static fixed bin(26,0) array level 2 dcl 5-10 set ref 1125* 1126* 1128* slsave 1 000034 external static fixed bin(26,0) array level 2 dcl 5-30 set ref 1365* 1366* 1367* 1370* sp 6 000012 external static fixed bin(26,0) level 2 dcl 2-6 set ref 1307* 1308* spc 26 000010 external static fixed bin(26,0) level 2 dcl 1-7 set ref 321* 372 425 434 1026 1031 1072 1138* 1300 1340 1341 1751 1853 1920 1927 st_length 001126 automatic fixed bin(26,0) dcl 243 set ref 1502* 1512* st_line 001127 automatic fixed bin(26,0) dcl 243 set ref 1505* 1512* st_num 001130 automatic fixed bin(26,0) dcl 243 set ref 1508* 1511* 1512* st_offset 001125 automatic fixed bin(26,0) dcl 243 set ref 1498* 1512* stkc 43 000010 external static fixed bin(26,0) level 2 dcl 1-7 set ref 309 310* 313* 313 1232* 1234 1351 stkclst 000566 automatic fixed bin(26,0) dcl 242 set ref 309* 310 311* 311 1232 1233* 1233 sym 4 000010 external static fixed bin(26,0) array level 2 dcl 1-7 set ref 335* 348 348 348 401* 475 475 522 523 583* 588 596* 617* 745* 789 789 794 794 801 801 808 808 815 815 822 822 831* 1177* 1179* 1236* 1239* 1251 1252* 1260 1261 1261 1261 1380* 1381* 1424 1424 1424 1435 1435 1439 1439 1455 1455 1459 1459 1519 1519 1523 1523 1536 1536 1540 1540 1545 1545 1553 1553 1558* 1559 1559 1585 1585 1589 1589 1666 1717 1722 1725 1729 1731 1743* 1743* 1745 1746 1747 1747 1876 1876 1876 symbas 50 000012 external static fixed bin(26,0) array level 2 dcl 2-6 ref 588 1725 symlnk 000331 automatic fixed bin(26,0) dcl 234 set ref 695* 699 702* 707* 711 716* 725* 729 733* 771* 775 778* 1017* 1033 1033* system_type_ 000226 constant entry external dcl 181 ref 476 table_$table_ 000304 constant entry external dcl 197 ref 335 401 583 596 682 702 716 733 745 778 1033 1177 1236 1252 1380 1558 target_value parameter fixed bin(17,0) dcl 107 set ref 33 348* tbss 000537 automatic fixed bin(26,0) dcl 234 set ref 1004* 1012* 1031 tderr 000536 automatic fixed bin(26,0) dcl 234 set ref 622* 631* 649* 665* 671 676 1189* 1193 1385* 1389 temp_ptr 000572 automatic pointer dcl 243 set ref 1861* 1862 terminate_file_ 000230 constant entry external dcl 181 ref 1479 1484 termination_conditions 000564 automatic bit(7) packed unaligned dcl 240 set ref 1662* 1667* 1674 tfatal 75 000010 external static fixed bin(26,0) level 2 dcl 1-7 set ref 490* tfirstreftrap 5 000076 external static fixed bin(17,0) level 2 dcl 10-6 ref 499 tinhib 64 000010 external static fixed bin(26,0) level 2 dcl 1-7 set ref 528 528* 532* 536* 542* 1675 1676* 1678* tlc 000540 automatic fixed bin(26,0) dcl 234 set ref 324* 1784 1832 tmacl 000576 automatic bit(2) dcl 243 set ref 1882* 1884* 1886* 1896 1901 tmvdef 73 000010 external static fixed bin(26,0) level 2 dcl 1-7 set ref 1188* 1384* tnewcall 000076 external static fixed bin(17,0) level 2 dcl 10-6 ref 1127 1317 1325 1340 1356 tnewobject 2 000076 external static fixed bin(17,0) level 2 dcl 10-6 ref 1183 tpc 27 000010 external static fixed bin(26,0) level 2 dcl 1-7 set ref 323* 1784 1838 1842 1914 1918 tprot 71 000010 external static fixed bin(26,0) level 2 dcl 1-7 ref 637 1183 1342 1356 1368 translator_info_$component_get_source_info 000232 constant entry external dcl 181 ref 1482 traout 000535 automatic fixed bin(26,0) dcl 234 set ref 1094* 1126 1147 trplnk 000330 automatic fixed bin(26,0) dcl 234 set ref 623* 672* 682* 682* 1186* 1215* 1382* 1411* trprtn 001132 automatic label variable local dcl 257 set ref 619* 666 671 673 1190* 1386* tstsw 22 000016 external static fixed bin(17,0) array level 2 dcl 3-9 ref 1122 tvorg 33 000010 external static fixed bin(26,0) level 2 dcl 1-7 set ref 300* type 000324 automatic fixed bin(26,0) dcl 234 set ref 609* 682* 682* 790* 797* 804* 811* 818* 824* 828* 886* 901* 1467* 1622* 1627* 1632* 1639* unique_id 000617 automatic bit(36) dcl 243 set ref 1451* 1465* 1482* 1488* utils_$abort 000162 constant entry external dcl 145 ref 403 1788 1836 utils_$and 000274 constant entry external dcl 197 ref 958 utils_$exadrs 000260 constant entry external dcl 197 ref 606 utils_$makins 000276 constant entry external dcl 197 ref 1094 1095 1098 1102 1120 1143 1146 1151 1153 1166 1304 1307 1308 1310 1360 1365 1366 1367 1604 1604 1677 1677 1701 1775 1775 utils_$rs 000272 constant entry external dcl 197 ref 957 utils_$upkflg 000160 constant entry external dcl 145 ref 325 value 000317 automatic fixed bin(26,0) dcl 234 set ref 328* 408* 413 502* 503* 503* 504 507* 508* 508* 509 583* 590* 600* 606* 700* 702* 712* 716* 720* 720 730* 731* 731* 733* 736* 736 745* 747 748* 756 776* 778* 990* 993 1021* 1026 1030* 1031* 1033* 1034 1084* 1092* 1092 1094* 1095* 1097* 1098 1111* 1118* 1118 1120* 1160* 1165* 1165 1166* 1177* 1215* 1220* 1220 1236* 1238* 1238 1287 1298* 1304 1333* 1337 1346* 1346 1351* 1359* 1359 1360* 1365* 1366 1367 1380* 1411* 1416* 1416 1558* 1561* 1561 1562 1571* 1575 1576* 1682* 1696* 1696 1701* 1759* 1764* 1764 1775* 1775* 1849* 1851 1852 1853* 1920* var_name 000723 automatic varying char(256) dcl 243 set ref 1435* 1437* 1437 1439* 1439 1441 1442 1519* 1521* 1521 1523* 1523 1525 1526 1536* 1538* 1538 1540* 1540 1542 1576 1578 1585* 1587* 1587 1589* 1589 1591 1592 var_type 001024 automatic varying char(256) dcl 243 set ref 1545* 1550* 1550 1553* 1553 1559* 1559 1562* 1562 1566 1576 1578 varevl_$varevl_ 000310 constant entry external dcl 197 ref 408 502 507 600 630 648 700 712 730 748 776 1021 1039 1049 1084 1111 1160 1242 1298 1333 1498 1502 1505 1508 1571 1573 1682 1759 1849 vfdevl_$vfdevl_ 000312 constant entry external dcl 197 ref 949 word based structure level 1 dcl 120 xnlnk 000325 automatic fixed bin(26,0) dcl 234 set ref 617* 682 682 682* 682* zleft 000332 automatic fixed bin(26,0) dcl 234 set ref 957* 963* 963 973* 1039* 1044* 1044 1054* 1054* 1652* 1674* 1674 1677* 1677* zright 000333 automatic fixed bin(26,0) dcl 234 set ref 958* 970* 970 973* 1046* 1049* 1051* 1051 1054* 1054* 1656* 1658 1658 1660* 1677* 1677* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. alm_include_file_$pop 000000 constant entry external dcl 181 blklnk automatic fixed bin(26,0) dcl 234 eb_data_$anl external static fixed bin(26,0) dcl 264 eb_data_$lccom external static structure level 1 unaligned dcl 8-22 eb_data_$lcdefs external static structure level 1 unaligned dcl 8-30 eb_data_$lcentries external static structure level 1 unaligned dcl 8-34 eb_data_$lchead external static structure level 1 unaligned dcl 8-38 eb_data_$lcrlk external static structure level 1 unaligned dcl 8-46 eb_data_$lcrst external static structure level 1 unaligned dcl 8-50 eb_data_$lcrtx external static structure level 1 unaligned dcl 8-54 eb_data_$lcst external static structure level 1 unaligned dcl 8-62 eb_data_$mxpro external static structure level 1 unaligned dcl 5-6 eb_data_$new_entlst external static structure level 1 unaligned dcl 5-50 glpl_$slwrd 000000 constant entry external dcl 145 glpl_$storl 000000 constant entry external dcl 145 ik automatic fixed bin(26,0) dcl 234 iloc automatic fixed bin(26,0) dcl 234 inputs_$nxtnb 000000 constant entry external dcl 145 lstman_$outasn 000000 constant entry external dcl 197 new_sthedr_$alm_creation_date external static fixed bin(71,0) dcl 9-33 new_sthedr_$alm_version_name external static char(32) dcl 9-35 new_sthedr_$block_size external static structure level 1 dcl 9-49 new_sthedr_$comment external static char(64) dcl 9-39 new_sthedr_$hdrlen external static fixed bin(26,0) dcl 9-67 new_sthedr_$new_sthedr_ external static fixed bin(17,0) dcl 9-31 new_sthedr_$rel_bits_ptrs external static structure level 1 dcl 9-53 new_sthedr_$relocinfo external static fixed bin(17,0) dcl 9-69 new_sthedr_$source_and_area external static structure level 1 dcl 9-45 new_sthedr_$text_and_link_boundaries external static structure level 1 dcl 9-41 new_sthedr_$time_of_translation external static fixed bin(71,0) dcl 9-33 new_sthedr_$truncate_info external static structure level 1 dcl 9-61 new_sthedr_$user_id external static char(32) dcl 9-37 nowrds automatic fixed bin(26,0) dcl 234 option automatic fixed bin(26,0) dcl 234 sthedr_$alm_creation_date external static fixed bin(71,0) dcl 9-19 sthedr_$hdrlen external static fixed bin(26,0) dcl 9-27 sthedr_$seg_name external static char(32) dcl 9-21 sthedr_$sthedr_ external static fixed bin(17,0) dcl 9-17 sthedr_$text_and_link_lengths external static structure level 1 dcl 9-23 sthedr_$time_of_translation external static fixed bin(71,0) dcl 9-19 vfdevl_$vfdcnt 000000 constant entry external dcl 197 NAMES DECLARED BY EXPLICIT CONTEXT. desc_common 012662 constant label dcl 1636 ref 1625 1630 end_maclist 014326 constant label dcl 1903 ref 1890 get_index 013442 constant label dcl 1734 ref 1727 got_index 013473 constant label dcl 1738 ref 1725 label_100 000242 constant label dcl 284 label_1000 002362 constant label dcl 695 label_110 000244 constant label dcl 296 label_1100 002453 constant label dcl 707 label_1200 002560 constant label dcl 725 label_1250 003067 constant label dcl 771 label_1300 003160 constant label dcl 783 label_1310 003210 constant label dcl 794 ref 789 label_1320 003224 constant label dcl 801 ref 794 label_1330 003240 constant label dcl 808 ref 801 label_1340 003254 constant label dcl 815 ref 808 label_1350 003267 constant label dcl 822 ref 815 label_1360 003303 constant label dcl 828 ref 822 label_1400 003316 constant label dcl 836 label_1500 003316 constant label dcl 836 label_1505 003317 constant label dcl 845 label_1600 003320 constant label dcl 857 label_1700 003331 constant label dcl 862 label_1710 003363 constant label dcl 876 ref 860 865 870 label_1800 003420 constant label dcl 886 ref 895 label_1801 003514 constant label dcl 901 ref 908 label_1900 003560 constant label dcl 914 ref 923 label_1901 003652 constant label dcl 929 ref 936 label_200 000376 constant label dcl 321 ref 350 1797 1856 1868 1877 1906 label_2000 003714 constant label dcl 941 label_2001 003715 constant label dcl 946 label_2003 004052 constant label dcl 966 ref 961 label_2005 004100 constant label dcl 973 ref 966 label_2010 003743 constant label dcl 952 label_2015 004132 constant label dcl 979 ref 950 label_2020 004154 constant label dcl 986 label_2025 004204 constant label dcl 993 ref 997 label_2100 004233 constant label dcl 1004 label_220 000452 constant label dcl 331 ref 337 387 label_2200 004235 constant label dcl 1012 label_2210 004237 constant label dcl 1017 ref 1008 label_2220 004306 constant label dcl 1026 ref 1022 label_2350 004405 constant label dcl 1039 label_2400 004602 constant label dcl 1059 label_2450 004613 constant label dcl 1067 label_2455 004623 constant label dcl 1072 ref 1063 label_2500 004675 constant label dcl 1084 label_2505 005105 constant label dcl 1102 label_2510 005145 constant label dcl 1111 ref 1096 label_2520 005243 constant label dcl 1122 ref 1100 1109 label_2550 005324 constant label dcl 1138 ref 1122 label_2600 005751 constant label dcl 1172 ref 1218 label_2610 006121 constant label dcl 1193 ref 1190 label_2620 006127 constant label dcl 1198 ref 1187 label_2630 006206 constant label dcl 1211 ref 1207 label_2640 006212 constant label dcl 1215 ref 1201 1209 label_2641 006252 constant label dcl 1225 label_2642 006546 constant label dcl 1265 set ref 1240 1245 1248 1257 label_2700 007047 constant label dcl 1293 label_2710 007113 constant label dcl 1304 ref 1299 label_2720 007371 constant label dcl 1317 ref 1297 label_2800 007471 constant label dcl 1333 label_2805 007545 constant label dcl 1346 ref 1338 label_2810 007553 constant label dcl 1351 ref 1337 label_2820 007562 constant label dcl 1356 ref 1349 label_2900 010022 constant label dcl 1375 ref 1414 label_2910 010106 constant label dcl 1389 ref 1386 label_2920 010115 constant label dcl 1394 ref 1383 label_2930 010200 constant label dcl 1407 ref 1403 label_2940 010204 constant label dcl 1411 ref 1397 1405 label_2950 011210 constant label dcl 1488 ref 1478 1481 1483 label_2970 012535 constant label dcl 1604 label_300 000524 constant label dcl 341 ref 334 label_3000 013544 constant label dcl 1759 label_3008 013624 constant label dcl 1775 ref 1763 label_301 000533 constant label dcl 345 ref 341 1749 label_3010 013665 constant label dcl 1782 ref 401 418 430 439 443 452 836 845 881 896 909 924 937 982 993 1035 1055 1077 1288 1609 1754 label_3015 013672 constant label dcl 1784 ref 1641 1679 1704 1714 1778 1930 label_3040 013722 constant label dcl 1794 ref 571 1784 1838 1843 1923 label_305 000630 constant label dcl 358 ref 352 label_3100 013730 constant label dcl 1804 ref 383 395 699 711 729 744 746 775 787 1020 1176 1228 1379 1441 1461 1464 1466 1501 1504 1525 1542 1566 1575 1591 1862 1873 1888 1896 label_3110 013735 constant label dcl 1811 ref 408 1021 label_3120 013742 constant label dcl 1818 ref 502 507 600 700 702 712 716 730 733 748 776 778 1024 1571 1573 1846 1849 1851 1858 label_3130 013747 constant label dcl 1825 ref 597 745 1177 1236 1252 1261 1380 label_3140 013754 constant label dcl 1832 ref 1129 1156 1168 1313 1321 1329 1362 1371 1425 1430 1443 1448 1490 1495 1514 1527 1532 1579 1593 1598 1616 label_3150 014000 constant label dcl 1838 ref 1832 label_3200 014335 constant label dcl 1914 ref 349 356 414 703 717 721 737 767 779 1219 1221 1237 1415 1417 1807 1814 1821 1828 label_3210 014347 constant label dcl 1920 ref 1914 label_3300 014371 constant label dcl 1927 ref 412 461 485 493 513 525 533 539 545 549 556 603 691 701 777 1301 1344 1850 1903 label_450 000652 constant label dcl 372 label_500 000734 constant label dcl 391 label_525 001025 constant label dcl 408 label_550 001062 constant label dcl 418 label_600 001063 constant label dcl 425 label_630 001113 constant label dcl 434 label_660 001143 constant label dcl 443 ref 448 label_680 001172 constant label dcl 452 ref 457 label_755 001221 constant label dcl 461 label_760 001551 constant label dcl 517 label_765 001572 constant label dcl 528 ref 521 label_770 001603 constant label dcl 536 ref 522 label_775 001606 constant label dcl 542 ref 523 label_820 001610 constant label dcl 549 label_850 001611 constant label dcl 556 ref 563 label_870 001612 constant label dcl 563 ref 343 344 label_900 001633 constant label dcl 578 label_905 001666 constant label dcl 585 label_905a 001706 constant label dcl 593 ref 588 label_910 001736 constant label dcl 600 ref 582 label_915 001765 constant label dcl 606 ref 583 591 596 label_920 002007 constant label dcl 614 ref 688 792 799 806 813 820 826 832 label_930 002026 constant label dcl 619 label_933 002033 constant label dcl 625 ref 1191 1387 label_935 002072 constant label dcl 634 ref 630 label_940 002120 constant label dcl 641 ref 637 label_945 002146 constant label dcl 645 ref 632 634 639 label_950 002203 constant label dcl 652 ref 648 label_955 002225 constant label dcl 657 ref 650 label_960 002236 constant label dcl 662 ref 645 label_965 002246 constant label dcl 668 ref 662 label_970 002271 constant label dcl 676 ref 619 625 label_975 002300 constant label dcl 682 ref 676 label_980 002354 constant label dcl 688 ref 680 label_ac4 003353 constant label dcl 872 label_bci 003342 constant label dcl 867 label_decor 001222 constant label dcl 471 label_dup 014013 constant label dcl 1846 label_dupend 014120 constant label dcl 1858 label_eis_desca 012652 constant label dcl 1622 label_eis_descb 012655 constant label dcl 1627 label_eis_descn 012660 constant label dcl 1632 label_eis_multiple 013342 constant label dcl 1706 label_eis_single 013204 constant label dcl 1682 label_entrybound 013533 constant label dcl 1751 label_error 001351 constant label dcl 490 label_firstref 001355 constant label dcl 499 label_get_base 013402 constant label dcl 1717 label_get_index 013431 constant label dcl 1729 label_getlp 012627 constant label dcl 1613 label_include 000706 constant label dcl 380 label_maclist 014245 constant label dcl 1879 label_macro 014203 constant label dcl 1870 label_repeat 012730 constant label dcl 1644 label_short_call 005630 constant label dcl 1160 label_short_return 007441 constant label dcl 1325 label_vector 000000 constant label array(0:79) dcl 372 ref 363 pass2_ 000227 constant entry external dcl 33 rpt_out 013107 constant label dcl 1672 ref 1668 NAMES DECLARED BY CONTEXT OR IMPLICATION. addr builtin function ref 11-23 11-24 348 348 348 358 475 475 1090 1090 1090 1116 1116 1116 1164 1164 1424 1424 1424 1435 1435 1437 1439 1439 1455 1455 1457 1459 1459 1469 1519 1519 1521 1523 1523 1536 1536 1538 1540 1540 1545 1545 1550 1553 1553 1559 1559 1585 1585 1587 1589 1589 1636 1638 1674 1702 1706 1745 1746 1747 1747 1865 1865 1876 1876 1876 bin builtin function ref 1229 1255 1262 1274 1277 1277 1280 1280 1287 bit builtin function ref 765 char builtin function ref 1562 divide builtin function ref 313 1273 1346 1359 fixed builtin function ref 300 301 305 306 310 311 323 324 327 358 372 505 510 682 682 720 736 747 753 753 757 763 764 765 955 956 963 970 1034 1044 1051 1092 1098 1118 1141 1142 1142 1146 1151 1165 1183 1183 1183 1183 1220 1232 1233 1238 1253 1265 1265 1267 1310 1394 1416 1512 1561 1604 1604 1636 1638 1674 1696 1706 1751 1764 1853 1920 1927 hbound builtin function ref 480 ltrim builtin function ref 1562 mod builtin function ref 425 434 443 452 890 918 993 1072 null builtin function ref 243 1476 1846 1858 1867 rtrim builtin function ref 480 1485 1485 substr builtin function set ref 1667 1747* 1747 1889 1901* unspec builtin function ref 1465 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 16162 16556 14627 16172 Length 20044 14627 374 1252 1332 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME pass2_ 702 external procedure is an external procedure. on unit on line 303 64 on unit begin block on line 1471 211 begin block enables or reverts conditions. on unit on line 1479 86 on unit STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME begin block on line 1471 000100 dirname begin block on line 1471 000200 entryname begin block on line 1471 000210 compname begin block on line 1471 000220 seg_ptr begin block on line 1471 000222 code begin block on line 1471 pass2_ 000100 data1_ptr pass2_ 000102 data2_ptr pass2_ 000112 rleft pass2_ 000113 rright pass2_ 000114 rslts pass2_ 000314 binop pass2_ 000315 flags pass2_ 000316 basno pass2_ 000317 value pass2_ 000320 b29 pass2_ 000321 admod pass2_ 000322 class pass2_ 000323 instruction_class pass2_ 000324 type pass2_ 000325 xnlnk pass2_ 000326 ptrarg pass2_ 000327 ptrcal pass2_ 000330 trplnk pass2_ 000331 symlnk pass2_ 000332 zleft pass2_ 000333 zright pass2_ 000334 rrslts pass2_ 000534 argout pass2_ 000535 traout pass2_ 000536 tderr pass2_ 000537 tbss pass2_ 000540 tlc pass2_ 000541 i pass2_ 000542 iaddr pass2_ 000543 irtblk pass2_ 000544 itemp pass2_ 000545 itype pass2_ 000546 j pass2_ 000547 junk pass2_ 000550 k pass2_ 000551 lcl pass2_ 000552 lcloc pass2_ 000553 lcr pass2_ 000554 link pass2_ 000555 lnkorg pass2_ 000556 lpaswd pass2_ 000557 n pass2_ 000560 name pass2_ 000561 nobits pass2_ 000562 last_p2pcl pass2_ 000563 link_not_found pass2_ 000564 termination_conditions pass2_ 000565 full_word_temp pass2_ 000566 stkclst pass2_ 000570 dup_ptr pass2_ 000572 temp_ptr pass2_ 000574 dup_count pass2_ 000575 dup_start pass2_ 000576 tmacl pass2_ 000577 operand pass2_ 000610 canonical_operand pass2_ 000616 code pass2_ 000617 unique_id pass2_ 000620 dtcm pass2_ 000622 path pass2_ 000723 var_name pass2_ 001024 var_type pass2_ 001125 st_offset pass2_ 001126 st_length pass2_ 001127 st_line pass2_ 001130 st_num pass2_ 001132 trprtn pass2_ 001136 label_flag pass2_ 001137 end_statement_flag pass2_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_g_a r_ne_as alloc_char_temp cat_realloc_chars enter_begin_block leave_begin_block call_ext_out_desc call_ext_out return_mac tra_ext_1 mdfx1 enable_op shorten_stack ext_entry int_entry divide_fx1 THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. alm_eis_parse_$descriptor alm_eis_parse_$instruction alm_include_file_$insert alm_include_file_$pass2 alm_symtab_$block alm_symtab_$cleanup alm_symtab_$end_block alm_symtab_$end_enum alm_symtab_$end_source alm_symtab_$end_structure alm_symtab_$end_union alm_symtab_$enum alm_symtab_$initialize alm_symtab_$source alm_symtab_$statement alm_symtab_$structure alm_symtab_$symbol alm_symtab_$union ascevl_$ac4evl ascevl_$accevl ascevl_$acievl ascevl_$bcdevl decevl_$decevl_ expand_pathname_$component expevl_$expevl_ getbit_$getbit_ getid_$getid_ getid_$getnam getid_$setid glpl_$cwrd glpl_$glwrd glpl_$storr initiate_file_$component inputs_$get_ptr inputs_$next inputs_$next_statement inputs_$next_statement_nolist litevl_$itbevl litevl_$itsevl litevl_$litasn lstman_$blkasn lstman_$calser lstman_$eptasn lstman_$lnkasn lstman_$namasn lstman_$sdfasn lstman_$trpasn mexp_ mexp_$define_macro octevl_$octevl_ oplook_$oplook_ oplook_$redefine oplook_$reset prnter_$prnter_ prwrd_$prwrd_ prwrd_$source_only putout_$putlst putout_$putwrd system_type_ table_$table_ terminate_file_ translator_info_$component_get_source_info utils_$abort utils_$and utils_$exadrs utils_$makins utils_$rs utils_$upkflg varevl_$varevl_ vfdevl_$vfdevl_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. alm_data1$structure alm_data2$structure eb_data_$aheap eb_data_$alink eb_data_$alm_options eb_data_$astat eb_data_$asym eb_data_$asys eb_data_$atext eb_data_$codtab eb_data_$concom eb_data_$curlc eb_data_$entry_bound eb_data_$erflgs eb_data_$erflgs_overlay eb_data_$ertlst eb_data_$ib6 eb_data_$iobject eb_data_$ioff eb_data_$ion eb_data_$irestore eb_data_$isave eb_data_$labarg eb_data_$lavptr eb_data_$lccall eb_data_$lclit eb_data_$lcsect eb_data_$lctext eb_data_$lctv eb_data_$macro_depth eb_data_$macro_listing_control eb_data_$mstaq eb_data_$mx7 eb_data_$mxcall eb_data_$mxclbk eb_data_$mxsave eb_data_$new_getlp eb_data_$new_retlst eb_data_$new_slcall eb_data_$new_slsave eb_data_$nmxsav eb_data_$relbit eb_data_$relocn eb_data_$retlst eb_data_$rpt_terminators eb_data_$short_retlst eb_data_$short_slcall eb_data_$slcall eb_data_$slsave eb_data_$tsym eb_data_$unwind eb_data_$varcom LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 33 000222 243 000234 11 23 000236 11 24 000240 284 000242 296 000244 299 000254 300 000257 301 000266 302 000272 303 000305 304 000326 305 000333 306 000343 309 000347 310 000351 311 000354 313 000360 314 000365 315 000367 316 000371 317 000372 321 000376 323 000402 324 000407 325 000414 326 000440 327 000444 328 000450 330 000451 331 000452 333 000456 334 000462 335 000467 336 000521 337 000523 341 000524 343 000526 344 000531 345 000533 347 000547 348 000553 349 000612 350 000616 352 000617 355 000625 356 000627 358 000630 360 000633 363 000650 372 000652 375 000701 376 000705 380 000706 383 000712 384 000715 385 000721 386 000726 387 000733 391 000734 395 000740 398 000743 401 000757 402 001004 403 001020 408 001025 412 001053 413 001055 414 001061 418 001062 425 001063 430 001112 434 001113 439 001142 443 001143 447 001151 448 001171 452 001172 456 001200 457 001220 461 001221 471 001222 475 001226 476 001241 477 001276 480 001306 481 001341 482 001343 485 001350 490 001351 493 001354 499 001355 502 001364 503 001411 504 001433 505 001443 506 001451 507 001455 508 001502 509 001524 510 001534 511 001542 512 001543 513 001550 517 001551 521 001555 522 001560 523 001564 524 001566 525 001571 528 001572 532 001600 533 001602 536 001603 539 001605 542 001606 545 001607 549 001610 556 001611 563 001612 567 001614 568 001621 569 001624 570 001626 571 001632 578 001633 582 001637 583 001642 585 001666 588 001673 590 001702 591 001705 593 001706 596 001710 597 001735 600 001736 603 001763 606 001765 609 002001 610 002003 614 002007 617 002014 619 002026 622 002031 623 002032 625 002033 628 002040 629 002041 630 002042 631 002067 632 002071 634 002072 637 002074 638 002101 639 002117 641 002120 645 002146 648 002153 649 002200 650 002202 652 002203 657 002225 662 002236 665 002243 666 002245 668 002246 671 002252 672 002255 673 002270 676 002271 679 002273 680 002277 682 002300 688 002354 691 002361 695 002362 699 002370 700 002377 701 002424 702 002426 703 002452 707 002453 711 002461 712 002470 713 002515 714 002521 716 002525 717 002547 720 002551 721 002557 725 002560 729 002566 730 002575 731 002622 733 002644 736 002670 737 002677 741 002700 744 002704 745 002707 746 002733 747 002740 748 002747 749 002774 750 003000 751 003002 752 003004 753 003006 756 003021 757 003032 758 003035 759 003036 760 003037 762 003040 763 003041 764 003050 765 003053 767 003066 771 003067 775 003075 776 003104 777 003131 778 003133 779 003157 783 003160 787 003164 788 003171 789 003174 790 003204 791 003206 792 003207 794 003210 797 003217 798 003221 799 003223 801 003224 804 003233 805 003235 806 003237 808 003240 811 003247 812 003251 813 003253 815 003254 818 003263 819 003265 820 003266 822 003267 824 003276 825 003300 826 003302 828 003303 831 003305 832 003315 836 003316 845 003317 857 003320 860 003330 862 003331 865 003341 867 003342 870 003352 872 003353 876 003363 878 003373 879 003374 880 003376 881 003417 886 003420 890 003433 892 003463 893 003464 894 003465 895 003506 896 003513 901 003514 905 003527 906 003530 907 003531 908 003552 909 003557 914 003560 918 003571 920 003621 921 003622 922 003623 923 003644 924 003651 929 003652 933 003663 934 003664 935 003665 936 003706 937 003713 941 003714 946 003715 949 003726 950 003741 952 003743 955 003753 956 003763 957 003770 958 004005 959 004022 960 004023 961 004024 963 004026 964 004034 966 004052 970 004054 971 004062 973 004100 976 004114 977 004130 979 004132 982 004153 986 004154 990 004160 991 004176 993 004204 996 004212 997 004232 1004 004233 1008 004234 1012 004235 1017 004237 1020 004245 1021 004252 1022 004277 1023 004301 1024 004305 1026 004306 1029 004313 1030 004320 1031 004322 1033 004327 1034 004360 1035 004404 1039 004405 1043 004430 1044 004445 1046 004455 1047 004457 1049 004464 1050 004507 1051 004524 1054 004534 1055 004601 1059 004602 1063 004612 1067 004613 1072 004623 1076 004651 1077 004674 1084 004675 1088 004720 1090 004735 1092 004743 1094 004752 1095 004773 1096 005015 1097 005022 1098 005042 1099 005076 1100 005104 1102 005105 1108 005136 1109 005144 1111 005145 1114 005170 1116 005205 1118 005213 1120 005222 1122 005243 1125 005247 1126 005254 1127 005256 1128 005302 1129 005323 1138 005324 1141 005337 1142 005346 1143 005372 1144 005420 1145 005424 1146 005427 1147 005462 1148 005466 1149 005471 1151 005511 1152 005546 1153 005553 1154 005601 1155 005606 1156 005627 1160 005630 1163 005653 1164 005670 1165 005675 1166 005704 1167 005725 1168 005750 1172 005751 1176 005756 1177 005761 1178 006005 1179 006011 1183 006021 1185 006102 1186 006103 1187 006104 1188 006111 1189 006114 1190 006115 1191 006120 1193 006121 1198 006127 1201 006131 1202 006136 1203 006142 1205 006167 1207 006175 1208 006202 1209 006205 1211 006206 1215 006212 1218 006235 1219 006242 1220 006244 1221 006251 1225 006252 1228 006256 1229 006261 1232 006263 1233 006271 1234 006274 1236 006276 1237 006321 1238 006323 1239 006331 1240 006342 1242 006347 1243 006372 1244 006377 1245 006405 1246 006412 1248 006416 1249 006423 1251 006427 1252 006433 1253 006456 1254 006466 1255 006515 1257 006517 1258 006524 1260 006530 1261 006534 1262 006544 1265 006546 1267 006555 1270 006610 1273 006634 1274 006641 1277 006670 1280 006716 1283 006744 1284 006771 1287 007016 1288 007046 1293 007047 1297 007053 1298 007060 1299 007103 1300 007105 1301 007112 1304 007113 1307 007144 1308 007175 1309 007223 1310 007267 1312 007345 1313 007370 1317 007371 1320 007416 1321 007440 1325 007441 1328 007446 1329 007470 1333 007471 1337 007514 1338 007516 1339 007520 1340 007524 1341 007533 1342 007537 1344 007544 1346 007545 1349 007552 1351 007553 1354 007557 1356 007562 1359 007570 1360 007575 1361 007616 1362 007641 1365 007642 1366 007667 1367 007720 1368 007750 1370 007776 1371 010021 1375 010022 1379 010027 1380 010032 1381 010056 1382 010070 1383 010071 1384 010076 1385 010101 1386 010102 1387 010105 1389 010106 1394 010115 1397 010124 1398 010130 1399 010134 1401 010161 1403 010167 1404 010174 1405 010177 1407 010200 1411 010204 1414 010225 1415 010232 1416 010234 1417 010241 1421 010242 1423 010246 1424 010262 1425 010302 1428 010303 1430 010307 1433 010310 1435 010314 1436 010327 1437 010341 1438 010351 1439 010355 1440 010374 1441 010375 1442 010402 1443 010422 1446 010424 1448 010430 1451 010431 1453 010432 1454 010434 1455 010440 1456 010453 1457 010465 1458 010475 1459 010501 1460 010520 1461 010521 1462 010526 1463 010530 1464 010540 1465 010543 1466 010545 1467 010552 1468 010564 1469 010573 1470 010576 1471 010577 1476 010602 1477 010604 1478 010645 1479 010653 1480 010721 1481 010764 1482 010771 1483 011032 1484 011037 1485 011067 1486 011146 1487 011206 1488 011210 1490 011241 1493 011243 1495 011247 1498 011250 1500 011273 1501 011301 1502 011306 1503 011331 1504 011337 1505 011344 1506 011367 1507 011375 1508 011402 1509 011425 1510 011433 1511 011434 1512 011436 1514 011465 1517 011466 1519 011472 1520 011505 1521 011517 1522 011527 1523 011533 1524 011552 1525 011553 1526 011560 1527 011600 1530 011602 1532 011606 1534 011607 1536 011613 1537 011626 1538 011637 1539 011647 1540 011653 1541 011672 1542 011673 1544 011700 1545 011704 1546 011717 1547 011720 1548 011741 1549 011745 1550 011751 1551 011761 1552 011770 1553 011774 1554 012013 1556 012014 1558 012020 1559 012043 1561 012065 1562 012075 1565 012131 1566 012132 1569 012141 1570 012142 1571 012144 1572 012171 1573 012176 1575 012227 1576 012243 1577 012323 1578 012325 1579 012412 1583 012414 1585 012420 1586 012433 1587 012445 1588 012455 1589 012461 1590 012500 1591 012501 1592 012506 1593 012526 1596 012530 1598 012534 1604 012535 1609 012626 1613 012627 1616 012651 1622 012652 1625 012654 1627 012655 1630 012657 1632 012660 1636 012662 1638 012666 1639 012672 1640 012710 1641 012727 1644 012730 1652 012734 1653 012757 1654 012765 1655 012772 1656 012776 1657 013021 1658 013027 1659 013036 1660 013037 1662 013041 1663 013042 1664 013054 1665 013060 1666 013065 1667 013074 1668 013100 1670 013101 1671 013103 1672 013107 1674 013111 1675 013127 1676 013133 1677 013135 1678 013177 1679 013203 1682 013204 1690 013234 1691 013236 1692 013241 1694 013243 1696 013247 1697 013255 1698 013271 1701 013274 1702 013315 1703 013322 1704 013341 1706 013342 1712 013346 1713 013362 1714 013401 1717 013402 1722 013405 1723 013407 1724 013413 1725 013417 1726 013426 1727 013430 1729 013431 1731 013434 1732 013436 1734 013442 1736 013465 1738 013473 1740 013477 1741 013502 1743 013503 1743 013507 1745 013511 1746 013515 1747 013517 1748 013524 1749 013532 1751 013533 1754 013543 1759 013544 1762 013574 1763 013575 1764 013577 1768 013605 1773 013621 1775 013624 1778 013664 1782 013665 1784 013672 1787 013702 1788 013715 1794 013722 1797 013727 1804 013730 1807 013734 1811 013735 1814 013741 1818 013742 1821 013746 1825 013747 1828 013753 1832 013754 1835 013760 1836 013773 1838 014000 1841 014005 1842 014010 1843 014012 1846 014013 1849 014017 1850 014044 1851 014046 1852 014050 1853 014052 1854 014075 1855 014102 1856 014117 1858 014120 1861 014124 1862 014140 1863 014144 1864 014150 1865 014154 1867 014200 1868 014202 1870 014203 1873 014207 1874 014212 1875 014216 1876 014223 1877 014244 1879 014245 1882 014251 1884 014257 1886 014264 1888 014271 1889 014273 1890 014277 1894 014300 1895 014304 1896 014310 1899 014321 1901 014322 1903 014326 1905 014330 1906 014334 1914 014335 1917 014342 1918 014345 1920 014347 1923 014370 1927 014371 1930 014416 ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved