ASSEMBLY LISTING OF SEGMENT >spec>on>09/07/83-gcos>gcos_cv_ascii_gebcd_.alm ASSEMBLED ON: 09/09/83 1051.5 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 " * Copyright (c) 1972 by Massachusetts Institute of *  6 " * Technology and Honeywell Information Systems, Inc. *  7 " * *  8 " ***********************************************************  9  10 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 11 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 12 "  13 "  14 "  15 " T R A N S L A T E A S C I I T O B C D  16 "  17 "  18 " This routine takes four parameters. Parameter 1 is a pointer 19 " to a string of ASCII characters. Parameter 2 is the length  20 " of that string. Parameter 3 is a pointer to the receiving  21 " field for the translated BCD output. Parameter 4 is a count 22 " of the number of BCD characters placed in the receiving field.  23 " For the main entry, this is always equal to parameter 2. This  24 " return argument is only used so that existing programs that  25 " call this entry need not be changed immediately. When all routines 26 " that call this entry have been changed to ignore this parameter, 27 " this entry can be changed to stop returning it. 28 "  29 " For the gcos_cv_printline_gebcd_ entry, the count returned in parameter  30 " 4 may not equal the count of ASCII characters input. 31 " Certain special ASCII characters are recognized and converted  32 " to printer control information. Newline characters are converted 33 " to octal 7701 (skip one line). If n contiguous newlines are found,  34 " then a control sequence of 77n is produced (skip n lines). If new  35 " page characters are encountered, they are converted to 7720 octal  36 " (skip to head of form). 37 "  38 " For the gcos_cv_ascii_gebcd_check_ entry, parameter 4 is the character  39 " number of the first character in the input string that could not be  40 " converted to bcd. If no such charcters are found, parameter 4 is zero.  41 "  42 "  43 " WRITTEN BY DICK SNYDER AUGUST 12,1970 44 " Modified by Dick Snyder 10/31/72 to add $ incode processing  45 " MODIFIED BY T. CASEY JUNE 1974  46 " REWRITTEN BY D. KAYDEN DECEMBER 1974  47 " MODIFIED BY R.H. MORRISON 5/19/76  48 "  49 "  50 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 51 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 000000 52 name gcos_cv_ascii_gebcd_  000000 53 entry gcos_cv_ascii_gebcd_ 000013 54 entry gcos_cv_ascii_gebcd_check_  000033 55 entry gcos_cv_printline_gebcd_ 56  000000 57 gcos_cv_ascii_gebcd_:  000000 aa 0 00002 3521 20 58 eppbp ap|2,* bp -> input data 000001 aa 2 00000 3521 20 59 eppbp bp|0,*  000002 aa 0 00004 2351 20 60 lda ap|4,* a = length 000003 aa 0 00010 7551 20 61 sta ap|8,* store output string length 000004 aa 0 00006 3535 20 62 eppbb ap|6,* bb -> output buffer  000005 aa 3 00000 3535 20 63 eppbb bb|0,*  64  000006 aa 0 00140 1605 40 65 join: mvt (pr,rl),(pr,rl)  000007 aa 200000 000005 66 desc9a bp|0,al 000010 aa 300000 020005 67 desc6a bb|0,al 000011 0a 000114 0000 00 68 arg table  69  000012 aa 7 00044 7101 20 70 short_return  71  72  000013 73 gcos_cv_ascii_gebcd_check_: 000013 aa 0 00002 3521 20 74 eppbp ap|2,*  000014 aa 2 00000 3521 20 75 eppbp bp|0,* bp -> input data 000015 aa 0 00004 2351 20 76 lda ap|4,* a = length 000016 aa 0 00006 3535 20 77 eppbb ap|6,* bb -> output buffer  000017 aa 3 00000 3535 20 78 eppbb bb|0,*  79  000020 aa 0 00000 1645 40 80 tct (pr,rl)  000021 aa 200000 000005 81 desc9a bp|0,al 000022 0a 000154 0000 00 82 arg tctable  000023 aa 3 00000 0001 00 83 arg bb|0  84  000024 aa 0 00010 4501 20 85 stz ap|8,* 000025 0a 000006 6064 00 86 ttn join no illegal chars found  000026 aa 3 00000 2351 00 87 lda bb|0  000027 aa 777777 3750 07 88 ana -1,dl  000030 aa 000001 0750 07 89 ada 1,dl move count from last good to first bad char  000031 aa 0 00010 7551 20 90 sta ap|8,* store error code  000032 aa 7 00044 7101 20 91 short_return  92  000033 93 gcos_cv_printline_gebcd_:  000033 aa 000060 6270 00 94 save  000034 aa 7 00040 2721 20 000035 aa 0 00002 3521 20 95 eppbp ap|2,* bp -> input data 000036 aa 2 00000 3521 20 96 eppbp bp|0,*  000037 aa 0 00004 7271 20 97 lxl7 ap|4,*  000040 aa 0 00006 3535 20 98 eppbb ap|6,* bb -> output buffer  000041 aa 3 00000 3535 20 99 eppbb bb|0,*  000042 aa 6 00052 4501 00 100 stz tally zero output character count 101  000043 aa 0 16003 1245 40 102 scm (pr,rl),(du),mask(016) 000044 aa 200000 000017 103 desc9a bp|0,x7 000045 aa 000000 0000 00 104 arg 0  000046 aa 6 00052 0001 00 105 arg tally  106  000047 aa 6 00052 2361 00 107 ldq tally  000050 0a 000056 6000 00 108 tze ttf  000051 aa 0 00140 1605 40 109 mvt (pr,rl),(pr,rl)  000052 aa 200000 000006 110 desc9a bp|0,ql 000053 aa 300000 020006 111 desc6a bb|0,ql 000054 0a 000114 0000 00 112 arg table  000055 0a 000112 6064 00 113 ttn ret  114  000056 aa 6 00053 4501 00 115 ttf: stz count  116  000057 aa 0 00100 1005 06 117 pull: mlr (pr,ql),(pr),fill(0)  000060 aa 200000 000001 118 desc9a bp|0,1  000061 aa 600051 000004 119 desc9a temp,4  120  000062 aa 6 00051 2351 00 121 lda temp  000063 aa 012000 1150 03 122 cmpa =o012000,du  000064 0a 000100 6010 00 123 tnz not_nl 000065 aa 6 00053 0541 00 124 aos count  000066 aa 000001 0760 07 125 adq 1,dl  000067 aa 0 00004 1161 20 126 cmpq ap|4,*  000070 0a 000057 6040 00 127 tmi pull  000071 aa 6 00053 2351 00 128 put_nl: lda count  000072 aa 000030 7350 00 129 als 24 000073 aa 007700 3750 03 130 ana =o007700,du  000074 aa 770000 2750 03 131 ora =o770000,du  000075 aa 6 00050 7551 00 132 sta NL 000076 aa 6 00050 3521 00 133 eppbp NL  000077 0a 000105 7100 00 134 tra put_cc 135  000100 aa 6 00053 2341 00 136 not_nl: szn count  000101 0a 000071 6010 00 137 tnz put_nl 000102 aa 014000 1150 03 138 cmpa =o014000,du  000103 0a 000112 6010 00 139 tnz ret  000104 0a 000214 3520 00 140 eppbp NP  000105 aa 6 00052 2361 00 141 put_cc: ldq tally  000106 aa 0 00106 1005 00 142 mlr (pr),(pr,ql)  000107 aa 200000 020002 143 desc6a bp|0,2  000110 aa 300000 020002 144 desc6a bb|0,2  000111 aa 000002 0760 07 145 adq 2,dl  146  000112 aa 0 00010 7561 20 147 ret: stq ap|8,* 000113 aa 7 00042 7101 20 148 return 149  000114 aa 020020 020020 150 table: oct 020020020020 000115 aa 020020 020020 151 oct 020020020020  000116 aa 020020 020020 152 oct 020020020020  000117 aa 020020 020020 153 oct 020020020020  000120 aa 020020 020020 154 oct 020020020020  000121 aa 020020 020020 155 oct 020020020020  000122 aa 020020 020020 156 oct 020020020020  000123 aa 020020 020020 157 oct 020020020020  000124 aa 020077 076013 158 oct 020077076013  000125 aa 053074 032057 159 oct 053074032057  000126 aa 035055 054060 160 oct 035055054060  000127 aa 073052 033061 161 oct 073052033061  000130 aa 000001 002003 162 oct 000001002003  000131 aa 004005 006007 163 oct 004005006007  000132 aa 010011 015056 164 oct 010011015056  000133 aa 036075 016017 165 oct 036075016017  000134 aa 014021 022023 166 oct 014021022023  000135 aa 024025 026027 167 oct 024025026027  000136 aa 030031 041042 168 oct 030031041042  000137 aa 043044 045046 169 oct 043044045046  000140 aa 047050 051062 170 oct 047050051062  000141 aa 063064 065066 171 oct 063064065066  000142 aa 067070 071012 172 oct 067070071012  000143 aa 037034 040072 173 oct 037034040072  000144 aa 057021 022023 174 oct 057021022023  000145 aa 024025 026027 175 oct 024025026027  000146 aa 030031 041042 176 oct 030031041042  000147 aa 043044 045046 177 oct 043044045046  000150 aa 047050 051062 178 oct 047050051062  000151 aa 063064 065066 179 oct 063064065066  000152 aa 067070 071012 180 oct 067070071012  000153 aa 040034 020020 181 oct 040034020020  182  000154 aa 777777 777777 183 tctable: dec -1,-1,-1,-1,-1,-1,-1,-1  000155 aa 777777 777777 000156 aa 777777 777777 000157 aa 777777 777777 000160 aa 777777 777777 000161 aa 777777 777777 000162 aa 777777 777777 000163 aa 777777 777777 000164 aa 000000 000000 184 dec 0,0,0,0,0,0,0,0  000165 aa 000000 000000 000166 aa 000000 000000 000167 aa 000000 000000 000170 aa 000000 000000 000171 aa 000000 000000 000172 aa 000000 000000 000173 aa 000000 000000 000174 aa 000000 000000 185 dec 0,0,0,0,0,0,0,0  000175 aa 000000 000000 000176 aa 000000 000000 000177 aa 000000 000000 000200 aa 000000 000000 000201 aa 000000 000000 000202 aa 000000 000000 000203 aa 000000 000000 000204 aa 000000 000000 186 dec 0,0,0,0,0,0,0  000205 aa 000000 000000 000206 aa 000000 000000 000207 aa 000000 000000 000210 aa 000000 000000 000211 aa 000000 000000 000212 aa 000000 000000 000213 aa 000000 001001 187 vfd 9/0,9/0,9/1,9/1  188  000214 aa 772000 000000 189 NP: oct 772000000000  190 temp NL,temp,tally,count  191 end  ENTRY SEQUENCES  000215 5a 000040 0000 00 000216 aa 7 00046 2721 20 000217 0a 000000 7100 00 000220 5a 000026 0000 00 000221 aa 7 00046 2721 20 000222 0a 000013 7100 00 000223 5a 000014 0000 00 000224 aa 7 00046 2721 20 000225 0a 000033 7100 00 NO LITERALS  NAME DEFINITIONS FOR ENTRY POINTS AND SEGDEFS 000226 5a 000003 000000 000227 5a 000060 600000 000230 aa 000000 000000 000231 55 000014 000002 000232 5a 000002 400003 000233 55 000006 000014 000234 aa 024 147 143 157 000235 aa 163 137 143 166 000236 aa 137 141 163 143 000237 aa 151 151 137 147 000240 aa 145 142 143 144 000241 aa 137 000 000 000 000242 55 000026 000003 000243 0a 000224 500000 000244 55 000017 000003 000245 aa 030 147 143 157 gcos_cv_printline_gebcd_  000246 aa 163 137 143 166 000247 aa 137 160 162 151 000250 aa 156 164 154 151 000251 aa 156 145 137 147 000252 aa 145 142 143 144 000253 aa 137 000 000 000 000254 55 000040 000014 000255 0a 000221 500000 000256 55 000031 000003 000257 aa 032 147 143 157 gcos_cv_ascii_gebcd_check_  000260 aa 163 137 143 166 000261 aa 137 141 163 143 000262 aa 151 151 137 147 000263 aa 145 142 143 144 000264 aa 137 143 150 145 000265 aa 143 153 137 000 000266 55 000051 000026 000267 0a 000216 500000 000270 55 000043 000003 000271 aa 024 147 143 157 gcos_cv_ascii_gebcd_  000272 aa 163 137 143 166 000273 aa 137 141 163 143 000274 aa 151 151 137 147 000275 aa 145 142 143 144 000276 aa 137 000 000 000 000277 55 000002 000040 000300 6a 000000 400002 000301 55 000054 000003 000302 aa 014 163 171 155 symbol_table  000303 aa 142 157 154 137 000304 aa 164 141 142 154 000305 aa 145 000 000 000 DEFINITIONS HASH TABLE  000306 aa 000000 000015 000307 5a 000040 000000 000310 aa 000000 000000 000311 aa 000000 000000 000312 aa 000000 000000 000313 aa 000000 000000 000314 aa 000000 000000 000315 5a 000014 000000 000316 5a 000051 000000 000317 aa 000000 000000 000320 5a 000026 000000 000321 aa 000000 000000 000322 aa 000000 000000 000323 aa 000000 000000 NO EXTERNAL NAMES  NO TRAP POINTER WORDS  TYPE PAIR BLOCKS  000324 aa 000001 000000 000325 aa 000000 000000 INTERNAL EXPRESSION WORDS LINKAGE INFORMATION 000000 aa 000000 000000 000001 0a 000226 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 112124 000007 aa 155551 413336 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 000134 000020 aa 000000 000106 000021 aa 000000 000123 000022 aa 000126 000106 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 000001 000066 aa 000072 000057 000067 aa 121240 053354 000070 aa 000000 112124 000071 aa 131554 000000 000072 aa 076163 160145 >spec>on>09/07/83-gcos>gcos_cv_ascii_gebcd_.alm 000073 aa 143076 157156 000074 aa 076060 071057 000075 aa 060067 057070 000076 aa 063055 147143 000077 aa 157163 076147 000100 aa 143157 163137 000101 aa 143166 137141 000102 aa 163143 151151 000103 aa 137147 145142 000104 aa 143144 137056 000105 aa 141154 155040 MULTICS ASSEMBLY CROSS REFERENCE LISTING Value Symbol Source file Line number  53 count gcos_cv_ascii_gebcd_: 115, 124, 128, 136, 190. 0 gcos_cv_ascii_gebcd_ gcos_cv_ascii_gebcd_: 53, 57.  13 gcos_cv_ascii_gebcd_check_ gcos_cv_ascii_gebcd_: 54, 73. 33 gcos_cv_printline_gebcd_ gcos_cv_ascii_gebcd_: 55, 93. 6 join gcos_cv_ascii_gebcd_: 65, 86.  50 NL gcos_cv_ascii_gebcd_: 132, 133, 190. 100 not_nl gcos_cv_ascii_gebcd_: 123, 136.  214 NP gcos_cv_ascii_gebcd_: 140, 189.  57 pull gcos_cv_ascii_gebcd_: 117, 127.  105 put_cc gcos_cv_ascii_gebcd_: 134, 141.  71 put_nl gcos_cv_ascii_gebcd_: 128, 137.  112 ret gcos_cv_ascii_gebcd_: 113, 139, 147. 114 table gcos_cv_ascii_gebcd_: 68, 112, 150. 52 tally gcos_cv_ascii_gebcd_: 100, 105, 107, 141, 190. 154 tctable gcos_cv_ascii_gebcd_: 82, 183.  51 temp gcos_cv_ascii_gebcd_: 119, 121, 190. 56 ttf gcos_cv_ascii_gebcd_: 108, 115.  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