ASSEMBLY LISTING OF SEGMENT >udd>sm>ds>w>ml>spool_conv_.alm ASSEMBLED ON: 04/17/00 1928.8 mdt Mon OPTIONS USED: list symbols ASSEMBLED BY: ALM Version 8.14 March 1989 ASSEMBLER CREATED: 06/09/89 1102.3 mdt Fri 1 " *********************************************************** 2 " * * 3 " * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4 " * * 5 " *********************************************************** 6 " SPOOL_CONV - Conversion for for producing spooled output tape 7 " coded 11/4/74 by Noel I. Morris 8 9 " 1) Version -- for new Printer DIM. 10 11 " ****************************************************** 12 " * * 13 " * * 14 " * Copyright (c) 1972 by Massachusetts Institute of * 15 " * Technology and Honeywell Information Systems, Inc. * 16 " * * 17 " * * 18 " ****************************************************** 19 20 21 " This module perform the necessary conversion for printing 22 " from spooled output tape. 23 " 24 " The manner in which this procedure is utilized is described in detail 25 " in the listing of prt_conv_. 26 " 27 " This procedure is responsible for placing a carriage control character 28 " at the beginning of each output line. 29 30 31 000000 32 name spool_conv_ 33 000000 34 segdef spool_conv_ 35 36 000000 37 spool_conv_: 000000 0a 000004 7100 00 38 tra spool_send_init 000001 0a 000016 7100 00 39 tra spool_send_chars 000002 0a 000034 7100 00 40 tra spool_send_slew_pattern 000003 0a 000050 7100 00 41 tra spool_send_slew_count 42 43 " 44 45 include prt_conv_info 1-1 1-2 1-3 "BEGIN INCLUDE FILE prt_conv_info.incl.alm 1-4 1-5 "Created 09/12/80 1100.5 edt Fri by convert_include_file, 1-6 " Version of 05/04/80 2034.1 edt Sun. 1-7 1-8 "Made from >udd>Multics>Palter>work>prt_conv_info.incl.pl1, 1-9 " modified 09/12/80 1100.1 edt Fri 1-10 1-11 1-12 " HISTORY COMMENTS: 1-13 " 1) change(87-05-10,Gilcrease), approve(87-07-31,MCR7686), 1-14 " audit(88-02-01,Farley), install(88-02-02,MR12.2-1019): 1-15 " Add pci.(line_nbrs eof eol) bits for eor -nb option. 1-16 " END HISTORY COMMENTS 1-17 1-18 1-19 " 1-20 " Structure pci 1-21 " 000336 1-22 equ pci_size,222 1-23 1-24 000000 1-25 equ pci.cv_proc,0 000002 1-26 equ pci.lmarg,2 000003 1-27 equ pci.rmarg,3 000004 1-28 equ pci.page_length,4 000005 1-29 equ pci.phys_line_length,5 000006 1-30 equ pci.phys_page_length,6 000007 1-31 equ pci.lpi,7 000010 1-32 equ pci.sheets_per_page,8 000011 1-33 equ pci.line_count,9 000012 1-34 equ pci.page_count,10 000013 1-35 equ pci.func,11 000014 1-36 equ pci.modes,12 "LEVEL 2 1-37 400000 1-38 bool pci.overflow_off,400000 "DU 200000 1-39 bool pci.single_space,200000 "DU 100000 1-40 bool pci.non_edited,100000 "DU 040000 1-41 bool pci.truncate,040000 "DU 020000 1-42 bool pci.esc,020000 "DU 010000 1-43 bool pci.ctl_char,010000 "DU 004000 1-44 bool pci.line_nbrs,004000 "DU 000030 1-45 equ pci.pci_pad_shift,24 000037 1-46 bool pci.pci_pad_mask,000037 1-47 000014 1-48 equ pci.flags,12 "LEVEL 2 1-49 000040 1-50 bool pci.ignore_next_ff,000040 "DU 000020 1-51 bool pci.eol,000020 "DU 000010 1-52 bool pci.eof,000010 "DU 000022 1-53 equ pci.flags_pad_shift,18 000007 1-54 bool pci.flags_pad_mask,000007 1-55 000014 1-56 equ pci.coroutine_modes,12 "LEVEL 2 1-57 400000 1-58 bool pci.upper_case,400000 "DL 200000 1-59 bool pci.ht,200000 "DL 000003 1-60 equ pci.coroutine_pad_shift,3 017777 1-61 bool pci.coroutine_pad_mask,017777 000000 1-62 equ pci.slew_table_idx_shift,0 000007 1-63 bool pci.slew_table_idx_mask,000007 1-64 000015 1-65 equ pci.top_label_line,13 "DOUBLE 000057 1-66 equ pci.bot_label_line,47 "DOUBLE 000121 1-67 equ pci.top_label_length,81 000122 1-68 equ pci.bot_label_length,82 000123 1-69 equ pci.form_stops,83 "LEVEL 2 1-70 000033 1-71 equ pci.lbits_shift,27 000777 1-72 bool pci.lbits_mask,000777 000022 1-73 equ pci.rbits_shift,18 000777 1-74 bool pci.rbits_mask,000777 1-75 000323 1-76 equ pci.level,211 000324 1-77 equ pci.pos,212 000325 1-78 equ pci.line,213 000326 1-79 equ pci.slew_residue,214 000327 1-80 equ pci.label_nelem,215 000330 1-81 equ pci.label_wksp,216 000332 1-82 equ pci.sav_pos,218 000333 1-83 equ pci.esc_state,219 000334 1-84 equ pci.esc_num,220 000335 1-85 equ pci.temp,221 1-86 1-87 "END INCLUDE FILE prt_conv_info.incl.alm 46 47 48 " 49 000004 50 spool_send_init: 000004 aa 5 00335 2341 00 51 szn lb|pci.temp was there a previous slew? 000005 0a 000010 6010 00 52 tnz icc yes, insert carriage control character 53 000006 0a 000062 2350 00 54 lda =a " first time, use carriage control of blank 000007 aa 5 00335 7551 00 55 sta lb|pci.temp .. 56 000010 aa 0 00100 1005 00 57 icc: mlr (pr),(pr) move carriage control into output 000011 aa 500335 000001 58 desc9a lb|pci.temp,1 .. 000012 aa 300000 000001 59 desc9a bb|0,1 .. 60 000013 aa 000001 2360 07 61 ldq 1,dl step output pointer over carriage control 000014 aa 3 00000 5005 06 62 a9bd bb|0,ql .. 63 000015 aa 7 00000 7101 00 64 tra sb|0 return 65 66 " 67 000016 68 spool_send_chars: 000016 aa 000000 6220 12 69 eax2 0,2 set indicators from X2 000017 0a 000025 6044 00 70 tmoz nospace if no white space, skip following 71 000020 aa 040140 1004 00 72 mlr (),(pr,rl),fill(040) insert blanks into output 000021 0a 000021 000000 73 desc9a *,0 .. 000022 aa 300000 000012 74 desc9a bb|0,x2 .. 75 000023 aa 3 00000 5005 12 76 a9bd bb|0,2 step output pointer over blanks 000024 aa 000000 6220 00 77 eax2 0 set white space count back to zero 78 000025 aa 0 00140 1005 40 79 nospace: mlr (pr,rl),(pr,rl) copy characters into output 000026 aa 200000 000001 80 desc9a bp|0,au .. 000027 aa 300000 000001 81 desc9a bb|0,au .. 82 000030 aa 2 00000 5005 01 83 a9bd bp|0,au step input and output pointers 000031 aa 3 00000 5005 01 84 a9bd bb|0,au .. 000032 aa 000000 6220 00 85 eax2 0 make sure X2 now zero 000033 aa 7 00000 7101 00 86 tra sb|0 return to caller 87 88 " 89 000034 90 spool_send_slew_pattern: 000034 aa 000000 6270 00 91 eax7 0 initialize for search 000035 aa 006300 5202 02 92 rpt nslew/2,2,tze search for slew characters 000036 0a 000042 1150 17 93 cmpa slew,7 .. 000037 aa 777777 2360 17 94 ldq -1,7 get correct carriage control 95 000040 aa 5 00335 7561 00 96 stslew: stq lb|pci.temp save for next line 000041 aa 7 00000 7101 00 97 tra sb|0 return to caller 98 99 000042 100 slew: 000042 aa 000000 000000 101 vfd 27/,o9/0 FF 000043 aa 061 040 040 040 102 aci "1 " 000044 aa 000000 000013 103 vfd 27/,o9/013 top of inside page 000045 aa 067 040 040 040 104 aci "7 " 000046 aa 000000 000011 105 vfd 27/,o9/011 top of outside page 000047 aa 070 040 040 040 106 aci "8 " 107 000006 108 equ nslew,*-slew 109 110 111 000050 112 spool_send_slew_count: 000050 aa 000000 6360 05 113 eaq 0,al line count in QU 000051 aa 000003 1350 07 114 sbla 3,dl can slew at most 3 lines at a time 000052 0a 000054 6044 00 115 tmoz *+2 if more than 3 lines, 000053 aa 000003 2360 03 116 ldq 3,du do only 3 to start 000054 0a 000056 2360 02 117 ldq slewn,qu get correct carriage control 000055 0a 000040 7100 00 118 tra stslew and store it for later 119 120 000056 121 slewn: 000056 aa 053 040 040 040 122 aci "+ " supress space 000057 aa 040 040 040 040 123 aci " " one space 000060 aa 060 040 040 040 124 aci "0 " two space 000061 aa 055 040 040 040 125 aci "- " three space 126 127 128 129 130 end LITERALS 000062 aa 040040 040040 NAME DEFINITIONS FOR ENTRY POINTS AND SEGDEFS 000063 5a 000003 000000 000064 5a 000026 600000 000065 aa 000000 000000 000066 55 000011 000002 000067 5a 000002 400003 000070 55 000006 000011 000071 aa 013 163 160 157 000072 aa 157 154 137 143 000073 aa 157 156 166 137 000074 55 000017 000003 000075 0a 000000 400000 000076 55 000014 000003 000077 aa 013 163 160 157 spool_conv_ 000100 aa 157 154 137 143 000101 aa 157 156 166 137 000102 55 000002 000011 000103 6a 000000 400002 000104 55 000022 000003 000105 aa 014 163 171 155 symbol_table 000106 aa 142 157 154 137 000107 aa 164 141 142 154 000110 aa 145 000 000 000 DEFINITIONS HASH TABLE 000111 aa 000000 000015 000112 aa 000000 000000 000113 aa 000000 000000 000114 aa 000000 000000 000115 aa 000000 000000 000116 aa 000000 000000 000117 aa 000000 000000 000120 5a 000017 000000 000121 5a 000011 000000 000122 aa 000000 000000 000123 aa 000000 000000 000124 aa 000000 000000 000125 aa 000000 000000 000126 aa 000000 000000 NO EXTERNAL NAMES NO TRAP POINTER WORDS TYPE PAIR BLOCKS 000127 aa 000001 000000 000130 aa 000000 000000 INTERNAL EXPRESSION WORDS 000131 aa 000000 000000 LINKAGE INFORMATION 000000 aa 000000 000000 000001 0a 000063 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 000010 000004 aa 000000 117244 000005 aa 361023 525721 000006 aa 000000 131036 000007 aa 031447 624655 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 000146 000020 aa 000000 000116 000021 aa 000130 000125 000022 aa 000137 000116 000023 aa 000064 000000 000024 aa 101114 115040 000025 aa 126145 162163 000026 aa 151157 156040 000027 aa 070056 061064 000030 aa 040115 141162 000031 aa 143150 040061 000032 aa 071070 071040 000033 aa 040040 040040 000034 aa 123143 150162 000035 aa 157164 150056 000036 aa 123171 163115 000037 aa 141151 156164 000040 aa 056155 040040 000041 aa 040040 040040 000042 aa 040040 040040 000043 aa 040040 040040 000044 aa 154151 163164 000045 aa 040163 171155 000046 aa 142157 154163 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 000037 000067 aa 310157 122565 000070 aa 000000 131036 000071 aa 031450 000000 000072 aa 000106 000040 000073 aa 305736 051150 000074 aa 000000 116073 000075 aa 530673 000000 000076 aa 076165 144144 >udd>sm>ds>w>ml>spool_conv_.alm 000077 aa 076163 155076 000100 aa 144163 076167 000101 aa 076155 154076 000102 aa 163160 157157 000103 aa 154137 143157 000104 aa 156166 137056 000105 aa 141154 155040 000106 aa 076154 144144 >ldd>incl>prt_conv_info.incl.alm 000107 aa 076151 156143 000110 aa 154076 160162 000111 aa 164137 143157 000112 aa 156166 137151 000113 aa 156146 157056 000114 aa 151156 143154 000115 aa 056141 154155 MULTICS ASSEMBLY CROSS REFERENCE LISTING Value Symbol Source file Line number 10 icc spool_conv_: 52, 57. 25 nospace spool_conv_: 70, 79. 6 nslew spool_conv_: 92, 108. 122 pci.bot_label_length prt_conv_info: 68. 57 pci.bot_label_line prt_conv_info: 66. 14 pci.coroutine_modes prt_conv_info: 56. 17777 pci.coroutine_pad_mask prt_conv_info: 61. 3 pci.coroutine_pad_shift prt_conv_info: 60. 10000 pci.ctl_char prt_conv_info: 43. 0 pci.cv_proc prt_conv_info: 25. 10 pci.eof prt_conv_info: 52. 20 pci.eol prt_conv_info: 51. 20000 pci.esc prt_conv_info: 42. 334 pci.esc_num prt_conv_info: 84. 333 pci.esc_state prt_conv_info: 83. 14 pci.flags prt_conv_info: 48. 7 pci.flags_pad_mask prt_conv_info: 54. 22 pci.flags_pad_shift prt_conv_info: 53. 123 pci.form_stops prt_conv_info: 69. 13 pci.func prt_conv_info: 35. 200000 pci.ht prt_conv_info: 59. 40 pci.ignore_next_ff prt_conv_info: 50. 327 pci.label_nelem prt_conv_info: 80. 330 pci.label_wksp prt_conv_info: 81. 777 pci.lbits_mask prt_conv_info: 72. 33 pci.lbits_shift prt_conv_info: 71. 323 pci.level prt_conv_info: 76. 325 pci.line prt_conv_info: 78. 11 pci.line_count prt_conv_info: 33. 4000 pci.line_nbrs prt_conv_info: 44. 2 pci.lmarg prt_conv_info: 26. 7 pci.lpi prt_conv_info: 31. 14 pci.modes prt_conv_info: 36. 100000 pci.non_edited prt_conv_info: 40. 400000 pci.overflow_off prt_conv_info: 38. 12 pci.page_count prt_conv_info: 34. 4 pci.page_length prt_conv_info: 28. 37 pci.pci_pad_mask prt_conv_info: 46. 30 pci.pci_pad_shift prt_conv_info: 45. 5 pci.phys_line_length prt_conv_info: 29. 6 pci.phys_page_length prt_conv_info: 30. 324 pci.pos prt_conv_info: 77. 777 pci.rbits_mask prt_conv_info: 74. 22 pci.rbits_shift prt_conv_info: 73. 3 pci.rmarg prt_conv_info: 27. 332 pci.sav_pos prt_conv_info: 82. 10 pci.sheets_per_page prt_conv_info: 32. 200000 pci.single_space prt_conv_info: 39. 326 pci.slew_residue prt_conv_info: 79. 7 pci.slew_table_idx_mask prt_conv_info: 63. 0 pci.slew_table_idx_shift prt_conv_info: 62. 335 pci.temp spool_conv_: 51, 55, 58, 96, prt_conv_info: 85. 121 pci.top_label_length prt_conv_info: 67. 15 pci.top_label_line prt_conv_info: 65. 40000 pci.truncate prt_conv_info: 41. 400000 pci.upper_case prt_conv_info: 58. 336 pci_size prt_conv_info: 22. 42 slew spool_conv_: 93, 100, 108. 56 slewn spool_conv_: 117, 121. 0 spool_conv_ spool_conv_: 34, 37. 16 spool_send_chars spool_conv_: 39, 68. 4 spool_send_init spool_conv_: 38, 50. 50 spool_send_slew_count spool_conv_: 41, 112. 34 spool_send_slew_pattern spool_conv_: 40, 90. 40 stslew spool_conv_: 96, 118. 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