ASSEMBLY LISTING OF SEGMENT >dumps>old>recomp>remote_conv_.alm ASSEMBLED ON: 11/15/82 1754.4 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 " remote_conv_: Conversion routine for producing "standard" terminal I/O records for output to an RJE station or a remote  11 " host system by an I/O daemon (driven by either remote_driver_ or workstation_sim_driver_). See the prt_conv_ module  12 " for a description of the manner in which this routine is utilized.  13  14 " Created: December 1979 by G. Palter  15  000000 16 name remote_conv_  17  000000 18 segdef printer " output destined for a line printer  000004 19 segdef punch " output destined for a card punch (to be obsolete soon)  000011 20 segdef teleprinter " output destined for the RJE station's operator's console 21  22  23 " Transfer vectors for the three types of output devices -- printer, punch, and teleprinter 24  000000 0a 000015 7100 00 25 printer: tra send_setup_printer " initialize new printer output record 000001 0a 000040 7100 00 26 tra send_characters " output some characters into the record  000002 0a 000064 7100 00 27 tra send_slew_pattern " slew (skip) to specified VFU pattern  000003 0a 000100 7100 00 28 tra send_slew_count " slew (skip) specified number of lines  29  000004 0a 000017 7100 00 30 punch: tra send_setup_punch " initialize new punch output record  000005 0a 000040 7100 00 31 tra send_characters  000006 aa 7 00000 7101 00 32 tra pr7|0 " for punch: meaningless to slew to pattern  33 " " for punch: meaningless to slew by count  000007 aa 000000 2350 03 34 lda 0,du " set residue count to claim entire skip done  000010 aa 7 00000 7101 00 35 tra pr7|0  36  000011 37 teleprinter:  000011 0a 000021 7100 00 38 tra send_setup_teleprinter " initialize new teleprinter output record  000012 0a 000040 7100 00 39 tra send_characters " output some characters into the record  000013 0a 000064 7100 00 40 tra send_slew_pattern " slew (skip) to specified VFU pattern  000014 0a 000100 7100 00 41 tra send_slew_count " slew (skip) specified number of lines  42  43  44 tempd tior_ptr " -> the record's header  45 tempd saved_pr4  46 tempd saved_pr5  47 " 48 include terminal_io_record 1-1 " BEGIN INCLUDE FILE ... terminal_io_record.incl.alm  1-2 " Created: November 1979 by G. Palter 1-3  000000 1-4 equ tior.version,0 000001 1-5 equ tior.device_type,1 1-6  000002 1-7 equ tior.slew_control,2  1-8  000002 1-9 equ tior.slew_type_word,2  000022 1-10 equ tior.slew_type_shift,18  777777 1-11 bool tior.slew_type_mask,777777  1-12  000002 1-13 equ tior.slew_count_word,2 000000 1-14 equ tior.slew_count_shift,0  777777 1-15 bool tior.slew_count_mask,777777  1-16  000003 1-17 equ tior.flags,3  400000 1-18 bool tior.binary,400000 " DU  200000 1-19 bool tior.preslew,200000 " DU 1-20  000004 1-21 equ tior.element_size,4  000005 1-22 equ tior.n_elements,5  000006 1-23 equ tior.data,6  1-24  000001 1-25 equ tior_version_1,1 " current version of this structure  1-26  1-27  1-28 " Device type for this record  1-29  000001 1-30 equ tior_teleprinter_device,1  000002 1-31 equ tior_reader_device,2  000003 1-32 equ tior_printer_device,3  000004 1-33 equ tior_punch_device,4  1-34  1-35  1-36 " Type of slewing to be performed before/after printing/punching record 1-37  000001 1-38 equ tior_slew_by_count,1 " N lines 000002 1-39 equ tior_slew_to_top_of_page,2 " top of next page  000003 1-40 equ tior_slew_to_inside_page,3 " top of next inside page (head sheet)  000004 1-41 equ tior_slew_to_outside_page,4 " top of next outside page (tail sheet)  000005 1-42 equ tior_slew_to_channel,5 " to specified channel stop 1-43  1-44 " END INCLUDE FILE ... terminal_io_record.incl.alm  49 " 50 " Initialize an output record  51  000015 52 send_setup_printer: 000015 aa 000003 2360 07 53 ldq tior_printer_device,dl " need to set device type in record header  000016 0a 000022 7100 00 54 tra send_setup_common  55  000017 56 send_setup_punch:  000017 aa 000004 2360 07 57 ldq tior_punch_device,dl  000020 0a 000022 7100 00 58 tra send_setup_common  59  000021 60 send_setup_teleprinter: 000021 aa 000001 2360 07 61 ldq tior_teleprinter_device,dl 62 " tra send_setup_common 63  64  000022 65 send_setup_common:  000022 aa 6 00050 2535 00 66 spri3 tior_ptr " save pointer to start of output record  67  000023 aa 3 00001 7561 00 68 stq pr3|tior.device_type " save device type from above 69  000024 aa 000001 2360 07 70 ldq tior_version_1,dl " fill in rest of header with "default" settings  000025 aa 3 00000 7561 00 71 stq pr3|tior.version  72  000026 0a 000037 2360 00 73 ldq slew_single_line " set to slew by 1 line  000027 aa 3 00002 7561 00 74 stq pr3|tior.slew_control  75  000030 aa 3 00003 4501 00 76 stz pr3|tior.flags " not binary  77  000031 aa 000011 2360 07 78 ldq 9,dl " element size is 9 (characters)  000032 aa 3 00004 7561 00 79 stq pr3|tior.element_size  80  000033 aa 3 00005 4501 00 81 stz pr3|tior.n_elements " no data yet 82  000034 aa 000030 2360 07 83 ldq 4*tior.data,dl " move pointer past header (to this offset)  000035 aa 3 00000 5005 06 84 a9bd pr3|0,ql  85  000036 aa 7 00000 7101 00 86 tra pr7|0 " setup completed  87  88  000037 89 slew_single_line: " constant to slew 1 line  000037 aa 000001 000001 90 vfd 18/tior_slew_by_count,18/1 91 " 92 " Place data (with possible leading whitespace) into the record 93  000040 94 send_characters:  000040 aa 6 00052 6501 00 95 spri4 saved_pr4 " need a pointer to record header  000041 aa 6 00050 3701 20 96 epp4 tior_ptr,*  97  000042 aa 000000 6360 12 98 eaq 0,2 " whitespace count into QU  000043 0a 000052 6044 00 99 tmoz no_whitespace " ... none needed  000044 aa 000022 7720 00 100 qrl 18 " ... put it into QL (sigh)  101  000045 aa 040140 1004 00 102 mlr (),(pr,rl),fill(040) " insert requested # of spaces  000046 0a 000046 000000 103 desc9a *,0 000047 aa 300000 000006 104 desc9a pr3|0,ql  105  000050 aa 3 00000 5005 06 106 a9bd pr3|0,ql " ... update output pointer  000051 aa 4 00005 0561 00 107 asq pr4|tior.n_elements " ... update record length in buffer header  108  000052 109 no_whitespace:  000052 aa 000066 7730 00 110 lrl 72-18 " put count of characters into QL (sigh)  111  000053 aa 0 00140 1005 40 112 mlr (pr,rl),(pr,rl) " move the data  000054 aa 200000 000006 113 desc9a pr2|0,ql  000055 aa 300000 000006 114 desc9a pr3|0,ql  115  000056 aa 2 00000 5005 06 116 a9bd pr2|0,ql " ... update input pointer 000057 aa 3 00000 5005 06 117 a9bd pr3|0,ql " ... update output pointer  000060 aa 4 00005 0561 00 118 asq pr4|tior.n_elements " ... update record length in buffer header  119  000061 aa 000000 6220 00 120 eax2 0 " be sure X2 is zero (all spaces done)  121  000062 aa 6 00052 3701 20 122 epp4 saved_pr4,*  000063 aa 7 00000 7101 00 123 tra pr7|0 " all done 124 " 125 " Slew to specified pattern 126  000064 127 send_slew_pattern:  000064 aa 6 00052 6501 00 128 spri4 saved_pr4 " once again -- need pointer to record header  000065 aa 6 00050 3701 20 129 epp4 tior_ptr,*  130  000066 aa 6 00054 6515 00 131 spri5 saved_pr5 " used for RPT instruction  000067 0a 000107 3714 00 132 epp5 slew_pattern_table  133  000070 aa 000000 6270 00 134 eax7 0 " initialize for search  135  000071 aa 006300 5202 02 136 rpt n_slew_patterns,2,tze " search for the pattern 000072 aa 5 00000 1151 17 137 cmpa pr5|0,7  138  000073 aa 5 77777 2361 17 139 ldq pr5|-1,7 " pickup the proper slew control word  000074 aa 4 00002 7561 00 140 stq pr4|tior.slew_control " ... and put it into the record 141  000075 aa 6 00052 3701 20 142 epp4 saved_pr4,*  000076 aa 6 00054 3715 20 143 epp5 saved_pr5,*  000077 aa 7 00000 7101 00 144 tra pr7|0 " return  145  146  147 " Slew N lines (in A)  148  000100 149 send_slew_count:  000100 aa 6 00052 6501 00 150 spri4 saved_pr4  000101 aa 6 00050 3701 20 151 epp4 tior_ptr,*  152  000102 0a 000115 2750 00 153 ora slew_N_lines " put in slew by count opcode  000103 aa 4 00002 7551 00 154 sta pr4|tior.slew_control  155  000104 aa 000000 2350 03 156 lda 0,du " clear the A (took all lines)  157  000105 aa 6 00052 3701 20 158 epp4 saved_pr4,*  000106 aa 7 00000 7101 00 159 tra pr7|0  160  161  162 " Constants 163  000003 164 equ n_slew_patterns,3 " NOTE: must be changed whenever following table is modified  165  000107 166 slew_pattern_table: 000107 aa 000000 000000 167 vfd o36/0 " slew to top of page  000110 aa 000002 000000 168 vfd 18/tior_slew_to_top_of_page,18/0  000111 aa 000000 000013 169 vfd o36/13 " slew to top of inside page  000112 aa 000003 000000 170 vfd 18/tior_slew_to_inside_page,18/0  000113 aa 000000 000011 171 vfd o36/11 " slew to top of outside page 000114 aa 000004 000000 172 vfd 18/tior_slew_to_outside_page,18/0  173  000115 174 slew_N_lines:  000115 aa 000001 000000 175 vfd 18/tior_slew_by_count,18/0 176  177 end  NO LITERALS  NAME DEFINITIONS FOR ENTRY POINTS AND SEGDEFS 000116 5a 000003 000000 000117 5a 000041 600000 000120 aa 000000 000000 000121 55 000012 000002 000122 5a 000002 400003 000123 55 000006 000012 000124 aa 014 162 145 155 000125 aa 157 164 145 137 000126 aa 143 157 156 166 000127 aa 137 000 000 000 000130 55 000020 000003 000131 0a 000011 400000 000132 55 000015 000003 000133 aa 013 164 145 154 teleprinter 000134 aa 145 160 162 151 000135 aa 156 164 145 162 000136 55 000025 000012 000137 0a 000004 400000 000140 55 000023 000003 000141 aa 005 160 165 156 punch  000142 aa 143 150 000 000 000143 55 000032 000020 000144 0a 000000 400000 000145 55 000030 000003 000146 aa 007 160 162 151 printer 000147 aa 156 164 145 162 000150 55 000002 000025 000151 6a 000000 400002 000152 55 000035 000003 000153 aa 014 163 171 155 symbol_table  000154 aa 142 157 154 137 000155 aa 164 141 142 154 000156 aa 145 000 000 000 DEFINITIONS HASH TABLE  000157 aa 000000 000015 000160 5a 000012 000000 000161 aa 000000 000000 000162 aa 000000 000000 000163 aa 000000 000000 000164 aa 000000 000000 000165 aa 000000 000000 000166 5a 000032 000000 000167 aa 000000 000000 000170 5a 000025 000000 000171 aa 000000 000000 000172 aa 000000 000000 000173 aa 000000 000000 000174 5a 000020 000000 NO EXTERNAL NAMES  NO TRAP POINTER WORDS  TYPE PAIR BLOCKS  000175 aa 000001 000000 000176 aa 000000 000000 INTERNAL EXPRESSION WORDS 000177 aa 000000 000000 LINKAGE INFORMATION 000000 aa 000000 000000 000001 0a 000116 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 723126 020534 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 000144 000020 aa 000000 000121 000021 aa 000000 000132 000022 aa 000135 000121 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 000002 000066 aa 000076 000042 000067 aa 113331 137443 000070 aa 000000 111335 000071 aa 624650 600000 000072 aa 000107 000050 000073 aa 073526 333203 000074 aa 000000 107352 000075 aa 730557 200000 000076 aa 076144 165155 >dumps>old>recomp>remote_conv_.alm  000077 aa 160163 076157 000100 aa 154144 076162 000101 aa 145143 157155 000102 aa 160076 162145 000103 aa 155157 164145 000104 aa 137143 157156 000105 aa 166137 056141 000106 aa 154155 040040 000107 aa 076154 144144 >ldd>include>terminal_io_record.incl.alm  000110 aa 076151 156143 000111 aa 154165 144145 000112 aa 076164 145162 000113 aa 155151 156141 000114 aa 154137 151157 000115 aa 137162 145143 000116 aa 157162 144056 000117 aa 151156 143154 000120 aa 056141 154155 MULTICS ASSEMBLY CROSS REFERENCE LISTING Value Symbol Source file Line number  52 no_whitespace remote_conv_: 99, 109. 3 n_slew_patterns remote_conv_: 136, 164. 0 printer remote_conv_: 18, 25. 4 punch remote_conv_: 19, 30. 52 saved_pr4 remote_conv_: 45, 95, 122, 128, 142, 150, 158.  54 saved_pr5 remote_conv_: 46, 131, 143.  40 send_characters remote_conv_: 26, 31, 39, 94. 22 send_setup_common remote_conv_: 54, 58, 65.  15 send_setup_printer remote_conv_: 25, 52. 17 send_setup_punch remote_conv_: 30, 56. 21 send_setup_teleprinter remote_conv_: 38, 60. 100 send_slew_count remote_conv_: 28, 41, 149.  64 send_slew_pattern remote_conv_: 27, 40, 127.  115 slew_N_lines remote_conv_: 153, 174. 107 slew_pattern_table remote_conv_: 132, 166. 37 slew_single_line remote_conv_: 73, 89. 11 teleprinter remote_conv_: 20, 37. 400000 tior.binary terminal_io_record: 18. 6 tior.data remote_conv_: 83,  terminal_io_record: 23. 1 tior.device_type remote_conv_: 68,  terminal_io_record: 5. 4 tior.element_size remote_conv_: 79,  terminal_io_record: 21. 3 tior.flags remote_conv_: 76,  terminal_io_record: 17. 5 tior.n_elements remote_conv_: 81, 107, 118,  terminal_io_record: 22. 200000 tior.preslew terminal_io_record: 19. 2 tior.slew_control remote_conv_: 74, 140, 154,  terminal_io_record: 7. 777777 tior.slew_count_mask terminal_io_record: 15. 0 tior.slew_count_shift terminal_io_record: 14. 2 tior.slew_count_word terminal_io_record: 13. 777777 tior.slew_type_mask terminal_io_record: 11. 22 tior.slew_type_shift terminal_io_record: 10. 2 tior.slew_type_word terminal_io_record: 9. 0 tior.version remote_conv_: 71,  terminal_io_record: 4. 3 tior_printer_device remote_conv_: 53,  terminal_io_record: 32. 50 tior_ptr remote_conv_: 44, 66, 96, 129, 151.  4 tior_punch_device remote_conv_: 57,  terminal_io_record: 33. 2 tior_reader_device terminal_io_record: 31. 1 tior_slew_by_count remote_conv_: 90, 175, terminal_io_record: 38. 5 tior_slew_to_channel terminal_io_record: 42. 3 tior_slew_to_inside_page remote_conv_: 170, terminal_io_record: 40.  4 tior_slew_to_outside_page remote_conv_: 172, terminal_io_record: 41.  2 tior_slew_to_top_of_page remote_conv_: 168, terminal_io_record: 39.  1 tior_teleprinter_device remote_conv_: 61,  terminal_io_record: 30. 1 tior_version_1 remote_conv_: 70,  terminal_io_record: 25. 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