ASSEMBLY LISTING OF SEGMENT >spec>on>09/07/83-gcos>gcos_mme_snp1_.alm ASSEMBLED ON: 09/09/83 1052.4 mst Fri OPTIONS USED: list ASSEMBLED BY: ALM Version 6.4 April 1981 ASSEMBLER CREATED: 11/03/82 1423.6 mst Wed  1 " ***********************************************************  2 " * *  3 " * Copyright, (C) Honeywell Information Systems Inc., 1982 *  4 " * *  5 " ***********************************************************  6 " *************************************************************  7 " * *  8 " * *  9 " * copyright (c) 1974 by honeywell information systems, inc. *  10 " * *  11 " * *  12 " *************************************************************  13 "  14 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "  15 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "  16 " "  17 " gcos_mme_snp1_ " 18 " "  19 " This procedure is a conversion of the GCOS SR1/G SSA module .MSNP1 "  20 " from gmap to alm pure procedure. " 21 " "  22 " There are three entry points to this procedure: "  23 " "  24 " 1. gcos_mme_snp1_:- This entry processes a slave program MME "  25 " GESNAP. It requires no arguments. "  26 " "  27 " 2. binpt:- This entry is used to snap the slave prefix of "  28 " aborting programs. It requires three arguments: "  29 " arg1 is a full word containing the absolute location to print "  30 " in its upper, and the number of words to print in its lower. "  31 " arg2 is a full word containing the absolute location to snap "  32 " in its upper, and the number of words to snap in its lower. "  33 " arg3 is a full word containing bias to apply to address "  34 " for snap in its upper, and 3 bcd characters to print with the "  35 " first line of output in its lower (m ,s , ). "  36  37 " "  38 " 3. bord:- This entry is used to snap registers and memory of " 39 " aborting programs. It requires two arguments: "  40 " arg1 is a full word containing the ic&ir to print. "  41 " arg2 is a full word which has the same format as the MME "  42 " GESNAP parameter. "  43 " "  44 " Written by R.H. Morrison December, 1974 "  45 " "  46 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "  47 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "  48 "  000000 49 name gcos_mme_snp1_  000467 50 entry gcos_mme_snp1_,bord,binpt  51 include mc 1-1 "  1-2 " BEGIN INCLUDE FILE mc.incl.alm 6/72 SHW 1-3 " Modified 8/80 by J. A. Bush for dps8/70M CPU  1-4 "  1-5  1-6 " General layout of data items. 1-7  000000 1-8 equ mc.prs,0 pointer registers  000020 1-9 equ mc.regs,16 registers  000030 1-10 equ mc.scu,24 SCU data  000050 1-11 equ mc.eis_info,40 pointers and lengths for EIS  1-12  1-13 " Temporary storage for software  1-14  000040 1-15 equ mc.mask,32 system controller mask at time of fault 000042 1-16 equ mc.ips_temp,34 temporary storage for IPS info  000043 1-17 equ mc.errcode,35 error code  000044 1-18 equ mc.fim_temp,36 temporary to hold fault index and unique index  000045 1-19 equ mc.fault_reg,37 fault register 000046 1-20 equ mc.fault_time,38 time of fault 000046 1-21 equ mc.cpu_type_word,38 CPU type from rsw (2). overlays part of time word 300000 1-22 bool mc.cpu_type_mask,300000 DU  000046 1-23 equ mc.ext_fault_reg,38 ext fault reg for dps8. overlays part of time word 077774 1-24 bool mc.ext_fault_reg_mask,77774 DU  000003 1-25 equ mc.cpu_type_shift,3 positions to shift right or left  1-26  1-27  1-28  1-29 " SCU DATA 1-30  1-31 " WORD (0) PROCEDURE POINTER REGISTER 1-32  000030 1-33 equ mc.scu.ppr.prr_word,24 Procedure Ring Register 000000 1-34 equ scu.ppr.prr_word,0 700000 1-35 bool scu.ppr.prr_mask,700000 DU  000041 1-36 equ scu.ppr.prr_shift,33  1-37  000030 1-38 equ mc.scu.ppr.psr_word,24 Procedure Segment Register  000000 1-39 equ scu.ppr.psr_word,0 077777 1-40 bool scu.ppr.psr_mask,077777 DU  000022 1-41 equ scu.ppr.psr_shift,18  1-42  000030 1-43 equ mc.scu.ppr.p_word,24 Procedure Privileged Bit  000000 1-44 equ scu.ppr.p_word,0  400000 1-45 bool scu.ppr.p,400000 DL  1-46  1-47 " APPENDING UNIT STATUS  000030 1-48 equ mc.scu.apu_stat_word,24 APPENDING UNIT STATUS  000000 1-49 equ scu.apu_stat_word,0  1-50  200000 1-51 bool scu.apu.xsf,200000 DL - Ext Seg Flag - IT mod.  100000 1-52 bool scu.apu.sdwm,100000 DL - Match in SDW Ass. Mem.  040000 1-53 bool scu.apu.sd_on,040000 DL - SDW Ass. Mem. ON  020000 1-54 bool scu.apu.ptwm,020000 DL - Match in PTW Ass. Mem.  010000 1-55 bool scu.apu.pt_on,010000 DL - PTW Ass. Mem. ON  004000 1-56 bool scu.apu.pi_ap,004000 DL - Instr fetch or Append cycle 002000 1-57 bool scu.apu.dsptw,002000 DL - Fetch of DSPTW  001000 1-58 bool scu.apu.sdwnp,001000 DL - Fetch of SDW non-paged  000400 1-59 bool scu.apu.sdwp,000400 DL - Fetch of SDW paged  000200 1-60 bool scu.apu.ptw,000200 DL - Fetch of PTW 000100 1-61 bool scu.apu.ptw2,000100 DL - Fetch of pre-paged PTW 000040 1-62 bool scu.apu.fap,000040 DL - Fetch of final address paged 000020 1-63 bool scu.apu.fanp,000020 DL - Fetch final address non-paged  000010 1-64 bool scu.apu.fabs,000010 DL - Fetch of final address absolute 1-65  000030 1-66 equ mc.scu.fault_cntr_word,24 Num of retrys of EIS instructions.  000000 1-67 equ scu.fault_cntr_word,0 1-68  000007 1-69 bool scu.fault_cntr_mask,000007  1-70  1-71  1-72 " WORD (1) FAULT DATA 1-73  000031 1-74 equ mc.scu.fault_data_word,25 FAULT DATA  000001 1-75 equ scu.fault_data_word,1  1-76  400000 1-77 bool scu.fd.iro,400000 DU - Illegal Ring Order  200000 1-78 bool scu.fd.oeb,200000 DU - Not In Execute Bracket  100000 1-79 bool scu.fd.e_off,100000 DU - No Execute 040000 1-80 bool scu.fd.orb,040000 DU - Not In Read Bracket  020000 1-81 bool scu.fd.r_off,020000 DU - No Read  010000 1-82 bool scu.fd.owb,010000 DU - Not In Write Bracket  004000 1-83 bool scu.fd.w_off,004000 DU - No Write  002000 1-84 bool scu.fd.no_ga,002000 DU - Not A Gate  001000 1-85 bool scu.fd.ocb,001000 DU - Not in Call Bracket  000400 1-86 bool scu.fd.ocall,000400 DU - Outward Call  000200 1-87 bool scu.fd.boc,000200 DU - Bad Outward Call  000100 1-88 bool scu.fd.inret,000100 DU - Inward Return  000040 1-89 bool scu.fd.crt,000040 DU - Cross Ring Transfer  000020 1-90 bool scu.fd.ralr,000020 DU - Ring Alarm 000010 1-91 bool scu.fd.am_er,000010 DU - Assoc. Mem. Fault  000004 1-92 bool scu.fd.oosb,000004 DU - Out Of Bounds  000002 1-93 bool scu.fd.paru,000002 DU - Parity Upper 000001 1-94 bool scu.fd.parl,000001 DU - Parity Lower 1-95  400000 1-96 bool scu.fd.onc_1,400000 DL - Op Not Complete 200000 1-97 bool scu.fd.onc_2,200000 DL - Op Not Complete 1-98  1-99 " GROUP II FAULT DATA  400000 1-100 bool scu.fd.isn,400000 DU - Illegal Segment Number  200000 1-101 bool scu.fd.ioc,200000 DU - Illegal Op Code  100000 1-102 bool scu.fd.ia_im,100000 DU - Illegal Addr - Modifier 040000 1-103 bool scu.fd.isp,040000 DU - Illegal Slave Procedure  020000 1-104 bool scu.fd.ipr,020000 DU - Illegal Procedure 010000 1-105 bool scu.fd.nea,010000 DU - Non Existent Address  004000 1-106 bool scu.fd.oobb,004000 DU - Out Of Bounds  1-107  000031 1-108 equ mc.scu.port_stat_word,25 PORT STATUS  000001 1-109 equ scu.port_stat_word,1  1-110  170000 1-111 bool scu.ial_mask,170000 DL - Illegal Action Lines  000014 1-112 equ scu.ial_shift,12  1-113  007000 1-114 bool scu.iac_mask,007000 DL - Illegal Action Channel  000011 1-115 equ scu.iac_shift,9  1-116  000700 1-117 bool scu.con_chan_mask,000700 DL - Connect Channel 000006 1-118 equ scu.con_chan_shift,6  1-119  000076 1-120 bool scu.fi_num_mask,000076 DL - Fault / Interrupt Number 000001 1-121 equ scu.fi_num_shift,1 1-122  000001 1-123 bool scu.fi_flag_mask,000001 DL - Fault / Interrupt Flag  1-124  1-125  1-126 " WORD (2) TEMPORARY POINTER REGISTER 1-127  000032 1-128 equ mc.scu.tpr.trr_word,26 Temporary Ring Register 000002 1-129 equ scu.tpr.trr_word,2 700000 1-130 bool scu.tpr.trr_mask,700000 DU  000041 1-131 equ scu.tpr.trr_shift,33  1-132  000032 1-133 equ mc.scu.tpr.tsr_word,26 Temporary Segment Register  000002 1-134 equ scu.tpr.tsr_word,2 077777 1-135 bool scu.tpr.tsr_mask,077777 DU  000022 1-136 equ scu.tpr.tsr_shift,18  1-137  000032 1-138 equ mc.scu.cpu_no_word,26 CPU Number  000002 1-139 equ scu.cpu_no_word,2  1-140  000700 1-141 bool scu.cpu_no_mask,000700 DL 000006 1-142 equ scu.cpu_shift,6  1-143  000032 1-144 equ mc.scu.delta_word,26 Tally Modification DELTA  000002 1-145 equ scu.delta_word,2  1-146  000077 1-147 bool scu.delta_mask,000077 DL  1-148  1-149  1-150 " WORD (3) TSR STATUS 1-151  000033 1-152 equ mc.scu.tsr_stat_word,27 TSR STATUS for 1,2, and 3  000003 1-153 equ scu.tsr_stat_word,3 Word Instructions 1-154  777700 1-155 bool scu.tsr_stat_mask,777700 DL - All of Status  000006 1-156 equ scu.tsr_stat_shift,6  1-157  740000 1-158 bool scu.tsna_mask,740000 DL - Word 1 Status  700000 1-159 bool scu.tsna.prn_mask,700000 DL - Word 1 PR num  000017 1-160 equ scu.tsna.prn_shift,15  040000 1-161 bool scu.tsna.prv,040000 DL - Word 1 PR valid bit 1-162  036000 1-163 bool scu.tsnb_mask,036000 DL - Word 2 Status  034000 1-164 bool scu.tsnb.prn_mask,034000 DL - Word 2 PR num  000013 1-165 equ scu.tsnb.prn_shift,11  002000 1-166 bool scu.tsnb.prv,002000 DL - Word 2 PR valid bit 1-167  000013 1-168 bool scu.tsnc_mask,0013 DL - Word 3 Status  001600 1-169 bool scu.tsnc.prn_mask,001600 DL - Word 3 PR num  000007 1-170 equ scu.tsnc.prn_shift,7  000100 1-171 bool scu.tsnc.prv,000100 DL - Word 3 PR valid bit 1-172  1-173  000033 1-174 equ mc.scu.tpr.tbr_word,27 TPR.TBR Field  000003 1-175 equ scu.tpr.tbr_word,3 1-176  000077 1-177 bool scu.tpr.tbr_mask,000077 DL  1-178  1-179  1-180 " WORD (4) INSTRUCTION COUNTER  1-181  000034 1-182 equ mc.scu.ilc_word,28 INSTRUCTION COUNTER  000004 1-183 equ scu.ilc_word,4 000022 1-184 equ scu.ilc_shift,18  1-185  000034 1-186 equ mc.scu.indicators_word,28 INDICATOR REGISTERS 000004 1-187 equ scu.indicators_word,4  1-188  400000 1-189 bool scu.ir.zero,400000 DL - Zero Indicator  200000 1-190 bool scu.ir.neg,200000 DL - Negative Indicator  100000 1-191 bool scu.ir.carry,100000 DL - Carry Indicator 040000 1-192 bool scu.ir.ovfl,040000 DL - Overflow Indicator  020000 1-193 bool scu.ir.eovf,020000 DL - Exponent Overflow Ind  010000 1-194 bool scu.ir.eufl,010000 DL - Exponent Underflow Ind  004000 1-195 bool scu.ir.oflm,004000 DL - Overflow Mask Indicator  002000 1-196 bool scu.ir.tro,002000 DL - Tally Runout Indicator  001000 1-197 bool scu.ir.par,001000 DL - Parity Indicator 000400 1-198 bool scu.ir.parm,000400 DL - Parity Mask Indicator  000200 1-199 bool scu.ir.bm,000200 DL - Bar Mode Indicator  000100 1-200 bool scu.ir.tru,000100 DL - Truncation Indicator  000040 1-201 bool scu.ir.mif,000040 DL - Multiword Indicator  000020 1-202 bool scu.ir.abs,000020 DL - Absolute Indicator  1-203  1-204  1-205 " WORD (5) COMPUTED ADDRESS  1-206  000035 1-207 equ mc.scu.ca_word,29 COMPUTED ADDRESS  000005 1-208 equ scu.ca_word,5  000022 1-209 equ scu.ca_shift,18  1-210  000035 1-211 equ mc.scu.cu_stat_word,29 CONTROL UNIT STATUS 000005 1-212 equ scu.cu_stat_word,5 1-213  400000 1-214 bool scu.cu.rf,400000 DL - Repeat First  1-215 " On First Cycle of Repeat Inst.  200000 1-216 bool scu.cu.rpt,200000 DL - Repeat Instruction  100000 1-217 bool scu.cu.rd,100000 DL - Repeat Double Instr.  040000 1-218 bool scu.cu.rl,040000 DL - Repeat Link Instr.  1-219  020000 1-220 bool scu.cu.pot,020000 DL - IT Modification  010000 1-221 bool scu.cu.pon,010000 DL - Return Type Instruction  1-222  004000 1-223 bool scu.cu.xde,004000 DL - XDE from Even Location  002000 1-224 bool scu.cu.xdo,002000 DL - XDE from Odd Location  1-225  001000 1-226 bool scu.cu.poa,001000 DL - Operand Preparation  000400 1-227 bool scu.cu.rfi,000400 DL - Tells CPU to refetch instruction  1-228 " This Bit Not Used (000200)  000100 1-229 bool scu.cu.if,000100 DL - Fault occurred during instruction fetch  1-230  000035 1-231 equ mc.scu.cpu_tag_word,29 Computed Tag Field  000005 1-232 equ scu.cpu_tag_word,5 1-233  000007 1-234 bool scu.cpu_tag_mask,000007 DL  1-235  1-236  1-237 " WORDS (6,7) INSTRUCTIONS 1-238  000036 1-239 equ scu.even_inst_word,30 Even Instruction 1-240  000037 1-241 equ scu.odd_inst_word,31 Odd Instruction  1-242  1-243  1-244 " END INCLUDE FILE incl.alm 52 "  53 "  000000 54 gcos_mme_snp1_: 000000 aa 000120 6270 00 55 push  000001 aa 7 00040 2721 20 000002 aa 6 00000 2501 00 56 spriap sp|0 save ap  000003 aa 000000 2360 07 57 ldq 0,dl change transfer to ep1  000004 aa 6 00113 7561 00 58 stq mod  000005 aa 000000 2350 07 59 lda 0,dl set a & q registers  000006 aa 000000 2360 07 60 ldq 0,dl  000007 0a 000511 7100 00 61 tra xinit1  62  63  64 " ttl cd600j3.265 gecos sr1/g 740704snp1  65 " cpr g,1968,1969,1970  66 " cpr h,1971,1972  67 " .entry snp1,xend,,(gesnip,binpt,bord),ssa  68 " ttls g e s n a p  000010 69 bp: null  000010 aa 6 00063 7411 00 70 stx1 prea  000011 71 bp05: null  000011 aa 000000 6230 02 72 eax3 0,qu save location of first word to  73 " be dumped.  000012 aa 000000 6360 06 74 eaq 0,ql store # words to dump in  000013 aa 6 00074 7561 00 75 stq wdcnt word count.  000014 aa 777777 3150 07 76 cana -1,dl are there any words to be moved?  000015 0a 000027 6000 00 77 tze bp20 nope  000016 aa 000000 6210 01 78 eax1 0,au put location of data to be moved in x1.  000017 9a 4 00015 2221 00 79 ldx2 lp|bufad1 x2 = 1st location in output buffer  000020 aa 777777 3750 07 80 ana -1,dl isolate # of words to move  000021 aa 3 00000 2361 11 81 bp10: ldq pr3|0,1 start move.  000022 aa 4 00000 7561 12 82 stq lp|0,2  000023 aa 000001 0210 03 83 adlx1 1,du bump move indices.  000024 aa 000001 0220 03 84 adlx2 1,du  000025 aa 000001 1350 07 85 sbla 1,dl decrement # words to move.  000026 0a 000021 6010 00 86 tnz bp10 continue moving.  000027 aa 6 00070 7431 00 87 bp20: stx3 mo10a store location of next word to dump.  000030 0a 000137 7010 00 88 tsx1 comp go find first equal line.  000031 0a 000050 7100 00 89 tra bp30 no equal lines.  000032 0a 000152 7100 00 90 tra comp20 lines not equal, continue search.  000033 aa 6 00073 2241 00 91 ldx4 comp20a first equal line-loc. in comp 20.  000034 aa 6 00070 1241 00 92 sblx4 mo10a calculate # words to move.  000035 aa 6 00074 7551 00 93 sta wdcnt restore wdcnt to new value.  000036 0a 000062 7010 00 94 tsx1 output go output the words.  000037 aa 542020 2200 03 95 ldx0 =o542020,du set up to print * with next line.  000040 aa 6 00072 4401 00 96 sxl0 mo30a  000041 0a 000137 7010 00 97 tsx1 comp now we skip all equal lines.  000042 0a 000056 7100 00 98 tra bp50 less than 17 words left to print.  000043 aa 000002 7100 04 99 tra 2,ic unequal lines found.  000044 0a 000152 7100 00 100 tra comp20 equal lines found, keep going  000045 aa 6 00074 7551 00 101 sta wdcnt restore word count.  000046 aa 6 00073 2231 00 102 ldx3 comp20a pick up loc. of unequal line.  000047 0a 000027 7100 00 103 tra bp20  000050 aa 6 00074 2241 00 104 bp30: ldx4 wdcnt pick up # of words to print.  000051 0a 000062 7010 00 105 tsx1 output output last of line.  000052 aa 6 00063 2211 00 106 pre: ldx1 prea 000053 aa 000000 6010 11 107 tnz 0,1 came from eis register dump routine  000054 0a 000154 7010 00 108 flush: tsx1 write flush the buffer 000055 109 xit: null  000055 aa 7 00042 7101 20 110 return return to calling procedure  000056 aa 000010 6230 13 111 bp50: eax3 8,3 bump loc. of line by 8 to get past  112 " equal line.  000057 aa 777770 6240 01 113 eax4 -8,au # words left to x4.  000060 aa 6 00070 7431 00 114 stx3 mo10a store loc. of last line(s) to print.  000061 0a 000051 7100 00 115 tra bp30+1  116 " this routine determines  117 " how many words to be printed  118 " will fit in the current  119 " buffer and calls the  120 " move routine to put them  121 " in the buffer. whenever the  122 " buffer is found to be full,  123 " the write routine is called  124 " to empty the buffer.  125 " upon entry  126 " x2-next available loc. in lp|bufr.  127 " x4-number of words to move.  000062 aa 6 00066 7411 00 128 output:stx1 op20a save x1 for return.  000063 8a 000210 6200 00 129 eax0 bufnd see if all words to be moved  000064 aa 6 00064 7421 00 130 stx2 op05a fit in buffer. allow for 2  000065 aa 6 00064 1201 00 131 sblx0 op05a extra words. last loc in buffer-  132 " first available loc to store in.  000066 0a 000111 6040 00 133 tmi op50 nothing fits.  000067 aa 6 00065 7401 00 134 stx0 op15a  000070 aa 6 00065 1041 00 135 op10: cmpx4 op15a will all words fit?  000071 0a 000076 6030 00 136 trc op30 no- see if any fit 000072 aa 000000 6350 14 137 eaa 0,4 # words to au.  000073 0a 000113 7010 00 138 tsx1 move go setup sysout record.  000074 aa 6 00066 2211 00 139 op20: ldx1 op20a  000075 aa 000000 7100 11 140 tra 0,1  000076 aa 000011 1000 03 141 op30: cmpx0 9,du will at least 8 words fit?  000077 0a 000111 6020 00 142 tnc op50 no-go flush buffer.  000100 aa 777777 6200 10 143 eax0 -1,0 set number of words to move  000101 aa 777770 3600 03 144 anx0 =o777770,du to a multiple of 8.  000102 aa 6 00067 7401 00 145 stx0 op40a save so as to reduce total words.  000103 aa 000000 6350 10 146 eaa 0,0  000104 0a 000113 7010 00 147 tsx1 move set up sysout record.  000105 aa 6 00067 1241 00 148 op40: sblx4 op40a reduce total words to move by  000106 aa 202020 2200 03 149 ldx0 =o202020,du # words just moved. 000107 aa 6 00070 7431 00 150 stx3 mo10a initialize move rout. with start of  151 " next line.  000110 aa 6 00072 4401 00 152 sxl0 mo30a set print character to blank.  000111 0a 000154 7010 00 153 op50: tsx1 write go flush the buffer.  000112 0a 000063 7100 00 154 tra output+1  155 " this routine sets up the sysout  156 " (gefrc) record control words  157 " for n lines of "binary"  158 " print words. it then moves  159 " the prescribed words to the  160 " buffer.  161 " upon entry  162 " x2-next available loc in bufr.  163 " au-# words to move  164 " mo10a-initialize with loc of  165 " first word to move  166 " mo20a-initialize with bias to  167 " apply to printed location.  168 " mo30a-initialized with character  169 " to print with first loc.  170 " e.i. m,s,* or blank.  000113 aa 000001 6360 01 171 move: eaq 1,au construct first gefrc control  000114 aa 070374 2760 07 172 orq =o70374,dl word.  000115 aa 4 00000 7561 12 173 stq lp|0,2  000116 aa 6 00070 2231 00 174 mo10: ldx3 mo10a set x3 to first word to move  175 " set up second sysout control  176 " word. location, print character  000117 aa 000000 6360 13 177 mo20: eaq 0,3 apply bias to location  000120 aa 6 00071 0361 00 178 adlq mo20a  000121 aa 6 00072 2761 00 179 mo30: orq mo30a or in print character  000122 aa 4 00001 7561 12 180 stq lp|1,2  000123 aa 000002 6220 12 181 eax2 2,2 set x2 to "move to" location.  000124 aa 000010 7710 00 182 mo40: arl 8 shift # word to move into position  000125 aa 001400 6200 05 183 eax0 256+512,al and "or" in a and b bits for repeat  000126 aa 777777 3150 07 184 cana -1,dl test for partial 256 word block  000127 0a 000133 6010 00 185 tnz mo50 move it  000130 aa 000001 1350 03 186 mo60: sbla 1,du decrement number of full blocks  000131 aa 000000 6040 11 187 tmi 0,1 exit  000132 aa 000000 0110 03 188 odd  000133 aa 000000 5602 01 189 mo50: rpdx 0,1 move last of words  000134 aa 3 00000 2361 13 190 ldq pr3|0,3  000135 aa 4 00000 7561 12 191 stq lp|0,2  000136 0a 000130 7100 00 192 tra mo60 193 " this routine compares one line  194 " (8 words to print in memory dump)  195 " with the next line and  196 " exits 1 when the lines are  197 " not equal. when the lines are  198 " equal it exits 2. if there  199 " are only 2 lines (16 words) or  200 " less to be processed this  201 " routine exits 0. when at  202 " least one comparison takes place,  203 " comp20a contains the first loc.  204 " of the second line of the  205 " current pair.  206 " upon entry:  207 " wdcnt contains # word still to  208 " be processed.  209 " x3 contains location for first line.  000137 aa 6 00074 2351 00 210 comp: lda wdcnt pick up number of words to process.  000140 aa 000021 1150 03 211 comp10:cmpa 17,du is there less than 17 words.  000141 aa 000000 6020 11 212 tnc 0,1 yes, exit 0.  000142 aa 000010 6240 13 213 eax4 8,3 location of next line to x4.  000143 aa 777770 6350 01 214 eaa -8,au reduce count by 8.  000144 aa 6 00073 7441 00 215 stx4 comp20a save it for use later.  216 odd  000145 aa 021640 5602 01 217 rpd 8,1,tnz compare lines for equality  000146 aa 3 00000 2361 13 218 ldq pr3|0,3  000147 aa 3 00000 1161 14 219 cmpq pr3|0,4  000150 aa 000001 6010 11 220 tnz 1,1 lines are not equal, exit 1.  000151 aa 000002 7100 11 221 tra 2,1 lines are equal, exit 2.  000152 aa 6 00073 2231 00 222 comp20:ldx3 comp20a location of next line to x3. 000153 0a 000140 7100 00 223 tra comp10  224 "  225 " write output routine  226 " this routine calls sysout  227 " entry point 1 for sysout on  228 " p* or entry point 5 for  229 " writing to the execution report.  230 " upon entry  231 " x1 - used for return.  232 " x2 - contains next avail loc in bufr.  233 " x4-contains a count that must be saved  234 " upon exit  235 " x2-must contain next avail loc in lp|bufr  236 " x4-must be preserved throughout.  000154 aa 6 00077 7411 00 237 write: stx1 writxa convert to print line format and write  000155 9a 4 00014 2201 00 238 ldx0 lp|bufad dev # words for dcw 000156 aa 6 00075 7401 00 239 stx0 wr10a write routine  000157 aa 6 00075 1221 00 240 sblx2 wr10a dev words  000160 9a 4 00017 4421 00 241 sxl2 lp|bufr-1 000161 aa 777777 6350 12 242 eaa -1,2 now generate block control word.  000162 aa 060000 2750 07 243 ora =o060000,dl this is for output to execution report  000163 9a 4 00020 7551 00 244 sta lp|bufr  245 " develope address portion of dcw.  000164 9a 4 01014 1201 16 246 sblx0 lp|.crlal,6  000165 9a 4 00017 7401 00 247 stx0 lp|bufr-1  000166 aa 6 00076 7441 00 248 stx4 wr20a  000167 0a 000663 7010 00 249 tsx1 gwrite convert to print line format 000170 aa 6 00111 7211 00 250 lxl1 bsn set block serial number  000171 9a 4 00210 7411 00 251 stx1 lp|pbufr 000172 aa 6 00111 0541 00 252 aos bsn  000173 0a 000546 2350 00 253 lda desc2i descriptor word for block  000174 aa 000022 7710 00 254 arl 18 shift out size  000175 aa 000001 6360 14 255 eaq 1,4 new size  000176 aa 000002 7360 00 256 qls 2 times 4 for ascii pseudo char. count 000177 aa 000022 7370 00 257 lls 18 shift back to a reg.  000200 aa 6 00062 7551 00 258 sta desc2 put in argument list 000201 aa 6 00000 2541 00 259 call |[block_ptr](arglst) 000202 aa 6 00050 3501 00 000203 4a 4 01020 3521 20 000204 aa 6 00040 7531 00 000205 aa 7 00036 6701 20 000206 aa 6 00000 1731 00 000207 aa 6 00040 0731 00 000210 aa 6 00076 2241 00 260 ldx4 wr20a  000211 aa 6 00077 2211 00 261 writx: ldx1 writxa restore x1  000212 9a 4 00015 2221 00 262 ldx2 lp|bufad1  000213 aa 000000 7100 11 263 tra 0,1  000214 264 ckore: null  000214 9a 4 01002 2371 15 265 ldaq lp|.stemp,5 get ic+i and dump parameter 000215 aa 400000 3160 07 266 canq =o400000,dl do we want registers only  000216 0a 000220 6000 00 267 tze snpc no-user wants core also 000217 0a 000054 7100 00 268 tra flush go write registers and exit 000220 269 snpc: null  000220 0a 001112 3760 00 270 anq =o777777077777 mask out panel/slew info 000221 aa 622020 2230 03 271 ldx3 =o622020,du dump label  000222 9a 4 01014 3211 16 272 lcx1 lp|.crlal,6  000223 9a 4 01014 2201 16 273 ldx0 lp|.crlal,6  000224 274 snps: null  000224 9a 4 01000 2351 15 275 lda lp|.salim,5 get slave memory limits 000225 aa 000776 3750 03 276 ana =o776,du isolate # of words  000226 aa 000011 7350 00 277 als 9  000227 aa 000001 1350 07 278 sbla 1,dl  279 "*******  280 " au is last avail mem location, al is all ones. this will override  281 " any word count in the lower half of lp|.stemp+1 which is used in a 282 " comparison very shortly.  000230 aa 6 00100 7401 00 283 stx0 snpmsa to absolutize starting address  000231 aa 6 00071 7411 00 284 stx1 mo20a relativize dump locations  000232 aa 6 00072 4431 00 285 sxl3 mo30a dump label  000233 aa 777777 3160 07 286 canq -1,dl is word count zero  000234 aa 000002 6010 04 287 tnz 2,ic  000235 aa 777777 2760 07 288 orq -1,dl yes-set count to max  000236 9a 4 01003 7561 15 289 stq lp|.stemp+1,5 save dump parameter 000237 9a 4 01003 1151 15 290 cmpa lp|.stemp+1,5 compare 1st address with last avail 000240 aa 000003 6030 04 291 trc 3,ic ok  000241 aa 000000 6200 00 292 eax0 0  000242 9a 4 01003 7401 15 293 stx0 lp|.stemp+1,5 000243 aa 777777 3760 07 294 anq -1,dl isolate word count  000244 9a 4 01004 7561 15 295 stq lp|.stemp+2,5 save it 000245 9a 4 01003 2361 15 296 ldq lp|.stemp+1,5 now we calculate last word 000246 aa 000022 7720 00 297 qrl 18 to be dumped in lower half  000247 9a 4 01004 0561 15 298 asq lp|.stemp+2,5 of lp|.stemp+2  000250 aa 000022 7710 00 299 arl 18 last avail mem loc to al  000251 9a 4 01004 1351 15 300 sbla lp|.stemp+2,5 is last word to be dumped greater 000252 aa 000003 6050 04 301 tpl 3,ic no-parameter ok  000253 9a 4 01003 0551 15 302 asa lp|.stemp+1,5 clip word count in parameter 000254 9a 4 01003 0541 15 303 aos lp|.stemp+1,5 so as to fit in avail memory 000255 9a 4 01003 2361 15 304 ldq lp|.stemp+1,5 pick up parameter 000256 aa 6 00100 0361 00 305 snpms: adlq snpmsa absolutize  000257 aa 000000 6350 00 306 eaa 0  000260 0a 000011 7100 00 307 tra bp05 000261 308 ckeis: null  000261 9a 4 01015 2361 00 309 ldq lp|.creis are there eis registers to be snapped 000262 aa 6 00071 2561 00 310 orsq mo20a yes - set print location to zero  000263 aa 6 00071 3211 00 311 lcx1 mo20a 000264 aa 6 00071 7411 00 312 stx1 mo20a set print loc to zero 000265 aa 000030 2760 07 313 orq 24,dl # words in reg storage  000266 0a 000307 6210 00 314 eax1 rcw 315 odd  000267 aa 017600 5602 01 316 rpd 7,1  000270 aa 000000 2350 11 317 lda 0,1  000271 aa 4 00000 7551 12 318 sta lp|0,2 000272 aa 000000 2350 03 319 lda 0,du  000273 aa 4 00000 3535 00 320 epp3 lp|0 000274 0a 000010 7010 00 321 tsx1 bp 000275 4a 4 01022 3535 20 322 epp3 |[gcos_slave_area_seg],* 000276 0a 000307 2350 00 323 lda rcw 000277 aa 000007 6750 03 324 era 7,du set word count to one  000300 aa 4 00000 7551 12 325 sta lp|0,2 000301 aa 770300 2350 03 326 lda =o770300,du slew code  000302 aa 4 00001 7551 12 327 sta lp|1,2 store slew info in output buffer 000303 aa 000002 0220 03 328 adlx2 2,du  000304 aa 000000 6210 00 329 eax1 0  000305 aa 6 00063 7411 00 330 stx1 prea 000306 0a 000214 7100 00 331 tra ckore 000307 aa 000006 000374 332 rcw: vfd 18/6,o18/374  000310 aa 544 746 314 563 333 bci /*pointer registers & eis info*!2/  000311 aa 255 120 512 527 000312 aa 316 263 255 162 000313 aa 203 220 253 162 000314 aa 203 145 264 654 000315 aa 770 200 000 000 000316 334 snp: null ep1  000316 9a 4 00760 2351 00 335 lda lp|.sstke get ic&i of mme  000317 aa 000001 0350 03 336 adla 1,du  000320 0a 001113 3750 00 337 ana =o777777777577 set indicator to slave  000321 9a 4 00010 7551 00 338 sta lp|icir  000322 339 snp1: null  000322 9a 4 00010 2351 00 340 lda lp|icir  000323 9a 4 00760 7551 00 341 sta lp|.sstke  000324 9a 4 01014 2361 16 342 ldq lp|.crlal,6  000325 9a 4 00010 0361 00 343 adlq lp|icir address of mme added to qu  000326 aa 3 00000 2361 02 344 ldq pr3|0,qu pick up mme parameter  000327 9a 4 01002 7571 15 345 staq lp|.stemp,5 000330 aa 000077 3750 07 346 ana =o77,dl isolate bits used by gecos  000331 9a 4 00010 6551 00 347 ersa lp|icir turn them off for printing ir  000332 8a 000770 6210 00 348 eax1 .sreg absolute register pointer  000333 aa 6 00102 7411 00 349 snp7: stx1 span4a store register pointer  000334 350 panel: null  000334 9a 4 01001 2351 00 351 lda lp|.salim+1 base address register 000335 9a 4 00011 7551 00 352 sta lp|icir+1 store it  000336 aa 770100 2210 03 353 ldx1 =o770100,du  354 "*** q still contains dump parameter 000337 aa 100000 3160 07 355 canq =o100000,dl do we slew t-o-p  000340 aa 000002 6010 04 356 tnz 2,ic yes  000341 aa 6 00101 7411 00 357 stx1 snp5a no-slew one line  000342 9a 4 00015 2221 00 358 ldx2 lp|bufad1 pointer to output buffer  000343 aa 000374 2350 07 359 lda =o374,dl device and media code  000344 aa 6 00103 7421 00 360 stx2 span6a save record header  000345 aa 4 00000 7551 12 361 sta lp|0,2  000346 aa 000001 0220 03 362 adlx2 1,du bump to first word  000347 aa 6 00101 2351 00 363 lda snp5a slew code  000350 0a 000416 7010 00 364 tsx1 span5+1  000351 aa 772000 000000 365 snp5: vfd o18/772000,18/0  366 "*** q still contains dump parameter 000352 aa 200000 3160 07 367 canq =o200000,dl do we dump registers  000353 0a 000214 6010 00 368 tnz ckore no 000354 aa 6 00113 7211 00 369 snpx: lxl1 mod is this ep3  000355 aa 000002 1010 03 370 cmpx1 2,du 000356 0a 000365 6010 00 371 tnz snp4 no - don't dump even/odd pair  000357 0a 000411 7010 00 372 tsx1 span  000360 aa 777022 253137 373 ein: vfd 18/icir-.sreg+2,o12/2531,1/0,5/31  000361 aa 777023 463137 374 oin: vfd 18/icir-.sreg+3,o12/4631,1/0,5/31  000362 aa 011717 171717 375 shift: oct 011717171717  000363 0a 000366 6210 00 376 eax1 icr 000364 0a 000415 7100 00 377 tra span5 000365 0a 000411 7010 00 378 snp4: tsx1 span 000366 aa 777020 312336 379 icr: vfd 18/icir-.sreg,o12/3123,1/0,5/30  000367 aa 777020 315176 380 irr: vfd 18/icir-.sreg,o12/3151,1/1,5/30  000370 aa 777021 222136 381 bar: vfd 18/icir-.sreg+1,o12/2221,1/0,5/30  000371 aa 000006 255114 382 vfd 18/6,o12/2551,1/0,5/12 er  000372 aa 000004 215137 383 vfd 18/4,o12/2151,1/0,5/31 ar  000373 aa 000005 505137 384 vfd 18/5,o12/5051,1/0,5/31 qr  000374 aa 000007 635107 385 vfd 18/7,o12/6351,1/0,5/7 tr  000375 aa 770100 000000 386 oct 770100000000  000376 0a 000411 7010 00 387 tsx1 span 000377 aa 000000 670036 388 vfd 18/0,o12/6700,1/0,5/30 x0  000400 aa 000000 670176 389 vfd 18/0,o12/6701,1/1,5/30 x1  000401 aa 000001 670236 390 vfd 18/1,o12/6702,1/0,5/30 x2  000402 aa 000001 670376 391 vfd 18/1,o12/6703,1/1,5/30 x3  000403 aa 000002 670436 392 vfd 18/2,o12/6704,1/0,5/30 x4  000404 aa 000002 670576 393 vfd 18/2,o12/6705,1/1,5/30 x5  000405 aa 000003 670636 394 vfd 18/3,o12/6706,1/0,5/30 x6  000406 aa 000003 670776 395 vfd 18/3,o12/6707,1/1,5/30 x7  000407 aa 770300 000000 396 oct 770300000000  000410 0a 000261 7100 00 397 tra ckeis 398 "  399 " panel dump  400 "  000411 aa 000374 2350 07 401 span: lda =o374,dl put out device and media code.  000412 aa 6 00103 7421 00 402 stx2 span6a save record header  000413 aa 4 00000 7551 12 403 sta lp|0,2  000414 aa 000001 0220 03 404 adlx2 1,du bump to first word  000415 aa 000000 2350 11 405 span5: lda 0,1 pick up parameter  000416 aa 000000 6240 05 406 eax4 0,al test if slew code only.  000417 0a 000450 6000 00 407 tze span1 yes, exit  000420 aa 171717 1040 03 408 cmpx4 =o171717,du  000421 aa 000001 6000 11 409 tze 1,1  000422 aa 000000 6360 01 410 span4: eaq 0,au no, pick up register contents  000423 aa 6 00102 0361 00 411 adlq span4a  000424 aa 4 00000 2361 02 412 ldq lp|0,qu  000425 aa 777700 3750 07 413 ana =o777700,dl isolate bcd name  000426 aa 255100 1150 07 414 cmpa =o255100,dl is this register er? 000427 aa 000002 6010 04 415 tnz 2,ic no-  000430 aa 000001 7720 00 416 qrl 1 yes-align it octally.  000431 0a 001114 2750 00 417 ora =o202017000020 format  000432 aa 4 00000 7551 12 418 sta lp|0,2 store register name  000433 aa 000001 0220 03 419 adlx2 1,du bump storage  000434 aa 000001 3040 03 420 canx4 1,du test if bits 0-17  000435 aa 000002 6000 04 421 tze 2,ic are to be converted  000436 0a 000457 7030 00 422 tsx3 scon2 yes, convert, store  000437 aa 000040 3040 03 423 canx4 =o40,du test if only 18-35 are convert  000440 aa 000002 6000 04 424 tze 2,ic no  000441 aa 000022 7360 00 425 qls 18 yes fetch to high end  000442 aa 000036 3640 03 426 anx4 =o36,du isolate shift for counting  000443 0a 001115 2350 00 427 lda =o011717171717 rest of characters and fill 000444 aa 000000 7710 14 428 arl 0,4 shift character control  000445 0a 000460 7030 00 429 tsx3 scon3 convert rest of register  000446 aa 000001 0210 03 430 adlx1 1,du bump to next parameter  000447 0a 000415 7100 00 431 tra span5 back for next one  000450 aa 4 00000 7551 12 432 span1:sta lp|0,2 end of line, close record  000451 aa 6 00103 1221 00 433 sblx2 span6a record header  000452 aa 6 00103 2241 00 434 span6: ldx4 span6a store record length to buffer  000453 aa 4 00000 7421 14 435 stx2 lp|0,4  000454 aa 000001 0220 03 436 adlx2 1,du increment to point at next  000455 aa 6 00103 0221 00 437 adlx2 span6a  000456 aa 000001 7100 11 438 tra 1,1  439 "  000457 aa 000001 2350 07 440 scon2: lda 1,dl convert register 36 bits  000460 aa 000003 7350 00 441 scon3: als 3 convert 36 or less  000461 aa 000003 7370 00 442 lls 3  000462 aa 777776 6020 04 443 tnc -2,ic keep going till 1 bit goes thru sign  000463 aa 4 00000 7551 12 444 sta lp|0,2 store converted register  000464 aa 000001 0220 03 445 adlx2 1,du  000465 aa 000000 7100 13 446 tra 0,3 exit  447 "*******************************************************************************  448 "*******************************************************************************  449 "*** ep 1: process mme gesnap 450 " calling sequence:  451 " mme gesnap  452 " vfd 18/a,2/p,1/s,15/n  453 " where a = starting location of snapshot  454 " p = panel indicator  455 " 00= dump panel, eis registers, and memory  456 " 01= no registers-memory only  457 " 10= panel and eis registers only  458 " s = slew control  459 " 0= slew 1 line before snap  460 " 1= slew t-o-p before snap  461 " n = number of words to be snapped  462 " 0= all the prg's allocated memory starting  463 " at location ' a ' will be snapped  464 "*** 000466 465 gesnip:null  000466 0a 000511 7100 00 466 tra xinit1 go initialize  467 "***: ep 2: used to snap the ssa/slave prefix of aborting programs  468 " au = absolute loc of lines to print  469 " al = # of words to print  470 " qu = absolute loc to snap  471 " ql = # words to snap  472 " x1 = bias to apply to address for snap  473 " x2 = 3 bcd characters to print with first  474 " line of output(m ,s , or )  475 "***:  000467 476 binpt: null  000467 aa 000120 6270 00 477 push  000470 aa 7 00040 2721 20 000471 aa 6 00000 2501 00 478 spriap sp|0 save ap  000472 aa 000001 2360 07 479 ldq 1,dl change xfer to ep2  000473 aa 6 00113 7561 00 480 stq mod  000474 aa 0 00002 2351 20 481 lda ap|2,* get arguments  000475 aa 0 00004 2361 20 482 ldq ap|4,* 000476 aa 0 00006 2211 20 483 ldx1 ap|6,*  000477 aa 0 00006 7221 20 484 lxl2 ap|6,*  000500 0a 000511 7100 00 485 tra xinit1 go initialize  486 "  487 "  488 "***: ep 3: used to snap registers and memory of aborting programs  489 " ar = ic+i to print  490 " qr = dump parameter-same as mme parameter  491 " x1 = absolute pointer to register storage  492 "***:  000501 493 bord: null  000501 aa 000120 6270 00 494 push  000502 aa 7 00040 2721 20 000503 aa 6 00000 2501 00 495 spriap sp|0 save ap  000504 aa 000002 2360 07 496 ldq 2,dl change xfer tp ep3  000505 aa 6 00113 7561 00 497 stq mod  000506 aa 0 00002 2351 20 498 lda ap|2,* get arguments  000507 aa 0 00004 2361 20 499 ldq ap|4,* 000510 8a 000770 6210 00 500 eax1 .sreg 000511 501 xinit1:null 000511 aa 000000 2250 03 502 ldx5 0,du lower address of slave program (simulated)  000512 aa 000000 2260 03 503 ldx6 0,du program number (simulated)  000513 aa 000000 2270 03 504 ldx7 0,du processor number (simulated)  000514 9a 4 01012 7571 00 505 staq lp|.stemp+8  000515 9a 4 00750 7531 00 506 sreg lp|savreg  000516 507 pinit: null initialize procedure  508 "  509 " zero temporary storage  510 "  000516 aa 6 00112 4501 00 511 stz workt  000517 aa 6 00050 6351 00 512 eaa arglst first temporary location  000520 aa 6 00112 7551 00 513 sta workt  000521 aa 6 00112 6351 00 514 eaa workt last temporary location  000522 aa 6 00112 1351 00 515 sbla workt length of temporary storage area  000523 aa 000010 7710 00 516 arl 8  000524 aa 000000 2220 03 517 ldx2 0,du  000525 aa 000000 6200 05 518 eax0 0,al  000526 aa 000000 5202 01 519 rptx 0,1  000527 aa 6 00050 4501 12 520 stz arglst,2  521 "  522 " construct argument list for call to gcos_write_  523 "  000530 0a 001116 2350 00 524 lda =o000004000004 arg. count and code 000531 aa 000004 2360 03 525 ldq =o000004,du descriptor count  000532 aa 6 00050 7571 00 526 staq sp|arglst 000533 4a 4 01024 3521 20 527 epp2 |[prt] fib pointer  000534 aa 6 00052 2521 00 528 spri2 sp|arglst+2  000535 9a 4 00210 3521 00 529 epp2 lp|pbufr record pointer  000536 aa 6 00054 2521 00 530 spri2 sp|arglst+4  000537 0a 000545 3520 00 531 epp2 desc1 descriptor 1  000540 aa 6 00056 2521 00 532 spri2 sp|arglst+6  000541 aa 6 00062 3521 00 533 epp2 desc2 descriptor 2  000542 aa 6 00060 2521 00 534 spri2 sp|arglst+8  000543 4a 4 01022 3535 20 535 epp3 |[gcos_slave_area_seg],* set pointer  000544 0a 000547 7100 00 536 tra mfalt  000545 aa 464000 000000 537 desc1: oct 464000000000 000546 aa 524000 002400 538 desc2i: oct 524000002400 000547 539 mfalt: null  540 " store bar & set .salim  000547 9a 4 01001 5501 00 541 sbar lp|.salim+1 save base address register setting  000550 aa 000000 2250 03 542 ldx5 0,du zero lower to be sure  000551 9a 4 01001 4451 00 543 sxl5 lp|.salim+1  000552 9a 4 01001 2351 00 544 lda lp|.salim+1  000553 9a 4 01000 7551 00 545 sta lp|.salim  000554 aa 000011 7710 00 546 arl 9  000555 9a 4 01000 6251 61 547 eax5 lp|.salim,*au 000556 9a 4 01000 4451 00 548 sxl5 lp|.salim 549 " get ic & i  000557 4a 4 01026 3521 20 550 epp2 |[mc] 000560 aa 2 00034 2361 00 551 ldq pr2|mc.scu.ilc_word  000561 aa 000001 0360 07 552 adlq 1,dl mark registers stored  000562 9a 4 00760 7561 00 553 stq lp|.sstke save  554 " get machine registers  000563 aa 000000 2220 03 555 ldx2 0,du  000564 aa 000000 2230 03 556 ldx3 0,du  557 odd  000565 aa 021600 5602 01 558 rpd 8,1  000566 aa 2 00020 2361 12 559 ldq pr2|mc.regs,2  000567 9a 4 00770 7561 13 560 stq lp|.sreg,3 561 " get pointer registers 000570 aa 000000 2220 03 562 ldx2 0,du  000571 aa 000000 2230 03 563 ldx3 0,du  000572 aa 000000 0110 03 564 odd  000573 aa 041600 5602 01 565 rpd 16,1  000574 aa 2 00000 2361 12 566 ldq pr2|mc.prs,2  000575 9a 4 00710 7561 13 567 stq lp|eisbf,3  568 " get eis info  000576 aa 000000 2220 03 569 ldx2 0,du  000577 aa 000020 2230 03 570 ldx3 16,du  000600 aa 000000 0110 03 571 odd  000601 aa 021600 5602 01 572 rpd 8,1 000602 aa 2 00050 2361 12 573 ldq pr2|mc.eis_info,2  000603 9a 4 00710 7561 13 574 stq lp|eisbf,3  575 " get even and odd instructions 000604 aa 2 00036 2361 00 576 ldq pr2|scu.even_inst_word 000605 9a 4 00012 7561 00 577 stq lp|icir+2  000606 aa 2 00037 2361 00 578 ldq pr2|scu.odd_inst_word  000607 9a 4 00013 7561 00 579 stq lp|icir+3  580 "  000610 aa 202020 2360 07 581 xsnp1: ldq =o202020,dl  000611 aa 6 00072 7561 00 582 stq mo30a  000612 0a 000351 2360 00 583 ldq snp5  000613 aa 6 00101 7561 00 584 stq snp5a  000614 0a 000621 7100 00 585 tra syot 000615 586 bp06: null  000615 9a 4 00755 1211 00 587 sblx1 lp|savreg+5 create print bias  000616 aa 6 00071 7411 00 588 stx1 mo20a to be applied to print address  000617 aa 6 00072 4421 00 589 sxl2 mo30a save m/s label  000620 0a 000011 7100 00 590 tra bp05 000621 591 syot: null  000621 8a 000020 6350 00 592 eaa bufr 000622 9a 4 00014 7551 00 593 sta lp|bufad 000623 aa 000001 0350 03 594 adla 1,du 000624 9a 4 00015 7551 00 595 sta lp|bufad1  000625 8a 000710 6350 00 596 eaa pbfnd  000626 9a 4 00016 7551 00 597 sta lp|endbuf  000627 8a 000020 6350 00 598 eaa bufr 000630 9a 4 00017 7551 00 599 sta lp|bufr-1  000631 8a 000710 6350 00 600 eaa eisbf  000632 9a 4 01015 7551 00 601 sta lp|.creis  000633 602 xinix: null  000633 9a 4 00750 0731 00 603 lreg lp|savreg  000634 aa 6 00113 7241 00 604 xfer: lxl4 mod  000635 0a 000636 7100 14 605 tra *+1,4  000636 0a 000316 7100 00 606 tra snp ep # 1 000637 0a 000615 7100 00 607 tra bp06 ep # 2 000640 aa 000000 0110 03 608 nopr: nop 0,du  000641 609 bord1: null ep # 3  000641 9a 4 01002 7571 15 610 staq lp|.stemp,5 save ic+i:dump parameter 000642 9a 4 00010 7551 00 611 sta lp|icir ic+i for printing  000643 aa 6 00102 7411 00 612 stx1 span4a save absolute register pointer 000644 aa 000000 6210 01 613 eax1 0,au instruction at ic is the odd  000645 aa 000200 3150 07 614 cana =o200,dl is it master or slave  000646 0a 000660 6010 00 615 tnz contd master  000647 9a 4 01014 0211 16 616 adlx1 lp|.crlal,6 slave absolutize it  000650 aa 6 00104 7411 00 617 stx1 sizea  000651 9a 4 01000 2351 15 618 lda lp|.salim,5  000652 aa 000776 3750 03 619 ana =o776,du program bound  000653 aa 000011 7350 00 620 als 9  000654 aa 000001 1350 03 621 sbla 1,du last legal address  000655 9a 4 01014 0351 16 622 adla lp|.crlal,6 absolutize it  000656 aa 6 00104 1151 00 623 size: cmpa sizea is snap legal  000657 0a 000334 6020 00 624 tnc panel no, dump panel only  000660 625 contd: null 000660 aa 000201 3350 07 626 lca =o201,dl  000661 9a 4 01002 3551 15 627 ansa lp|.stemp,5 turn off master mode bit  000662 0a 000334 7100 00 628 tra panel 629 "  630 " This routine converts the dump record format to print line format 631 " and moves therecords to the print buffer (pbufr). 632 " This routine is a modification of the write and dump routines 633 " of the GCOS SR1/G program GEOT.  634 "  000663 635 gwrite: null  000663 aa 6 00105 7411 00 636 stx1 wtrsk save return location  000664 8a 000020 6220 00 637 eax2 bufr set x2 for block control word  000665 8a 000210 6240 00 638 eax4 pbufr set x4 for expansion & print buffer 000666 aa 6 00107 7441 00 639 stx4 talls initialize output buffer (pbufr) tally  000667 8a 000020 6200 00 640 eax0 bufr set end of buffer limit  000670 aa 4 00000 0201 12 641 adlx0 lp|0,2 number of words from record control word  000671 aa 6 00106 7401 00 642 stx0 nwdpr 000672 643 writb: null 000672 aa 4 00000 7211 12 644 lxl1 lp|0,2 x1 = lower of l.r. cont-wd 000673 aa 060000 1010 03 645 cmpx1 =o060000,du  000674 0a 000740 6000 00 646 tze cdump control for dump 000675 aa 070374 1010 03 647 cmpx1 =o070374,du  000676 0a 000745 6000 00 648 tze dump dump record  000677 aa 007700 3610 03 649 writr: anx1 =o007700,du 000700 aa 000300 1010 03 650 cmpx1 =o000300,du  000701 0a 000703 6000 00 651 tze writh if m/c = 3, accept record  000702 0a 000721 7100 00 652 tra writc ignore other m/c's  000703 653 writh: null 000703 654 q.ar: null  000703 aa 000777 2350 03 655 lda =o000777,du mask out all but last nine bits of word  000704 aa 007777 2750 07 656 ora =o007777,dl count, media code, and report from 000705 aa 4 00000 3551 12 657 ansa lp|0,2 GFRC control word  000706 aa 4 00000 2201 12 658 ldx0 lp|0,2  000707 aa 000001 6350 10 659 eaa 1,0 move logical record to print buffer  000710 aa 000012 7350 00 660 als 10 000711 aa 001400 6200 01 661 eax0 768,au  000712 aa 000000 6230 12 662 eax3 0,2  000713 aa 6 00107 2241 00 663 ldx4 talls 000714 aa 000000 0110 03 664 odd  000715 aa 000000 5602 01 665 rpdx 0,1  000716 aa 4 00000 2351 13 666 lda lp|0,3 from bufr  000717 aa 4 00000 7551 14 667 sta lp|0,4 to pbufr  000720 aa 6 00107 7441 00 668 stx4 talls 000721 aa 4 00000 0221 12 669 writc: adlx2 lp|0,2 advance x2 to last word of record  000722 aa 000001 0220 03 670 writq: adlx2 1,du advance x2 to next l.r.  000723 aa 6 00106 4421 00 671 sxl2 nwdpr save l.r. pointer in case of continue  000724 aa 6 00106 1021 00 672 cmpx2 nwdpr  000725 0a 000727 6030 00 673 trc writd skip if we finished buffer  000726 0a 000672 7100 00 674 tra writb repeat if more  000727 675 writd: null 000727 8a 000210 6200 00 676 eax0 pbufr develop block length  000730 aa 6 00112 7401 00 677 stx0 workt 000731 aa 777777 6240 14 678 eax4 -1,4  000732 aa 6 00112 1241 00 679 sblx4 workt  000733 9a 4 00210 4441 00 680 sxl4 lp|pbufr set length in block control word 000734 aa 6 00105 2211 00 681 ldx1 wtrsk return address  000735 aa 000000 2250 03 682 ldx5 0,du  000736 aa 000000 2270 03 683 ldx7 0,du  000737 aa 000000 7100 11 684 tra 0,1 return to caller  000740 aa 4 00000 4501 12 685 cdump: stz lp|0,2 skip to first logical record  000741 aa 4 00000 4501 14 686 stz lp|0,4 zero output block control word  000742 aa 000001 0240 03 687 adlx4 1,du bump tally  000743 aa 6 00107 7441 00 688 stx4 talls 000744 0a 000721 7100 00 689 tra writc  000745 690 dump: null  000745 aa 6 00107 2201 00 691 ldx0 talls 000746 aa 000024 0200 03 692 adlx0 20,du  000747 9a 4 00016 1001 00 693 cmpx0 lp|endbuf  000750 0a 000727 6030 00 694 trc writd  000751 695 dump4: null 000751 aa 000000 6250 12 696 dump0: eax5 0,2 x5 = beginning of logical record  000752 aa 4 00001 2361 12 697 ldq lp|1,2 beginning address/line i.d. 000753 aa 4 00001 2351 15 698 lda lp|1,5 save address for next line  000754 aa 777777 3750 03 699 ana -1,du  000755 aa 202020 2750 07 700 ora =o202020,dl  000756 aa 4 00001 7551 15 701 sta lp|1,5 000757 aa 777777 2350 03 702 lda =o777777,du  000760 aa 4 00000 0551 15 703 asa lp|0,5 now only binary data wd count  000761 aa 000002 0220 03 704 adlx2 2,du first binary data word  000762 aa 000025 2350 03 705 dump1: lda 21,du  000763 aa 000374 2750 07 706 ora =o374,dl build control word for 21 word line  000764 aa 4 00000 7551 14 707 sta lp|0,4 000765 aa 6 00110 7441 00 708 stx4 lrcw save location of rcw 000766 aa 000001 0240 03 709 adlx4 1,du 000767 aa 000005 2200 03 710 ldx0 5,du convert and store line address  000770 aa 000000 2350 03 711 lda 0,du  000771 aa 000003 7350 00 712 als 3  000772 aa 000003 7370 00 713 lls 3  000773 aa 000001 1200 03 714 sblx0 1,du 000774 0a 000771 6050 00 715 tpl *-3  000775 aa 4 00000 7551 14 716 sta lp|0,4 000776 aa 000001 0240 03 717 adlx4 1,du 000777 aa 202020 2760 07 718 orq =o202020,dl trailing blanks after line i.d.  001000 aa 4 00000 7561 14 719 stq lp|0,4 store line i.d. and 3 blanks  001001 aa 000001 0240 03 720 adlx4 1,du 001002 aa 000005 2200 03 721 ldx0 5,du set shift count-1  001003 aa 4 00000 2211 15 722 ldx1 lp|0,5 set x1 for words/line  001004 0a 001041 6000 00 723 tze dump2 none if length = 0  001005 aa 000010 1010 03 724 cmpx1 8,du 001006 0a 001010 6020 00 725 tnc dump3 = exact if <= 8  001007 aa 000010 2210 03 726 ldx1 8,du = 8 if more in record  001010 aa 000013 2270 03 727 dump3: ldx7 11,du  001011 aa 4 00000 2361 12 728 ldq lp|0,2 001012 aa 000003 7350 00 729 als 3  001013 aa 000003 7370 00 730 lls 3  001014 aa 000001 1200 03 731 sblx0 1,du 001015 0a 001021 6050 00 732 tpl *+4  001016 aa 000005 2200 03 733 ldx0 5,du  001017 aa 4 00000 7551 14 734 sta lp|0,4 store expanded word 001020 aa 000001 0240 03 735 adlx4 1,du 001021 aa 000001 1270 03 736 sblx7 1,du 001022 0a 001012 6050 00 737 tpl dump3+2  001023 aa 000001 0220 03 738 adlx2 1,du 001024 aa 000001 1210 03 739 sblx1 1,du 001025 0a 001041 6000 00 740 tze dump2 exit 001026 0a 001041 6040 00 741 tmi dump2 exit 001027 aa 202000 2360 03 742 ldq =o202000,du add two trailing blanks after each expanded  001030 aa 000006 7370 00 743 lls 6 data word  001031 aa 000001 1200 03 744 sblx0 1,du 001032 aa 000006 7370 00 745 lls 6  001033 aa 000001 1200 03 746 sblx0 1,du 001034 0a 001010 6050 00 747 tpl dump3  001035 aa 000005 2200 03 748 ldx0 5,du  001036 aa 4 00000 7551 14 749 sta lp|0,4 001037 aa 000001 0240 03 750 adlx4 1,du 001040 0a 001010 7100 00 751 tra dump3  001041 752 dump2: null 001041 0a 001117 2360 00 753 ldq =o770101010101 001042 aa 000006 7370 00 754 lls 6  001043 aa 000001 1200 03 755 sblx0 1,du 001044 0a 001042 6050 00 756 tpl *-2  001045 aa 4 00000 7551 14 757 sta lp|0,4 store slew characters  001046 aa 000001 0240 03 758 adlx4 1,du 001047 aa 6 00107 7441 00 759 stx4 talls 001050 760 dumpa: null 001050 aa 4 00000 2211 15 761 ldx1 lp|0,5 no. of binary words in l.r.  001051 aa 000010 1210 03 762 sblx1 8,du 001052 0a 001071 6000 00 763 tze dump7 end of l.r.  001053 0a 001065 6040 00 764 tmi dump6 last line was partial  001054 aa 4 00000 7411 15 765 stx1 lp|0,5  001055 aa 4 00001 2361 15 766 ldq lp|1,5 001056 aa 000010 0360 03 767 adlq 8,du  001057 aa 4 00001 7561 15 768 stq lp|1,5 001060 769 dumpb: null 001060 aa 000000 6200 14 770 eax0 0,4 next address in expansion buffer  001061 aa 000024 0200 03 771 adlx0 20,du  001062 9a 4 00016 1001 00 772 cmpx0 lp|endbuf  001063 0a 000762 6020 00 773 tnc dump1  001064 0a 000727 7100 00 774 tra writd quick fix  001065 aa 777777 6200 14 775 dump6: eax0 -1,4 correction to rcw for partial record  001066 aa 6 00110 1201 00 776 sblx0 lrcw 001067 aa 6 00110 2271 00 777 ldx7 lrcw  001070 aa 4 00000 7401 17 778 stx0 lp|0,7 record length to rcw  001071 aa 000000 6200 14 779 dump7: eax0 0,4 001072 aa 000024 0200 03 780 adlx0 20,du  001073 9a 4 00016 1001 00 781 cmpx0 lp|endbuf has buffer been filled 001074 0a 000723 6020 00 782 tnc writq+1 no 001075 aa 6 00106 4421 00 783 sxl2 nwdpr 001076 aa 6 00106 1021 00 784 cmpx2 nwdpr has 120 wd buffer been exhausted  001077 0a 000727 6030 00 785 trc writd yes - write it out  001100 0a 000727 7100 00 786 tra writd quick fix  001101 787 txtnd: null  788 "  789 " Temporary 790 "  791 tempd arglst(5)  792 temp desc2 793 temp prea  794 temp op05a 795 temp op15a 796 temp op20a 797 temp op40a 798 temp mo10a 799 temp mo20a 800 temp mo30a 801 temp comp20a  802 temp wdcnt 803 temp wr10a 804 temp wr20a 805 temp writxa  806 temp snpmsa  807 temp snp5a 808 temp span4a  809 temp span6a  810 temp sizea 811 temp wtrsk 812 temp nwdpr 813 temp talls 814 temp lrcw  815 temp bsn  816 temp workt 817 temp mod  818 use intstat  819 join /link/intstat 000010 820 icir: bss ,4 ic+ir,bar,eibf,oibf  000014 821 bufad: bss ,1  000015 822 bufad1: bss ,1  000016 823 endbuf: bss ,1 824 odd  000017 825 bss ,1 000020 826 bufr: bss ,120  000210 827 bufnd: null  000210 828 pbufr: bss ,320 000710 829 pbfnd: null 000710 830 eisbf: bss ,24  831 eight  000740 832 savrgu: bss ,8  000750 833 savreg: bss ,8  834 "  835 " GCOS data base  836 "  837 eight  000760 838 segdef ssa 000760 839 ssa: null  000760 840 bss .sstke,8  841 eight  000770 842 bss .sreg,8  001000 843 bss .salim,2  844 even  001002 845 bss .stemp,10  001014 aa 000000 000000 846 .crlal: dec 0  001015 847 .creis: bss ,1  848 even  001016 aa 000000 000764 849 .crmsz: zero 0,500  001017 850 xend: null  851 end  ENTRY SEQUENCES  001101 5a 000030 0000 00 001102 aa 7 00046 2721 20 001103 0a 000000 7100 00 001104 5a 000023 0000 00 001105 aa 7 00046 2721 20 001106 0a 000501 7100 00 001107 5a 000016 0000 00 001110 aa 7 00046 2721 20 001111 0a 000467 7100 00 LITERALS 001112 aa 777777 077777 001113 aa 777777 777577 001114 aa 202017 000020 001115 aa 011717 171717 001116 aa 000004 000004 001117 aa 770101 010101 NAME DEFINITIONS FOR ENTRY POINTS AND SEGDEFS 001120 5a 000003 000000 001121 5a 000046 600000 001122 aa 000000 000000 001123 55 000012 000002 001124 5a 000002 400003 001125 55 000006 000012 001126 aa 016 147 143 157 001127 aa 163 137 155 155 001130 aa 145 137 163 156 001131 aa 160 061 137 000 001132 55 000016 000003 001133 2a 000760 400001 001134 55 000015 000003 001135 aa 003 163 163 141 ssa 001136 55 000023 000012 001137 0a 001110 500000 001140 55 000021 000003 001141 aa 005 142 151 156 binpt  001142 aa 160 164 000 000 001143 55 000030 000016 001144 0a 001105 500000 001145 55 000026 000003 001146 aa 004 142 157 162 bord  001147 aa 144 000 000 000 001150 55 000037 000023 001151 0a 001102 500000 001152 55 000033 000003 001153 aa 016 147 143 157 gcos_mme_snp1_  001154 aa 163 137 155 155 001155 aa 145 137 163 156 001156 aa 160 061 137 000 001157 55 000002 000030 001160 6a 000000 400002 001161 55 000042 000003 001162 aa 014 163 171 155 symbol_table  001163 aa 142 157 154 137 001164 aa 164 141 142 154 001165 aa 145 000 000 000 DEFINITIONS HASH TABLE  001166 aa 000000 000015 001167 aa 000000 000000 001170 aa 000000 000000 001171 aa 000000 000000 001172 aa 000000 000000 001173 5a 000030 000000 001174 5a 000016 000000 001175 5a 000023 000000 001176 5a 000037 000000 001177 aa 000000 000000 001200 5a 000012 000000 001201 aa 000000 000000 001202 aa 000000 000000 001203 aa 000000 000000 EXTERNAL NAMES  001204 aa 002 155 143 000 mc  001205 aa 003 160 162 164 prt 001206 aa 023 147 143 157 gcos_slave_area_seg 001207 aa 163 137 163 154 001210 aa 141 166 145 137 001211 aa 141 162 145 141 001212 aa 137 163 145 147 001213 aa 016 147 143 157 gcos_ext_stat_  001214 aa 163 137 145 170 001215 aa 164 137 163 164 001216 aa 141 164 137 000 001217 aa 011 142 154 157 block_ptr  001220 aa 143 153 137 160 001221 aa 164 162 000 000 001222 aa 013 147 143 157 gcos_write_ 001223 aa 163 137 167 162 001224 aa 151 164 145 137 NO TRAP POINTER WORDS  TYPE PAIR BLOCKS  001225 aa 000004 000000 001226 55 000073 000064 001227 aa 000004 000000 001230 55 000073 000065 001231 aa 000004 000000 001232 55 000073 000066 001233 aa 000004 000000 001234 55 000102 000077 001235 aa 000001 000000 001236 aa 000000 000000 INTERNAL EXPRESSION WORDS 001237 5a 000105 000000 001240 5a 000107 000000 001241 5a 000111 000000 001242 5a 000113 000000 001243 aa 000000 000000 LINKAGE INFORMATION 000000 aa 000000 000000 000001 0a 001120 000000 000002 aa 000000 000000 000003 aa 000000 000000 000004 aa 000000 000000 000005 aa 000000 000000 000006 22 001020 001030 000007 a2 000000 001010 001020 9a 776760 0000 46 gcos_write_|block_ptr  001021 5a 000122 0000 00 001022 9a 776756 0000 46 gcos_ext_stat_|gcos_slave_area_seg  001023 5a 000121 0000 20 001024 9a 776754 0000 46 gcos_ext_stat_|prt  001025 5a 000120 0000 00 001026 9a 776752 0000 46 gcos_ext_stat_|mc  001027 5a 000117 0000 00 SYMBOL INFORMATION SYMBOL TABLE HEADER  000000 aa 000000 000001 000001 aa 163171 155142 000002 aa 164162 145145 000003 aa 000000 000004 000004 aa 000000 111316 000005 aa 510113 575622 000006 aa 000000 112124 000007 aa 156072 160777 000010 aa 141154 155040 000011 aa 040040 040040 000012 aa 000024 000040 000013 aa 000034 000040 000014 aa 000044 000100 000015 aa 000002 000010 000016 aa 000064 000000 000017 aa 000000 000257 000020 aa 000000 000117 000021 aa 000000 000206 000022 aa 000250 000117 000023 aa 000064 000000 000024 aa 101114 115040 000025 aa 126145 162163 000026 aa 151157 156040 000027 aa 040066 056064 000030 aa 040040 101160 000031 aa 162151 154040 000032 aa 061071 070061 000033 aa 040040 040040 000034 aa 107112 157150 000035 aa 156163 157156 000036 aa 056123 171163 000037 aa 115141 151156 000040 aa 164056 155040 000041 aa 040040 040040 000042 aa 040040 040040 000043 aa 040040 040040 000044 aa 154151 163164 000045 aa 040040 040040 000046 aa 040040 040040 000047 aa 040040 040040 000050 aa 040040 040040 000051 aa 040040 040040 000052 aa 040040 040040 000053 aa 040040 040040 000054 aa 040040 040040 000055 aa 040040 040040 000056 aa 040040 040040 000057 aa 040040 040040 000060 aa 040040 040040 000061 aa 040040 040040 000062 aa 040040 040040 000063 aa 040040 040040 000064 aa 000000 000001 000065 aa 000000 000002 000066 aa 000076 000051 000067 aa 121240 053552 000070 aa 000000 112124 000071 aa 132054 200000 000072 aa 000111 000030 000073 aa 077377 110471 000074 aa 000000 107737 000075 aa 746246 400000 000076 aa 076163 160145 >spec>on>09/07/83-gcos>gcos_mme_snp1_.alm  000077 aa 143076 157156 000100 aa 076060 071057 000101 aa 060067 057070 000102 aa 063055 147143 000103 aa 157163 076147 000104 aa 143157 163137 000105 aa 155155 145137 000106 aa 163156 160061 000107 aa 137056 141154 000110 aa 155040 040040 000111 aa 076154 144144 >ldd>include>mc.incl.alm  000112 aa 076151 156143 000113 aa 154165 144145 000114 aa 076155 143056 000115 aa 151156 143154 000116 aa 056141 154155 MULTICS ASSEMBLY CROSS REFERENCE LISTING Value Symbol Source file Line number  1015 .creis gcos_mme_snp1_: 309, 601, 847.  1014 .crlal gcos_mme_snp1_: 246, 272, 273, 342, 616, 622, 846.  1016 .crmsz gcos_mme_snp1_: 849.  1000 .salim gcos_mme_snp1_: 275, 351, 541, 543, 544, 545, 547, 548, 618, 843. 770 .sreg gcos_mme_snp1_: 348, 373, 374, 379, 380, 381, 500, 560, 842.  760 .sstke gcos_mme_snp1_: 335, 341, 553, 840. 1002 .stemp gcos_mme_snp1_: 265, 289, 290, 293, 295, 296, 298, 300, 302, 303, 304,  345, 505, 610, 627, 845.  50 arglst gcos_mme_snp1_: 259, 512, 520, 526, 528, 530, 532, 534, 791.  370 bar gcos_mme_snp1_: 381.  467 binpt gcos_mme_snp1_: 50, 476. block_ptr gcos_mme_snp1_: 259.  501 bord gcos_mme_snp1_: 50, 493. 641 bord1 gcos_mme_snp1_: 609.  10 bp gcos_mme_snp1_: 69, 321. 11 bp05 gcos_mme_snp1_: 71, 307, 590.  615 bp06 gcos_mme_snp1_: 586, 607. 21 bp10 gcos_mme_snp1_: 81, 86. 27 bp20 gcos_mme_snp1_: 77, 87, 103.  50 bp30 gcos_mme_snp1_: 89, 104, 115.  56 bp50 gcos_mme_snp1_: 98, 111. 111 bsn gcos_mme_snp1_: 250, 252, 815.  14 bufad gcos_mme_snp1_: 238, 593, 821.  15 bufad1 gcos_mme_snp1_: 79, 262, 358, 595, 822.  210 bufnd gcos_mme_snp1_: 129, 827. 20 bufr gcos_mme_snp1_: 241, 244, 247, 592, 598, 599, 637, 640, 826.  740 cdump gcos_mme_snp1_: 646, 685. 261 ckeis gcos_mme_snp1_: 308, 397. 214 ckore gcos_mme_snp1_: 264, 331, 368.  137 comp gcos_mme_snp1_: 88, 97, 210.  140 comp10 gcos_mme_snp1_: 211, 223. 152 comp20 gcos_mme_snp1_: 90, 100, 222.  73 comp20a gcos_mme_snp1_: 91, 102, 215, 222, 801.  660 contd gcos_mme_snp1_: 615, 625. 545 desc1 gcos_mme_snp1_: 531, 537. 62 desc2 gcos_mme_snp1_: 258, 533, 792.  546 desc2i gcos_mme_snp1_: 253, 538. 745 dump gcos_mme_snp1_: 648, 690. 751 dump0 gcos_mme_snp1_: 696.  762 dump1 gcos_mme_snp1_: 705, 773. 1041 dump2 gcos_mme_snp1_: 723, 740, 741, 752. 1010 dump3 gcos_mme_snp1_: 725, 727, 737, 747, 751.  751 dump4 gcos_mme_snp1_: 695.  1065 dump6 gcos_mme_snp1_: 764, 775. 1071 dump7 gcos_mme_snp1_: 763, 779. 1050 dumpa gcos_mme_snp1_: 760.  1060 dumpb gcos_mme_snp1_: 769.  360 ein gcos_mme_snp1_: 373.  710 eisbf gcos_mme_snp1_: 567, 574, 600, 830. 16 endbuf gcos_mme_snp1_: 597, 693, 772, 781, 823.  54 flush gcos_mme_snp1_: 108, 268. gcos_ext_stat_ gcos_mme_snp1_: 322, 527, 535, 550. 0 gcos_mme_snp1_ gcos_mme_snp1_: 50, 54. gcos_slave_area_seg gcos_mme_snp1_: 322, 535. gcos_write_ gcos_mme_snp1_: 259.  466 gesnip gcos_mme_snp1_: 465.  663 gwrite gcos_mme_snp1_: 249, 635. 10 icir gcos_mme_snp1_: 338, 340, 343, 347, 352, 373, 374, 379, 380, 381, 577,  579, 611, 820.  366 icr gcos_mme_snp1_: 376, 379. 10 intstat gcos_mme_snp1_: 818, 819. 367 irr gcos_mme_snp1_: 380.  110 lrcw gcos_mme_snp1_: 708, 776, 777, 814. mc gcos_mme_snp1_: 550.  300000 mc.cpu_type_mask mc: 22. 3 mc.cpu_type_shift mc: 25. 46 mc.cpu_type_word mc: 21. 50 mc.eis_info gcos_mme_snp1_: 573,  mc: 11. 43 mc.errcode mc: 17. 46 mc.ext_fault_reg mc: 23. 77774 mc.ext_fault_reg_mask mc: 24. 45 mc.fault_reg mc: 19. 46 mc.fault_time mc: 20. 44 mc.fim_temp mc: 18. 42 mc.ips_temp mc: 16. 40 mc.mask mc: 15. 0 mc.prs gcos_mme_snp1_: 566,  mc: 8. 20 mc.regs gcos_mme_snp1_: 559,  mc: 9. 30 mc.scu mc: 10. 30 mc.scu.apu_stat_word mc: 48. 35 mc.scu.ca_word mc: 207. 32 mc.scu.cpu_no_word mc: 138. 35 mc.scu.cpu_tag_word mc: 231. 35 mc.scu.cu_stat_word mc: 211. 32 mc.scu.delta_word mc: 144. 30 mc.scu.fault_cntr_word mc: 66. 31 mc.scu.fault_data_word mc: 74. 34 mc.scu.ilc_word gcos_mme_snp1_: 551,  mc: 182. 34 mc.scu.indicators_word mc: 186. 31 mc.scu.port_stat_word mc: 108. 30 mc.scu.ppr.prr_word mc: 33. 30 mc.scu.ppr.psr_word mc: 38. 30 mc.scu.ppr.p_word mc: 43. 33 mc.scu.tpr.tbr_word mc: 174. 32 mc.scu.tpr.trr_word mc: 128. 32 mc.scu.tpr.tsr_word mc: 133. 33 mc.scu.tsr_stat_word mc: 152. 547 mfalt gcos_mme_snp1_: 536, 539. 116 mo10 gcos_mme_snp1_: 174.  70 mo10a gcos_mme_snp1_: 87, 92, 114, 150, 174, 798. 117 mo20 gcos_mme_snp1_: 177.  71 mo20a gcos_mme_snp1_: 178, 284, 310, 311, 312, 588, 799.  121 mo30 gcos_mme_snp1_: 179.  72 mo30a gcos_mme_snp1_: 96, 152, 179, 285, 582, 589, 800.  124 mo40 gcos_mme_snp1_: 182.  133 mo50 gcos_mme_snp1_: 185, 189. 130 mo60 gcos_mme_snp1_: 186, 192. 113 mod gcos_mme_snp1_: 58, 369, 480, 497, 604, 817. 113 move gcos_mme_snp1_: 138, 147, 171.  640 nopr gcos_mme_snp1_: 608.  106 nwdpr gcos_mme_snp1_: 642, 671, 672, 783, 784, 812. 361 oin gcos_mme_snp1_: 374.  64 op05a gcos_mme_snp1_: 130, 131, 794.  70 op10 gcos_mme_snp1_: 135.  65 op15a gcos_mme_snp1_: 134, 135, 795.  74 op20 gcos_mme_snp1_: 139.  66 op20a gcos_mme_snp1_: 128, 139, 796.  76 op30 gcos_mme_snp1_: 136, 141. 105 op40 gcos_mme_snp1_: 148.  67 op40a gcos_mme_snp1_: 145, 148, 797.  111 op50 gcos_mme_snp1_: 133, 142, 153.  62 output gcos_mme_snp1_: 94, 105, 128, 154. 334 panel gcos_mme_snp1_: 350, 624, 628.  710 pbfnd gcos_mme_snp1_: 596, 829. 210 pbufr gcos_mme_snp1_: 251, 529, 638, 676, 680, 828. 516 pinit gcos_mme_snp1_: 507.  52 pre gcos_mme_snp1_: 106.  63 prea gcos_mme_snp1_: 70, 106, 330, 793. prt gcos_mme_snp1_: 527.  703 q.ar gcos_mme_snp1_: 654.  307 rcw gcos_mme_snp1_: 314, 323, 332.  750 savreg gcos_mme_snp1_: 506, 587, 603, 833. 740 savrgu gcos_mme_snp1_: 832.  457 scon2 gcos_mme_snp1_: 422, 440. 460 scon3 gcos_mme_snp1_: 429, 441. 2000 scu.apu.dsptw mc: 57. 10 scu.apu.fabs mc: 64. 20 scu.apu.fanp mc: 63. 40 scu.apu.fap mc: 62. 4000 scu.apu.pi_ap mc: 56. 200 scu.apu.ptw mc: 60. 100 scu.apu.ptw2 mc: 61. 20000 scu.apu.ptwm mc: 54. 10000 scu.apu.pt_on mc: 55. 100000 scu.apu.sdwm mc: 52. 1000 scu.apu.sdwnp mc: 58. 400 scu.apu.sdwp mc: 59. 40000 scu.apu.sd_on mc: 53. 200000 scu.apu.xsf mc: 51. 0 scu.apu_stat_word mc: 49. 22 scu.ca_shift mc: 209. 5 scu.ca_word mc: 208. 700 scu.con_chan_mask mc: 117. 6 scu.con_chan_shift mc: 118. 700 scu.cpu_no_mask mc: 141. 2 scu.cpu_no_word mc: 139. 6 scu.cpu_shift mc: 142. 7 scu.cpu_tag_mask mc: 234. 5 scu.cpu_tag_word mc: 232. 100 scu.cu.if mc: 229. 1000 scu.cu.poa mc: 226. 10000 scu.cu.pon mc: 221. 20000 scu.cu.pot mc: 220. 100000 scu.cu.rd mc: 217. 400000 scu.cu.rf mc: 214. 400 scu.cu.rfi mc: 227. 40000 scu.cu.rl mc: 218. 200000 scu.cu.rpt mc: 216. 4000 scu.cu.xde mc: 223. 2000 scu.cu.xdo mc: 224. 5 scu.cu_stat_word mc: 212. 77 scu.delta_mask mc: 147. 2 scu.delta_word mc: 145. 36 scu.even_inst_word gcos_mme_snp1_: 576,  mc: 239. 7 scu.fault_cntr_mask mc: 69. 0 scu.fault_cntr_word mc: 67. 1 scu.fault_data_word mc: 75. 10 scu.fd.am_er mc: 91. 200 scu.fd.boc mc: 87. 40 scu.fd.crt mc: 89. 100000 scu.fd.e_off mc: 79. 100000 scu.fd.ia_im mc: 102. 100 scu.fd.inret mc: 88. 200000 scu.fd.ioc mc: 101. 20000 scu.fd.ipr mc: 104. 400000 scu.fd.iro mc: 77. 400000 scu.fd.isn mc: 100. 40000 scu.fd.isp mc: 103. 10000 scu.fd.nea mc: 105. 2000 scu.fd.no_ga mc: 84. 400 scu.fd.ocall mc: 86. 1000 scu.fd.ocb mc: 85. 200000 scu.fd.oeb mc: 78. 400000 scu.fd.onc_1 mc: 96. 200000 scu.fd.onc_2 mc: 97. 4000 scu.fd.oobb mc: 106. 4 scu.fd.oosb mc: 92. 40000 scu.fd.orb mc: 80. 10000 scu.fd.owb mc: 82. 1 scu.fd.parl mc: 94. 2 scu.fd.paru mc: 93. 20 scu.fd.ralr mc: 90. 20000 scu.fd.r_off mc: 81. 4000 scu.fd.w_off mc: 83. 1 scu.fi_flag_mask mc: 123. 76 scu.fi_num_mask mc: 120. 1 scu.fi_num_shift mc: 121. 7000 scu.iac_mask mc: 114. 11 scu.iac_shift mc: 115. 170000 scu.ial_mask mc: 111. 14 scu.ial_shift mc: 112. 22 scu.ilc_shift mc: 184. 4 scu.ilc_word mc: 183. 4 scu.indicators_word mc: 187. 20 scu.ir.abs mc: 202. 200 scu.ir.bm mc: 199. 100000 scu.ir.carry mc: 191. 20000 scu.ir.eovf mc: 193. 10000 scu.ir.eufl mc: 194. 40 scu.ir.mif mc: 201. 200000 scu.ir.neg mc: 190. 4000 scu.ir.oflm mc: 195. 40000 scu.ir.ovfl mc: 192. 1000 scu.ir.par mc: 197. 400 scu.ir.parm mc: 198. 2000 scu.ir.tro mc: 196. 100 scu.ir.tru mc: 200. 400000 scu.ir.zero mc: 189. 37 scu.odd_inst_word gcos_mme_snp1_: 578,  mc: 241. 1 scu.port_stat_word mc: 109. 400000 scu.ppr.p mc: 45. 700000 scu.ppr.prr_mask mc: 35. 41 scu.ppr.prr_shift mc: 36. 0 scu.ppr.prr_word mc: 34. 77777 scu.ppr.psr_mask mc: 40. 22 scu.ppr.psr_shift mc: 41. 0 scu.ppr.psr_word mc: 39. 0 scu.ppr.p_word mc: 44. 77 scu.tpr.tbr_mask mc: 177. 3 scu.tpr.tbr_word mc: 175. 700000 scu.tpr.trr_mask mc: 130. 41 scu.tpr.trr_shift mc: 131. 2 scu.tpr.trr_word mc: 129. 77777 scu.tpr.tsr_mask mc: 135. 22 scu.tpr.tsr_shift mc: 136. 2 scu.tpr.tsr_word mc: 134. 700000 scu.tsna.prn_mask mc: 159. 17 scu.tsna.prn_shift mc: 160. 40000 scu.tsna.prv mc: 161. 740000 scu.tsna_mask mc: 158. 34000 scu.tsnb.prn_mask mc: 164. 13 scu.tsnb.prn_shift mc: 165. 2000 scu.tsnb.prv mc: 166. 36000 scu.tsnb_mask mc: 163. 1600 scu.tsnc.prn_mask mc: 169. 7 scu.tsnc.prn_shift mc: 170. 100 scu.tsnc.prv mc: 171. 13 scu.tsnc_mask mc: 168. 777700 scu.tsr_stat_mask mc: 155. 6 scu.tsr_stat_shift mc: 156. 3 scu.tsr_stat_word mc: 153. 362 shift gcos_mme_snp1_: 375.  656 size gcos_mme_snp1_: 623.  104 sizea gcos_mme_snp1_: 617, 623, 810.  316 snp gcos_mme_snp1_: 334, 606. 322 snp1 gcos_mme_snp1_: 339.  365 snp4 gcos_mme_snp1_: 371, 378. 351 snp5 gcos_mme_snp1_: 365, 583. 101 snp5a gcos_mme_snp1_: 357, 363, 584, 807. 333 snp7 gcos_mme_snp1_: 349.  220 snpc gcos_mme_snp1_: 267, 269. 256 snpms gcos_mme_snp1_: 305.  100 snpmsa gcos_mme_snp1_: 283, 305, 806.  224 snps gcos_mme_snp1_: 274.  354 snpx gcos_mme_snp1_: 369.  411 span gcos_mme_snp1_: 372, 378, 387, 401. 450 span1 gcos_mme_snp1_: 407, 432. 422 span4 gcos_mme_snp1_: 410.  102 span4a gcos_mme_snp1_: 349, 411, 612, 808. 415 span5 gcos_mme_snp1_: 364, 377, 405, 431. 452 span6 gcos_mme_snp1_: 434.  103 span6a gcos_mme_snp1_: 360, 402, 433, 434, 437, 809. 760 ssa gcos_mme_snp1_: 838, 839. 621 syot gcos_mme_snp1_: 585, 591. 107 talls gcos_mme_snp1_: 639, 663, 668, 688, 691, 759, 813.  1101 txtnd gcos_mme_snp1_: 787.  74 wdcnt gcos_mme_snp1_: 75, 93, 101, 104, 210, 802. 112 workt gcos_mme_snp1_: 511, 513, 514, 515, 677, 679, 816.  75 wr10a gcos_mme_snp1_: 239, 240, 803.  76 wr20a gcos_mme_snp1_: 248, 260, 804.  672 writb gcos_mme_snp1_: 643, 674. 721 writc gcos_mme_snp1_: 652, 669, 689.  727 writd gcos_mme_snp1_: 673, 675, 694, 774, 785, 786. 154 write gcos_mme_snp1_: 108, 153, 237.  703 writh gcos_mme_snp1_: 651, 653. 722 writq gcos_mme_snp1_: 670, 782. 677 writr gcos_mme_snp1_: 649.  211 writx gcos_mme_snp1_: 261.  77 writxa gcos_mme_snp1_: 237, 261, 805.  105 wtrsk gcos_mme_snp1_: 636, 681, 811.  1017 xend gcos_mme_snp1_: 850.  634 xfer gcos_mme_snp1_: 604.  511 xinit1 gcos_mme_snp1_: 61, 466, 485, 501. 633 xinix gcos_mme_snp1_: 602.  55 xit gcos_mme_snp1_: 109.  610 xsnp1 gcos_mme_snp1_: 581.  NO FATAL ERRORS  ----------------------------------------------------------- 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