ASSEMBLY LISTING OF SEGMENT >dumps>old>recomp>format_355_dump_line_.alm ASSEMBLED ON: 11/15/82 1753.7 mst Mon 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 " * Copyright (c) 1972 by Massachusetts Institute of *  6 " * Technology and Honeywell Information Systems, Inc. *  7 " * *  8 " ***********************************************************  9  10 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "  11 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "  12 "  13 " FORMAT_355_DUMP_LINE_ 14 "  15 " This is an alm program which is called by online_355_dump_ to 16 " produce an ascii representation of 1 or more 355 words in octal.  17 " It is called with three arguments: argument 1 is a pointer to the 18 " input data. This pointer may have a bit offset in it but it must  19 " be either 0 or 18 (i.e., the 355 words must be 18 bit aligned).  20 " Argument 2 is the number of 355 18 bit words to be converted to  21 " their ascii octal representation. Argument 3 is a pointer to the  22 " place where the output is to be written. This pointer may have  23 " a bit offset but it must be on a 9 bit (character) boundary.  24 "  25 " This program has another entry point, 'line'. The first 3 args  26 " are as above but the last four consist of two pointer, fixed  27 " bin pairs that are to be converted to octal. That is, the 2 fixed 28 " bin args are to be converted to octal and the result placed in  29 " the locations specified by the pointers. The two fixed bin values 30 " are location counters for placement in the dump line. 31 "  32 "  33 " Originally written by R.B.Snyder 09/14/73 34 "  35 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "  36 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "  37  000000 38 name format_355_dump_line_ 000000 39 entry format_355_dump_line_  000000 40 format_355_dump_line_:  000000 aa 0 00002 3521 20 41 eppbp ap|2,* get ptr to ptr to input data 000001 aa 2 00000 2371 00 42 ldaq bp|0 get ptr to data in AQ  000002 aa 000011 7720 00 43 qrl 9 shift bit count to ql  000003 aa 000077 3760 07 44 anq =o77,dl isolate  000004 aa 000000 6210 06 45 eax1 0,ql copy to X1  000005 aa 2 00000 3521 20 46 eppbp bp|0,* put pointer in bp  000006 aa 0 00004 2361 20 47 ldq ap|4,* get 355 word count in q  000007 aa 000006 4020 07 48 mpy 6,dl compute number of octits 000010 aa 000000 6230 06 49 eax3 0,ql put in X3  000011 aa 0 00006 3535 20 50 eppbb ap|6,* get pointer to pointer to output 000012 aa 3 00000 2371 00 51 ldaq bb|0 get ptr to output in AQ 000013 aa 000011 7720 00 52 qrl 9 shift bit count to ql  000014 aa 000077 3760 07 53 anq =o77,dl isolate  000015 aa 000011 5060 07 54 div 9,dl comput character number (0-3)  000016 aa 000001 7360 00 55 qls 1 multiply char by 2  000017 aa 000000 6220 06 56 eax2 0,ql put char number*2 in X2 000020 aa 3 00000 3535 20 57 eppbb bb|0,* put pointer to output in bb  000021 aa 2 00000 2361 00 58 ldq bp|0 get input  000022 aa 000000 7360 11 59 qls 0,1 shift to get correct 18 bit word  000023 aa 000022 1010 03 60 cmpx1 18,du see if 18 or 36 bit aligned  000024 0a 000027 6010 00 61 tnz *+3  000025 aa 000006 6210 00 62 eax1 6 18 000026 0a 000030 7100 00 63 tra *+2  000027 aa 000014 6210 00 64 eax1 12 36  000030 65 loop:  000030 aa 000000 2350 07 66 lda 0,dl clear A  000031 aa 000003 7370 00 67 lls 3 get an octit into A-reg 000032 aa 000060 2750 07 68 ora =o60,dl convert to ascii  000033 0a 000112 7170 12 69 xed store,2 store in output  000034 aa 777777 0630 03 70 adx3 -1,du decrement character count 000035 0a 000065 6000 00 71 tze return all done  000036 aa 000002 6220 12 72 eax2 2,2 bump output character position  000037 aa 000010 1020 03 73 cmpx2 8,du see if done with current word  000040 0a 000043 6010 00 74 tnz *+3  000041 aa 000000 6220 00 75 eax2 0 yes  000042 aa 3 00001 3535 00 76 eppbb bb|1 advance output pointer 000043 aa 777777 6210 11 77 eax1 -1,1 decrement count of remaining octits 000044 aa 000006 1010 03 78 cmpx1 6,du time to insert blank?  000045 0a 000050 6000 00 79 tze insert_blank yes  000046 aa 000000 1010 03 80 cmpx1 0,du 000047 0a 000030 6010 00 81 tnz loop no  000050 82 insert_blank:  000050 aa 000040 2350 07 83 lda =o40,dl get a blank  000051 0a 000112 7170 12 84 xed store,2 put in output string  000052 aa 000002 6220 12 85 eax2 2,2 advance output index 000053 aa 000010 1020 03 86 cmpx2 8,du 000054 0a 000057 6010 00 87 tnz *+3  000055 aa 000000 6220 00 88 eax2 0 000056 aa 3 00001 3535 00 89 eppbb bb|1 000057 aa 000000 1010 03 90 cmpx1 0,du done with current word?  000060 0a 000030 6010 00 91 tnz loop still more in Q-reg  000061 aa 000014 6210 00 92 eax1 12 get new count of octits  000062 aa 2 00001 3521 00 93 eppbp bp|1 advance input pointer  000063 aa 2 00000 2361 00 94 ldq bp|0 get new word 000064 0a 000030 7100 00 95 tra loop  000065 96 return: 000065 aa 0 00000 2351 00 97 lda ap|0 see if called with 3 args  000066 aa 000022 7710 00 98 arl 18 000067 aa 000006 1150 07 99 cmpa 6,dl  000070 0a 000074 6010 00 100 tnz line_entry no - we were called at line entry point 000071 101 real_return:  000071 aa 7 00044 7101 20 102 short_return  103  000072 104 entry line 000072 105 line:  000072 aa 000000 6240 00 106 eax4 0 000073 0a 000000 7100 00 107 tra format_355_dump_line_ do first 3 args  000074 108 line_entry: 000074 aa 000010 1040 03 109 cmpx4 8,du have we gone thru both pairs  000075 0a 000071 6000 00 110 tze real_return yes  000076 aa 0 00010 2371 14 111 ldaq ap|8,4 get ptr  000077 aa 0 00006 7571 00 112 staq ap|6 and substitute for third arg  000100 aa 000022 2360 07 113 ldq 18,dl put a bit offset in arg ptr so  000101 aa 000011 7360 00 114 qls 9 common code will work  000102 aa 0 00013 2561 14 115 orsq ap|11,4 ..  000103 aa 0 00012 3521 14 116 eppbp ap|10,4 get ptr to fixed bin number 000104 aa 0 00002 2521 00 117 spribp ap|2 store as first arg  000105 0a 000130 3520 00 118 eppbp =1 arg 2 is number of words to do  000106 aa 0 00004 2521 00 119 spribp ap|4  000107 aa 000004 6240 14 120 eax4 4,4 bump call index  000110 0a 000000 7100 00 121 tra format_355_dump_line_  122  123  124  000111 aa 000000 0110 03 125 even  000112 126 store:  000112 aa 000033 7350 00 127 als 9*3  000113 aa 3 00000 5511 40 128 stba bb|0,40  000114 aa 000022 7350 00 129 als 9*2  000115 aa 3 00000 5511 20 130 stba bb|0,20  000116 aa 000011 7350 00 131 als 9*1  000117 aa 3 00000 5511 10 132 stba bb|0,10  000120 aa 000000 0110 03 133 nop 0,du  000121 aa 3 00000 5511 04 134 stba bb|0,04  135  136  137 end  ENTRY SEQUENCES  000122 5a 000021 0000 00 000123 aa 7 00046 2721 20 000124 0a 000000 7100 00 000125 5a 000014 0000 00 000126 aa 7 00046 2721 20 000127 0a 000072 7100 00 LITERALS 000130 aa 000000 000001 NAME DEFINITIONS FOR ENTRY POINTS AND SEGDEFS 000131 5a 000003 000000 000132 5a 000041 600000 000133 aa 000000 000000 000134 55 000014 000002 000135 5a 000002 400003 000136 55 000006 000014 000137 aa 025 146 157 162 000140 aa 155 141 164 137 000141 aa 063 065 065 137 000142 aa 144 165 155 160 000143 aa 137 154 151 156 000144 aa 145 137 000 000 000145 55 000021 000003 000146 0a 000126 500000 000147 55 000017 000003 000150 aa 004 154 151 156 line  000151 aa 145 000 000 000 000152 55 000032 000014 000153 0a 000123 500000 000154 55 000024 000003 000155 aa 025 146 157 162 format_355_dump_line_  000156 aa 155 141 164 137 000157 aa 063 065 065 137 000160 aa 144 165 155 160 000161 aa 137 154 151 156 000162 aa 145 137 000 000 000163 55 000002 000021 000164 6a 000000 400002 000165 55 000035 000003 000166 aa 014 163 171 155 symbol_table  000167 aa 142 157 154 137 000170 aa 164 141 142 154 000171 aa 145 000 000 000 DEFINITIONS HASH TABLE  000172 aa 000000 000015 000173 5a 000014 000000 000174 aa 000000 000000 000175 aa 000000 000000 000176 aa 000000 000000 000177 aa 000000 000000 000200 aa 000000 000000 000201 5a 000032 000000 000202 5a 000021 000000 000203 aa 000000 000000 000204 aa 000000 000000 000205 aa 000000 000000 000206 aa 000000 000000 000207 aa 000000 000000 NO EXTERNAL NAMES  NO TRAP POINTER WORDS  TYPE PAIR BLOCKS  000210 aa 000001 000000 000211 aa 000000 000000 INTERNAL EXPRESSION WORDS LINKAGE INFORMATION 000000 aa 000000 000000 000001 0a 000131 000000 000002 aa 000000 000000 000003 aa 000000 000000 000004 aa 000000 000000 000005 aa 000000 000000 000006 22 000010 000010 000007 a2 000000 000000 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 111335 000007 aa 722656 331474 000010 aa 141154 155040 000011 aa 040040 040040 000012 aa 000024 000040 000013 aa 000034 000040 000014 aa 000044 000100 000015 aa 000002 000002 000016 aa 000064 000000 000017 aa 000000 000130 000020 aa 000000 000105 000021 aa 000000 000117 000022 aa 000122 000105 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 110157 154155 000035 aa 163164 145144 000036 aa 164056 123171 000037 aa 163115 141151 000040 aa 156164 056155 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 000001 000066 aa 000072 000053 000067 aa 113331 137261 000070 aa 000000 111335 000071 aa 624263 600000 000072 aa 076144 165155 >dumps>old>recomp>format_355_dump_line_.alm 000073 aa 160163 076157 000074 aa 154144 076162 000075 aa 145143 157155 000076 aa 160076 146157 000077 aa 162155 141164 000100 aa 137063 065065 000101 aa 137144 165155 000102 aa 160137 154151 000103 aa 156145 137056 000104 aa 141154 155040 MULTICS ASSEMBLY CROSS REFERENCE LISTING Value Symbol Source file Line number  0 format_355_dump_line_ format_355_dump_line_: 39, 40, 107, 121.  50 insert_blank format_355_dump_line_: 79, 82.  72 line format_355_dump_line_: 104, 105.  74 line_entry format_355_dump_line_: 100, 108.  30 loop format_355_dump_line_: 65, 81, 91, 95.  71 real_return format_355_dump_line_: 101, 110.  65 return format_355_dump_line_: 71, 96.  112 store format_355_dump_line_: 69, 84, 126. 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