ASSEMBLY LISTING OF SEGMENT >spec>install>1112>ebcdic_to_ascii_.alm ASSEMBLED ON: 11/11/89 0927.4 mst Sat OPTIONS USED: -target l68 list symbols ASSEMBLED BY: ALM Version 8.14 March 1989 ASSEMBLER CREATED: 06/09/89 1002.3 mst Fri 1 " *********************************************************** 2 " * * 3 " * Copyright, (C) Honeywell Bull Inc., 1987 * 4 " * * 5 " * Copyright, (C) Honeywell Information Systems Inc., 1982 * 6 " * * 7 " * Copyright (c) 1972 by Massachusetts Institute of * 8 " * Technology and Honeywell Information Systems, Inc. * 9 " * * 10 " *********************************************************** 11 12 "ALM subroutine to convert from 9 bit EBCDIC to 9 bit ASCII 13 "Input bytes must be valid EBCDIC characters in the range 14 "00 <_ hexadecimal_value <_ FF, or 000 <_ octal_value <_ 377. 15 " 16 "ARG 1: pointer to source string - data to be converted 17 "ARG 2: pointer to target string - converted data 18 " 19 "PL/I Usage: 20 " 21 "dcl ebcdic_to_ascii_ ext entry (char (*), char (*)); 22 " call ebcdic_to_ascii_ (input_string, output_string); 23 " 24 "Note: the EBCDIC to ASCII mapping used is defined in the text 25 " of this procedure. It is available to the user program 26 " through the following declaration. 27 " 28 "dcl ebcdic_to_ascii_$ea_table char (256) external static; 29 " 30 "The table consists of 256 ASCII characters which correspond to 31 "the 256 EBCDIC characters. As only 128 of the EBCDIC characters 32 "have ASCII mappings, the other 128 are mapped into the ASCII SUB 33 "character, octal 032. (The EBCDIC SUB character is also mapped 34 "into octal 032. 35 " 36 " 0) Created by Ross E. Klinger, 02/14/74 37 " 1) Modified by R.E. Klinger, 03/13/75 000000 38 name ebcdic_to_ascii_ 000000 39 segdef ebcdic_to_ascii_ 000022 40 segdef ea_table 000000 aa 0 00002 3515 20 41 ebcdic_to_ascii_: epp1 ap|2,* address of source string to pr1 000001 aa 0 00004 3535 20 42 epp3 ap|4,* address of target string to pr3 000002 aa 000000 2230 03 43 ldx3 0,du set x3 not to skip parent pointer if none 000003 aa 0 00000 7221 00 44 lxl2 ap|0 load argument list code value 000004 aa 000004 3020 03 45 canx2 =o000004,du check for code 4 - no parent pointer 000005 0a 000007 6010 00 46 tnz *+2 transfer if no parent pointer 000006 aa 000002 2230 03 47 ldx3 2,du parent pointer - set x3 to skip it 000007 aa 0 00006 2351 33 48 lda ap|6,x3* load source string descriptor 000010 aa 0 00010 2361 33 49 ldq ap|8,x3* load target string descriptor 000011 0a 000021 3750 00 50 ana mask drop all but string size bits 000012 0a 000021 3760 00 51 anq mask ditto 000013 aa 000000 0110 03 52 even "EIS address must be even 000014 aa 1 00140 1605 40 53 mvt (pr,rl),(pr,rl),fill(100) no, translate ebcdic to ascii 000015 aa 100000 000005 54 desc9a 1|0,al source string 000016 aa 300000 000006 55 desc9a 3|0,ql target string 000017 0a 000022 0000 00 56 arg ea_table 000020 aa 7 00044 7101 20 57 short_return "exit 58 000021 aa 000077 777777 59 mask: oct 000077777777 60 even 61 " ASCII OUTPUT ASCII GRAPHIC EBCDIC INPUT 000022 aa 000001 002003 62 ea_table: oct 000001002003 NUL,SOH,STX,ETX 00-3 000023 aa 032011 032177 63 oct 032011032177 -,HT,-,DEL 04-7 000024 aa 032032 032013 64 oct 032032032013 -,-,-,VT 08-B 000025 aa 014015 016017 65 oct 014015016017 FF,CR,SO,SI 0C-F 000026 aa 020021 022023 66 oct 020021022023 DLE,DC1,DC2,DC3 10-3 000027 aa 032032 010032 67 oct 032032010032 -,-,BS,- 14-7 000030 aa 030031 032032 68 oct 030031032032 CAN,EM,-,- 18-B 000031 aa 034035 036037 69 oct 034035036037 FS,GS,RS,US 1C-F 000032 aa 032032 032032 70 oct 032032032032 -,-,-,- 20-3 000033 aa 032012 027033 71 oct 032012027033 -,LF,ETB,ESC 24-7 000034 aa 032032 032032 72 oct 032032032032 -,-,-,- 28-B 000035 aa 032005 006007 73 oct 032005006007 -,ENQ,ACK,BEL 2C-F 000036 aa 032032 026032 74 oct 032032026032 -,-,SYN,- 30-3 000037 aa 032032 032004 75 oct 032032032004 -,-,-,EOT 34-7 000040 aa 032032 032032 76 oct 032032032032 -,-,-,- 38-B 000041 aa 024025 032032 77 oct 024025032032 DC4,NAK,-,SUB 3C-F 000042 aa 040032 032032 78 oct 040032032032 (space),-,-,- 40-3 000043 aa 032032 032032 79 oct 032032032032 -,-,-,- 44-7 000044 aa 032032 032056 80 oct 032032032056 -,-,-,. 48-B 000045 aa 074050 053174 81 oct 074050053174 <,(,+,| 4C|F 000046 aa 046032 032032 82 oct 046032032032 &,-,-,- 50-3 000047 aa 032032 032032 83 oct 032032032032 -,-,-,- 54-7 000050 aa 032032 041044 84 oct 032032041044 -,-,!,$ 58-B 000051 aa 052051 073136 85 oct 052051073136 *,),";",^ 5C-F 000052 aa 055057 032032 86 oct 055057032032 "-",/,-,- 60-3 000053 aa 032032 032032 87 oct 032032032032 -,-,-,- 64-7 000054 aa 032032 032054 88 oct 032032032054 -,-,-,"," 68-B 000055 aa 045137 076077 89 oct 045137076077 %,_,>,? 6C-F 000056 aa 032032 032032 90 oct 032032032032 -,-,-,- 70-3 000057 aa 032032 032032 91 oct 032032032032 -,-,-,- 74-7 000060 aa 032140 072043 92 oct 032140072043 -,`,:,# 78-B 000061 aa 100047 075042 93 oct 100047075042 @,',=," 7C-F 000062 aa 032141 142143 94 oct 032141142143 -,a,b,c 80-3 000063 aa 144145 146147 95 oct 144145146147 d,e,f,g 84-7 000064 aa 150151 032032 96 oct 150151032032 h,i,-,- 88-B 000065 aa 032032 032032 97 oct 032032032032 -,-,-,- 8C-F 000066 aa 032152 153154 98 oct 032152153154 -,j,k,l 90-3 000067 aa 155156 157160 99 oct 155156157160 m,n,o,p 94-7 000070 aa 161162 032032 100 oct 161162032032 q,r,-,- 98-B 000071 aa 032032 032032 101 oct 032032032032 -,-,-,- 9C-F 000072 aa 032176 163164 102 oct 032176163164 -,~,s,t A0-3 000073 aa 165166 167170 103 oct 165166167170 u,v,w,x A4-7 000074 aa 171172 032032 104 oct 171172032032 y,z,-,- A8-B 000075 aa 032133 032032 105 oct 032133032032 -,[,-,- AC-F 000076 aa 032032 032032 106 oct 032032032032 -,-,-,- B0-3 000077 aa 032032 032032 107 oct 032032032032 -,-,-,- B4-7 000100 aa 032032 032032 108 oct 032032032032 -,-,-,- B8-B 000101 aa 032135 032032 109 oct 032135032032 -,],-,- BC-F 000102 aa 173101 102103 110 oct 173101102103 {,A,B,C C0-3 000103 aa 104105 106107 111 oct 104105106107 D,E,F,G C4-7 000104 aa 110111 032032 112 oct 110111032032 H,I,-,- C8-B 000105 aa 032032 032032 113 oct 032032032032 -,-,-,- CC-F 000106 aa 175112 113114 114 oct 175112113114 },J,K,L D0-3 000107 aa 115116 117120 115 oct 115116117120 M,N,O,P D4-7 000110 aa 121122 032032 116 oct 121122032032 Q,R,-,- D8-B 000111 aa 032032 032032 117 oct 032032032032 -,-,-,- DC-F 000112 aa 134032 123124 118 oct 134032123124 \,-,S,T E0-3 000113 aa 125126 127130 119 oct 125126127130 U,V,W,X E4-7 000114 aa 131132 032032 120 oct 131132032032 Y,Z,-,- E8-B 000115 aa 032032 032032 121 oct 032032032032 -,-,-,- EC-F 000116 aa 060061 062063 122 oct 060061062063 0,1,2,3 F0-3 000117 aa 064065 066067 123 oct 064065066067 4,5,6,7 F4-7 000120 aa 070071 032032 124 oct 070071032032 8,9,-,- F8-B 000121 aa 032032 032032 125 oct 032032032032 -,-,-,- FC-F 126 end NO LITERALS NAME DEFINITIONS FOR ENTRY POINTS AND SEGDEFS 000122 5a 000003 000000 000123 5a 000040 600000 000124 aa 000000 000000 000125 55 000013 000002 000126 5a 000002 400003 000127 55 000006 000013 000130 aa 020 145 142 143 000131 aa 144 151 143 137 000132 aa 164 157 137 141 000133 aa 163 143 151 151 000134 aa 137 000 000 000 000135 55 000021 000003 000136 0a 000022 400000 000137 55 000016 000003 000140 aa 010 145 141 137 ea_table 000141 aa 164 141 142 154 000142 aa 145 000 000 000 000143 55 000031 000013 000144 0a 000000 400000 000145 55 000024 000003 000146 aa 020 145 142 143 ebcdic_to_ascii_ 000147 aa 144 151 143 137 000150 aa 164 157 137 141 000151 aa 163 143 151 151 000152 aa 137 000 000 000 000153 55 000002 000021 000154 6a 000000 400002 000155 55 000034 000003 000156 aa 014 163 171 155 symbol_table 000157 aa 142 157 154 137 000160 aa 164 141 142 154 000161 aa 145 000 000 000 DEFINITIONS HASH TABLE 000162 aa 000000 000015 000163 aa 000000 000000 000164 aa 000000 000000 000165 aa 000000 000000 000166 aa 000000 000000 000167 aa 000000 000000 000170 5a 000021 000000 000171 5a 000031 000000 000172 aa 000000 000000 000173 aa 000000 000000 000174 aa 000000 000000 000175 5a 000013 000000 000176 aa 000000 000000 000177 aa 000000 000000 NO EXTERNAL NAMES NO TRAP POINTER WORDS TYPE PAIR BLOCKS 000200 aa 000001 000000 000201 aa 000000 000000 INTERNAL EXPRESSION WORDS LINKAGE INFORMATION 000000 aa 000000 000000 000001 0a 000122 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 117547 000007 aa 243462 655630 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 000104 000021 aa 000116 000113 000022 aa 000126 000104 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 110151 162156 000035 aa 145151 163145 000036 aa 156056 123171 000037 aa 163115 141151 000040 aa 156164 056141 000041 aa 040040 040040 000042 aa 040040 040040 000043 aa 040040 040040 000044 aa 055164 141162 000045 aa 147145 164040 000046 aa 154066 070040 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 040154 151163 000057 aa 164040 163171 000060 aa 155142 157154 000061 aa 163040 040040 000062 aa 040040 040040 000063 aa 040040 040040 000064 aa 000000 000001 000065 aa 000000 000001 000066 aa 000072 000047 000067 aa 175453 020377 000070 aa 000000 117547 000071 aa 201157 600000 000072 aa 076163 160145 >spec>install>1112>ebcdic_to_ascii_.alm 000073 aa 143076 151156 000074 aa 163164 141154 000075 aa 154076 061061 000076 aa 061062 076145 000077 aa 142143 144151 000100 aa 143137 164157 000101 aa 137141 163143 000102 aa 151151 137056 000103 aa 141154 155040 MULTICS ASSEMBLY CROSS REFERENCE LISTING Value Symbol Source file Line number 22 ea_table ebcdic_to_ascii_: 40, 56, 62. 0 ebcdic_to_ascii_ ebcdic_to_ascii_: 39, 41. 21 mask ebcdic_to_ascii_: 50, 51, 59. 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