ASSEMBLY LISTING OF SEGMENT >udd>sm>ds>w>ml>ascii_to_ebcdic_.alm ASSEMBLED ON: 06/29/00 1714.0 mdt Thu 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 " * Copyright (c) 1975 by Massachusetts Institute of Technology * 6 " * * 7 " *************************************************************** 8 9 10 11 "ALM subroutine to convert from 9 bit ASCII to 9 bit EBCDIC 12 "input bytes must be valid ASCII characters whose octal values 13 "fall in the range 000 <_ octal_value <_ 177 14 " 15 "ARG 1: pointer to source string - data to be converted 16 "ARG 2: pointer to target string - converted data 17 " 18 "PL/I Usage: 19 " 20 "dcl ascii_to_ebcdic_ ext entry (char (*), char (*)); 21 " call ascii_to_ebcdic_ (input_string, output_string); 22 " 23 " 24 "Note: the ASCII to EBCDIC mapping used is defined in the 25 " text of this procedure. It is available to a user 26 " program through the following declaration. 27 " 28 "dcl ascii_to_ebcdic_$ae_table char (128) external static; 29 " 30 "The table consists of 128 EBCDIC characters which 31 "correspond to the 128 ASCII characters. The first character 32 "corresponds to 000, the 2nd to 001, ....., the 128th 33 "to 177. 34 " 35 " 0) Created by Ross E. Klinger, 02/14/74 36 " 1) Modified by R.E. Klinger, 03/13/75 000000 37 name ascii_to_ebcdic_ 000000 38 segdef ascii_to_ebcdic_ 000022 39 segdef ae_table 000000 aa 0 00002 3515 20 40 ascii_to_ebcdic_: epp1 ap|2,* address of source string to pr1 000001 aa 0 00004 3535 20 41 epp3 ap|4,* address of target string to pr3 000002 aa 000000 2230 03 42 ldx3 0,du set x3 not to skip parent pointer if none 000003 aa 0 00000 7221 00 43 lxl2 ap|0 load argument list code value 000004 aa 000004 3020 03 44 canx2 =o000004,du check for code 4 - no parent pointer 000005 0a 000007 6010 00 45 tnz *+2 transfer if no parent pointer 000006 aa 000002 2230 03 46 ldx3 2,du parent pointer - set x3 to skip it 000007 aa 0 00006 2351 33 47 lda ap|6,x3* load source string descriptor 000010 aa 0 00010 2361 33 48 ldq ap|8,x3* load target string descriptor 000011 0a 000021 3750 00 49 ana mask drop all but string size bits 000012 0a 000021 3760 00 50 anq mask ditto 000013 aa 000000 0110 03 51 even 000014 aa 0 40140 1605 40 52 mvt (pr,rl),(pr,rl),fill(040) translate ascii to ebcdic 000015 aa 100000 000005 53 desc9a 1|0,al source string 000016 aa 300000 000006 54 desc9a 3|0,ql target string 000017 0a 000022 0000 00 55 arg ae_table 000020 aa 7 00044 7101 20 56 short_return "exit 57 000021 aa 000077 777777 58 mask: oct 000077777777 59 even 60 " EBCDIC OUTPUT EBCDIC GRAPHIC HEXADECIMAL 000022 aa 000001 002003 61 ae_table: oct 000001002003 NUL,SOH,STX,ETX 00,01,02,03 000023 aa 067055 056057 62 oct 067055056057 EOT,ENQ,ACK,BEL 37,2D,2E,2F 000024 aa 026005 045013 63 oct 026005045013 BS,HT,NL,VT 16,05,25,0B 000025 aa 014015 016017 64 oct 014015016017 NP,CR,SO,SI 0C,0D,0E,0F 000026 aa 020021 022023 65 oct 020021022023 DLE,DC1,DC2,TM 10,11,12,13 000027 aa 074075 062046 66 oct 074075062046 DC4,NAK,SYN,ETB 3C,3D,32,26 000030 aa 030031 077047 67 oct 030031077047 CAN,EM,SUB,ESC 18,19,3F,27 000031 aa 034035 036037 68 oct 034035036037 IFS,IGS,IRS,IUS 1C,1D,1E,1F 000032 aa 100132 177173 69 oct 100132177173 space,!,",# 40,5A,7F,7B 000033 aa 133154 120175 70 oct 133154120175 $,%,&,apostrophe 5B,6C,50,7D 000034 aa 115135 134116 71 oct 115135134116 (,),*,+ 4D,5D,5C,4E 000035 aa 153140 113141 72 oct 153140113141 ",",-,.,/ 6B,60,4B,61 000036 aa 360361 362363 73 oct 360361362363 0,1,2,3 F0,F1,F2,F3 000037 aa 364365 366367 74 oct 364365366367 4,5,6,7 F4,F5,F6,F7 000040 aa 370371 172136 75 oct 370371172136 8,9,:,";" F8,F9,7A,5E 000041 aa 114176 156157 76 oct 114176156157 <,=,>,? 4C,7E,6E,6F 000042 aa 174301 302303 77 oct 174301302303 @,A,B,C 7C,C1,C2,C3 000043 aa 304305 306307 78 oct 304305306307 D,E,F,G C4,C5,C6,C7 000044 aa 310311 321322 79 oct 310311321322 H,I,J,K C8,C9,D1,D2 000045 aa 323324 325326 80 oct 323324325326 L,M,N,O D3,D4,D5,D6 000046 aa 327330 331342 81 oct 327330331342 P,Q,R,S D7,D8,D9,E2 000047 aa 343344 345346 82 oct 343344345346 T,U,V,W E3,E4,E5,E6 000050 aa 347350 351255 83 oct 347350351255 X,Y,Z,[ E7,E8,E9,AD 000051 aa 340275 137155 84 oct 340275137155 \,],^,_ E0,BD,5F,6D 000052 aa 171201 202203 85 oct 171201202203 `,a,b,c 79,81,82,83 000053 aa 204205 206207 86 oct 204205206207 d,e,f,g 84,85,86,87 000054 aa 210211 221222 87 oct 210211221222 h,i,j,k 88,89,91,92 000055 aa 223224 225226 88 oct 223224225226 l,m,n,o 93,94,95,96 000056 aa 227230 231242 89 oct 227230231242 p,q,r,s 97,98,99,A2 000057 aa 243244 245246 90 oct 243244245246 t,u,v,w A3,A4,A5,A6 000060 aa 247250 251300 91 oct 247250251300 x,y,z,{ A7,A8,A9,C0 000061 aa 117320 241007 92 oct 117320241007 solid bar,},~,DEL 4F,D0,A1,07 93 94 end NO LITERALS NAME DEFINITIONS FOR ENTRY POINTS AND SEGDEFS 000062 5a 000003 000000 000063 5a 000040 600000 000064 aa 000000 000000 000065 55 000013 000002 000066 5a 000002 400003 000067 55 000006 000013 000070 aa 020 141 163 143 000071 aa 151 151 137 164 000072 aa 157 137 145 142 000073 aa 143 144 151 143 000074 aa 137 000 000 000 000075 55 000021 000003 000076 0a 000022 400000 000077 55 000016 000003 000100 aa 010 141 145 137 ae_table 000101 aa 164 141 142 154 000102 aa 145 000 000 000 000103 55 000031 000013 000104 0a 000000 400000 000105 55 000024 000003 000106 aa 020 141 163 143 ascii_to_ebcdic_ 000107 aa 151 151 137 164 000110 aa 157 137 145 142 000111 aa 143 144 151 143 000112 aa 137 000 000 000 000113 55 000002 000021 000114 6a 000000 400002 000115 55 000034 000003 000116 aa 014 163 171 155 symbol_table 000117 aa 142 157 154 137 000120 aa 164 141 142 154 000121 aa 145 000 000 000 DEFINITIONS HASH TABLE 000122 aa 000000 000015 000123 aa 000000 000000 000124 aa 000000 000000 000125 aa 000000 000000 000126 5a 000021 000000 000127 aa 000000 000000 000130 aa 000000 000000 000131 5a 000031 000000 000132 aa 000000 000000 000133 5a 000013 000000 000134 aa 000000 000000 000135 aa 000000 000000 000136 aa 000000 000000 000137 aa 000000 000000 NO EXTERNAL NAMES NO TRAP POINTER WORDS TYPE PAIR BLOCKS 000140 aa 000001 000000 000141 aa 000000 000000 INTERNAL EXPRESSION WORDS LINKAGE INFORMATION 000000 aa 000000 000000 000001 0a 000062 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 131171 000007 aa 555455 015475 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 000132 000020 aa 000000 000103 000021 aa 000114 000111 000022 aa 000124 000103 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 000001 000066 aa 000072 000044 000067 aa 311454 031636 000070 aa 000000 131171 000071 aa 555455 000000 000072 aa 076165 144144 >udd>sm>ds>w>ml>ascii_to_ebcdic_.alm 000073 aa 076163 155076 000074 aa 144163 076167 000075 aa 076155 154076 000076 aa 141163 143151 000077 aa 151137 164157 000100 aa 137145 142143 000101 aa 144151 143137 000102 aa 056141 154155 MULTICS ASSEMBLY CROSS REFERENCE LISTING Value Symbol Source file Line number 22 ae_table ascii_to_ebcdic_: 39, 55, 61. 0 ascii_to_ebcdic_ ascii_to_ebcdic_: 38, 40. 21 mask ascii_to_ebcdic_: 49, 50, 58. 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