LABEL 000000000LINE 00184068?USER=LANZA ;COMPILE CASESW /PAULROSE NO 85410800 ALGOL ALGOL /CASESW ____________________________________________________________________________________________________________________________________ BURROUGHS B-5700 ALGOL COMPILER MARK XIII.0 THURSDAY, 03/08/84, 12:19 PM. % CASE VS. SWITCH 10/01/70 ROSE & PK 00002000 0000 BEGIN 00003000 0000 0000 LITC 0000 0000 0001 MKS 0441 PRT(22) = *LIST, LABEL, OR SEGMENT DESCRIPTOR* PRT(22) = SEGMENT DESCRIPTOR, TYPE = 3, RELATIVE ADDRESS = 0000, SEGMENT NUMBER = 0001. PRT(23) = *OUTER BLOCK DESCRIPTOR* PRT(24) = *SEGMENT DESCRIPTOR* 0002 OPDC 0024 0122 0003 BFW 4231 START OF SEGMENT ********** 2 INTEGER I, J, K; 00004000 0000 PRT(25) = I PRT(26) = J PRT(27) = K FILE OUT PR 18 (2,15); 00005000 0000 PRT(30) = PR 0000 MKS 0441 0001 LITC 0000 0000 0002 LITC 0000 0000 0003 LITC 0003 0014 0004 LITC 0001 0004 0005 DESC 0030 0143 0006 LITC 0002 0010 0007 LITC 0001 0004 0010 LITC 0017 0074 0011 LITC 0000 0000 0012 LITC 0000 0000 0013 LITC 0012 0050 0014 LITC 0010 0040 0015 OPDC 0005 0026 BEGIN %%% INNER BLOCK %%% 00006000 0003 REAL X, Y, Z; 00007000 0003 PRT(31) = *SEGMENT DESCRIPTOR* 0016 OPDC 0031 0146 0017 BFW 4231 START OF SEGMENT ********** 3 PRT(32) = X PRT(33) = Y PRT(34) = Z LABEL L1, L2, L3; 00008000 0000 SWITCH S ~ L1, L2, L3; 00008500 0000 0000 LITC 0000 0000 0001 OPDC 0021 0106 0002 GEQ 0125 0003 OPDC 0021 0106 0005 GTR 0225 0006 LOR 0215 0007 OPDC 0021 0106 0010 DUP 2025 0011 ADD 0101 0012 BFC 0231 0015 LITC 0000 0000 0016 OPDC 0252 1252 0017 LITC 0000 0000 0020 DIA 12 1255 0021 LITC 0000 0000 0022 LITC 0254 1260 0004 LITC 0003 0014 ALPHA ARRAY A[0:I], B[0:2|I+1]; 00009000 0004 0023 NOP 0055 0024 MKS 0441 PRT(35) = A 0025 LITC 0000 0000 0026 LITC 0035 0164 0027 STD 0421 0030 DESC 0035 0167 0031 OPDC 0025 0126 0032 LITC 0021 0104 0033 ISN 4221 0034 LITC 0001 0004 0035 ADD 0101 0036 LITC 0001 0004 0037 LITC 0001 0004 0040 LITC 0000 0000 0041 OPDC 0005 0026 0042 MKS 0441 PRT(36) = B 0043 LITC 0000 0000 0044 LITC 0036 0170 0045 STD 0421 0046 DESC 0036 0173 0047 LITC 0002 0010 0050 OPDC 0025 0126 0051 MUL 0401 0052 LITC 0001 0004 0053 ADD 0101 0054 LITC 0021 0104 0055 ISN 4221 0056 LITC 0001 0004 0057 ADD 0101 0060 LITC 0001 0004 0061 LITC 0001 0004 0062 LITC 0000 0000 0063 OPDC 0005 0026 FORMAT F1 (X20,O,X5,2O); 00010000 0013 START OF SEGMENT ********** 4 PRT(37) = F1 PRT(37) = SEGMENT DESCRIPTOR, TYPE = 2, RELATIVE ADDRESS = 0000, SEGMENT NUMBER = 0004. 0000 2400000000002000 0001 0224000000050001 0002 1410000000000001 0003 0205000000012001 0004 1410000000000002 0005 2600000000000001 0000 2400000000014000 0006 2000000000000006 4 IS 7 LONG, NEXT SEG 3 00011000 0013 STREAM PROCEDURE MOVEPRT (PRT25, A, N); 00012000 0013 PRT(40) = MOVEPRT VALUE N; 00013000 0013 BEGIN 00014000 0013 0066 NOP 0000 0001 0067 NOP 0000 0001 PRT(40) = SEGMENT DESCRIPTOR, TYPE = 3, RELATIVE ADDRESS = 0070, SEGMENT NUMBER = 0003. LOCAL N1, N2; 00014100 0014 SI ~ LOC N; SI ~ SI + 6; 00014200 0014 0070 SES 0001 0122 0071 SFS 0006 0631 DI ~ LOC N1; DI ~ DI + 7; 00014210 0014 0072 SED 0004 0406 0073 SFD 0007 0716 DS ~ CHR; 00014220 0015 0074 TRS 0001 0177 DI ~ LOC N2; DI ~ DI + 7; 00014230 0015 0075 SED 0005 0506 0076 SFD 0007 0716 DS ~ CHR; 00014240 0015 0077 TRS 0001 0177 00014250 0016 SI ~ PRT25; 8(SI ~ SI - 21); 00015000 0016 0100 RSA 0003 0353 0101 BNS 0010 1052 0102 SRS 0025 2530 0103 ENS 0000 0051 DI ~ A; 00016000 0017 0104 RDA 0002 0204 N1(2(DS ~ 32 WDS)); DS ~ N2 WDS; 00017000 0017 0105 CRF 0004 0443 0106 BNS 0000 0052 0107 NOP 0000 0001 0110 NOP 0000 0001 0111 BNS 0002 0252 0112 TRW 0040 4005 0113 ENS 0000 0051 0114 ENS 0000 0051 0105 NOP 0000 0001 0106 NOP 0000 0001 0107 CRF 0004 0443 0110 BNS 0004 0452 0115 CRF 0005 0543 0116 TRW 0000 0005 END MOVEPRT; 00018000 0019 0117 EXC 0000 0000 00019000 0020 STREAM PROCEDURE BINOCT (N, S, D); 00020000 0020 PRT(41) = BINOCT VALUE N; 00021000 0020 BEGIN 00022000 0020 PRT(41) = SEGMENT DESCRIPTOR, TYPE = 3, RELATIVE ADDRESS = 0120, SEGMENT NUMBER = 0003. LOCAL N1, N2; 00022100 0020 SI ~ LOC N; SI ~ SI + 6; 00022200 0020 0120 SES 0003 0322 0121 SFS 0006 0631 DI ~ LOC N1; DI ~ DI + 7; 00022210 0020 0122 SED 0004 0406 0123 SFD 0007 0716 DS ~ CHR; 00022220 0021 0124 TRS 0001 0177 DI ~ LOC N2; DI ~ DI + 7; 00022230 0021 0125 SED 0005 0506 0126 SFD 0007 0716 DS ~ CHR; 00022240 0021 0127 TRS 0001 0177 00022250 0022 SI ~ S; 00023000 0022 0130 RSA 0002 0253 DI ~ D; 00024000 0022 0131 RDA 0001 0104 N1(32(32(DS~ 3 RESET; 3(IF SB THEN DS ~ SET ELSE DS ~ RESET; 00025000 0022 0132 CRF 0004 0443 0133 BNS 0000 0052 0134 NOP 0000 0001 0135 NOP 0000 0001 0136 BNS 0040 4052 0137 BNS 0040 4052 0140 BIR 0003 0365 0141 BNS 0003 0352 0142 BIT 0001 0137 0143 JFC 0000 0045 0144 BIS 0001 0164 0145 JFW 0000 0047 0143 JFC 0002 0245 0146 BIR 0001 0165 0145 JFW 0001 0147 SKIP SB)))); 00026000 0025 0147 BSS 0001 0103 0150 ENS 0000 0051 0151 ENS 0000 0051 0152 ENS 0000 0051 0153 ENS 0000 0051 0132 NOP 0000 0001 0133 NOP 0000 0001 0134 CRF 0004 0443 0135 BNS 0016 1652 N2(16(DS ~ 3 RESET; 3(IF SB THEN DS ~ SET ELSE DS ~ RESET; 00027000 0027 0154 CRF 0005 0543 0155 BNS 0000 0052 0156 NOP 0000 0001 0157 NOP 0000 0001 0160 BNS 0020 2052 0161 BIR 0003 0365 0162 BNS 0003 0352 0163 BIT 0001 0137 0164 JFC 0000 0045 0165 BIS 0001 0164 0166 JFW 0000 0047 0164 JFC 0002 0245 0167 BIR 0001 0165 0166 JFW 0001 0147 SKIP SB))); 00028000 0030 0170 BSS 0001 0103 0171 ENS 0000 0051 0172 ENS 0000 0051 0173 ENS 0000 0051 0154 NOP 0000 0001 0155 NOP 0000 0001 0156 CRF 0005 0543 0157 BNS 0014 1452 END BINOCT; 00029000 0031 0174 EXC 0000 0000 00030000 0031 L1: 00031000 0031 0175 NOP 0055 0176 NOP 0055 0177 NOP 0055 0064 LITC 0023 0114 0065 LFU 6231 J ~ 3; GO TO S[J]; 00032000 0032 0200 LITC 0003 0014 0201 LITC 0026 0130 0202 ISD 4121 0203 OPDC 0026 0132 0204 LITC 0021 0104 0205 ISD 4121 0206 LITC 0041 0204 0207 LBU 6131 0013 LITC 0176 0770 0014 BFW 4231 0210 NOP 0055 0211 NOP 0055 0212 NOP 0055 L2: 00033000 0034 0213 NOP 0055 CASE J MOD 10 OF 00034000 0035 0214 OPDC 0026 0132 0215 LITC 0012 0050 0216 RDV 7001 BEGIN 00035000 0035 PRT(42) = *CASE STATEMENT DESCRIPTOR* 0217 OPDC 0042 0212 0220 BFW 4231 J ~ 3; 00036000 0036 0221 LITC 0003 0014 0222 LITC 0026 0130 0223 ISD 4121 0224 LITC 0000 0000 K ~ J; 00037000 0037 0226 OPDC 0026 0132 0227 LITC 0027 0134 0230 ISD 4121 0231 OPDC 0045 0226 X ~ K +J; 00038000 0038 0233 OPDC 0027 0136 0234 OPDC 0026 0132 0235 ADD 0101 0236 LITC 0032 0150 0237 STD 0421 0240 DESC 0046 0233 Y ~ X ~ SQRT(X); 00039000 0040 0242 MKS 0441 0243 OPDC 0032 0152 PRT(43) = SQRT 0244 OPDC 0043 0216 0245 LITC 0032 0150 0246 SND 1021 0247 LITC 0033 0154 0250 STD 0421 0251 OPDC 0050 0242 ; 00040000 0042 Z ~ 2|Y + 6.0; 00041000 0042 0253 LITC 0002 0010 0254 OPDC 0033 0156 0255 MUL 0401 0256 DESC 1777 7777 0257 ADD 0101 0260 LITC 0034 0160 0261 STD 0421 0262 DESC 0052 0253 ; 00042000 0045 K ~ 5000; 00043000 0045 0264 DESC 1777 7777 0265 LITC 0027 0134 0266 ISD 4121 0267 LITC 0055 0264 END CASE; 00044000 0046 START OF SEGMENT ********** 5 PRT(42) = SEGMENT DESCRIPTOR, TYPE = 2, RELATIVE ADDRESS = 0000, SEGMENT NUMBER = 0005. 5 IS 8 LONG, NEXT SEG 3 0267 LITC 0000 0000 0270 BFW 4231 0262 LITC 0005 0024 0263 BFW 4231 0251 LITC 0016 0070 0252 BFW 4231 0240 LITC 0027 0134 0241 BFW 4231 0231 LITC 0036 0170 0232 BFW 4231 0224 LITC 0043 0214 0225 BFW 4231 L3: 00045000 0046 0271 NOP 0055 0272 NOP 0055 0273 NOP 0055 MOVEPRT (I, A[*], I); 00046000 0047 0274 MKS 0441 0275 LITC 0000 0000 0276 LITC 0000 0000 0277 DESC 0025 0127 0300 LITC 0035 0164 0301 LOD 2021 0302 OPDC 0025 0126 0303 OPDC 0040 0202 BINOCT (I, A[*], B[*]); 00047000 0049 0304 MKS 0441 0305 LITC 0000 0000 0306 LITC 0000 0000 0307 OPDC 0025 0126 0310 LITC 0035 0164 0311 LOD 2021 0312 LITC 0036 0170 0313 LOD 2021 0314 OPDC 0041 0206 FOR J ~ 0 STEP 1 UNTIL I DO 00048000 0051 0315 LITC 0000 0000 0256 OPDC 1411 6046 0320 1146000000000000 0264 OPDC 1410 6042 0324 0000000000011610 BEGIN 00049000 0054 BINOCT (1, J, Y); 00050000 0054 0330 MKS 0441 0331 LITC 0000 0000 0332 LITC 0000 0000 0333 LITC 0001 0004 0334 DESC 0026 0133 0335 DESC 0033 0157 0336 OPDC 0041 0206 WRITE (PR, F1, Z, B[J|2], B[J|2+1]); 00051000 0055 0337 MKS 0441 PRT(44) = 0340 LITC 0044 0220 0341 LOD 2021 0342 LITC 0005 0024 0343 DESC 0030 0143 0344 LITC 0000 0000 0345 LITC 0001 0004 0346 LITC 0000 0000 0347 LITC 0037 0174 0350 LOD 2021 0353 NOP 0055 PRT(45) = *LIST, LABEL, OR SEGMENT DESCRIPTOR* PRT(45) = SEGMENT DESCRIPTOR, TYPE = 0, RELATIVE ADDRESS = 0354, SEGMENT NUMBER = 0003. 0354 OPDC 0023 0116 0355 BFW 4231 0357 LITC 0023 0114 0360 STD 0421 0361 DESC 0034 0163 0362 RTS 1235 0356 LITC 0005 0024 0364 LITC 0023 0114 0365 STD 0421 0366 OPDC 0026 0132 0367 LITC 0002 0010 0370 MUL 0401 0371 DESC 0036 0173 0372 RTS 1235 0363 LITC 0015 0064 0374 LITC 0023 0114 0375 STD 0421 0376 OPDC 0026 0132 0377 LITC 0002 0010 0400 MUL 0401 0401 LITC 0001 0004 0402 ADD 0101 0403 DESC 0036 0173 0404 RTS 1235 0373 LITC 0027 0134 0405 LITC 0001 0004 0406 CHS 1031 0407 LITC 0023 0114 0410 SND 1021 0411 RTS 1235 0412 NOP 0055 0413 NOP 0055 0351 LITC 0011 0044 0352 LFU 6231 0414 LITC 0045 0224 0415 LOD 2021 0416 DESC 1000 4003 0417 CTF 7425 PRT(46) = OUTPUT(W) 0420 OPDC 0046 0232 END; 00052000 0068 0421 OPDC 0026 0132 0422 LITC 0001 0004 0423 ADD 0101 0316 LITC 0022 0110 0317 LFU 6231 0424 LITC 0026 0130 0425 ISN 4221 0426 OPDC 0025 0126 0427 LEQ 4125 0430 LITC 0000 0000 0427 GTR 0225 0430 LITC 0020 0100 0431 LBC 2131 END INNER BLOCK; 00053000 0070 0432 LITC 0012 0050 0433 COM 1011 PRT(47) = *SEGMENT DESCRIPTOR* 0434 OPDC 0047 0236 0435 BFW 4231 0436 NOP 0055 0437 NOP 0055 0440 OPDC 0020 0102 0441 LITC 0001 0004 0442 ADD 0101 0443 LITC 0020 0100 0444 STD 0421 0015 LITC 0035 0164 0016 LFU 6231 0017 LITC 0037 0174 0020 LFU 6231 0021 LITC 0053 0254 0022 LFU 6231 0445 LITC 0104 0420 0446 LBU 6131 PRT(31) = SEGMENT DESCRIPTOR, TYPE = 2, RELATIVE ADDRESS = 0440, SEGMENT NUMBER = 0003. 3 IS 74 LONG, NEXT SEG 2 PRT(47) = SEGMENT DESCRIPTOR, TYPE = 2, RELATIVE ADDRESS = 0020, SEGMENT NUMBER = 0002. END. 00054000 0004 0020 LITC 0012 0050 0021 COM 1011 0022 XIT 0435 0023 NOP 0055 0024 OPDC 0020 0102 0025 LITC 0001 0004 0026 ADD 0101 0027 LITC 0020 0100 0030 STD 0421 0031 LITC 0000 0000 0032 LITC 0006 0030 0033 LBU 6131 PRT(24) = SEGMENT DESCRIPTOR, TYPE = 1, RELATIVE ADDRESS = 0024, SEGMENT NUMBER = 0002. 2 IS 7 LONG, NEXT SEG 1 PRT(43) = SEGMENT DESCRIPTOR, TYPE = 1, RELATIVE ADDRESS = 0000, SEGMENT NUMBER = 0006. PRT(43) = SQRT INTRINSIC, SEGMENT NUMBER = 6. PRT(46) = SEGMENT DESCRIPTOR, TYPE = 1, RELATIVE ADDRESS = 0000, SEGMENT NUMBER = 0007. PRT(46) = OUTPUT(W) INTRINSIC, SEGMENT NUMBER = 7. PRT(5) = SEGMENT DESCRIPTOR, TYPE = 1, RELATIVE ADDRESS = 0000, SEGMENT NUMBER = 0010. PRT(5) = BLOCK CONTROL INTRINSIC, SEGMENT NUMBER = 8. PRT(14) = SEGMENT DESCRIPTOR, TYPE = 1, RELATIVE ADDRESS = 0000, SEGMENT NUMBER = 0011. PRT(14) = ALGOL WRITE INTRINSIC, SEGMENT NUMBER = 9. PRT(15) = SEGMENT DESCRIPTOR, TYPE = 1, RELATIVE ADDRESS = 0000, SEGMENT NUMBER = 0012. PRT(15) = ALGOL READ INTRINSIC, SEGMENT NUMBER = 10. PRT(16) = SEGMENT DESCRIPTOR, TYPE = 1, RELATIVE ADDRESS = 0000, SEGMENT NUMBER = 0013. PRT(16) = ALGOL SELECT INTRINSIC, SEGMENT NUMBER = 11. 0003 LITC 0005 0024 0004 COM 1011 1 IS 2 LONG, NEXT SEG 0 PRT(44) = SEGMENT DESCRIPTOR, TYPE = 2, RELATIVE ADDRESS = 0000, SEGMENT NUMBER = 0014. 12 IS 69 LONG, NEXT SEG 0 NUMBER OF ERRORS DETECTED = 0. COMPILATION TIME = 22 SECONDS. PRT SIZE = 40; TOTAL SEGMENT SIZE = 167 WORDS; DISK SIZE = 15 SEGS; NO. PGM. SEGS = 12 ESTIMATED CORE STORAGE REQUIRED = 2796 WORDS. ESTIMATED AUXILIARY MEMORY REQUIRED = 0 WORDS. ____________________________________________________________________________________________________________________________________ LABEL 000000000LINE 00184068?USER=LANZA ;COMPILE CASESW /PAULROSE NO 85410800 ALGOL ALGOL /CASESW ____________________________________________________________________________________________________________________________________ ____________________________________________________________________________________________________________________________________ LABEL 000000000PR 00184068?USER=LANZA ;COMPILE CASESW /PAULROSE NO 85410800 ALGOL CASESW /PAULROS ____________________________________________________________________________________________________________________________________ 00000000 2525252525252525 00000001 0000000000000000 00000002 5000000000000000 00000003 5000050000005225 00000004 5000000000005206 00000005 7540100001042033 00000006 5000400750606154 00000007 6007510647400000 00000010 6020000000106507 00000011 0000000000000000 00000012 5017770647207500 00000013 4000100751300000 00000014 6540110001100000 00000015 6540120001200000 00000016 6540130001300000 00000017 0000000000000000 00000020 0000000000000002 00000021 0000000000000003 00000022 7740010000105343 00000023 0000000000000000 00000024 7500470000206223 00000025 0000000000000144 00000026 0000000000000003 00000027 0000000000000000 00000030 5000350753005273 00000031 7600450000306150 00000032 0000000000000000 00000033 0000000000000000 00000034 0000000000000000 00000035 5001450753510544 00000036 4003120753600000 00000037 6640040000400000 00000040 7740030000306056 00000041 7700400000306064 00000042 6640050000500000 00000043 6540060000600000 00000044 6640140001400000 00000045 7400410000306133 00000046 6540070000700000 00000047 7640020000206222 00000050 7740020000236416 00000051 7700500000236420 00000052 7700510000236423 00000053 7700520000236433 00000054 7606270000361067 00000055 0000000000000000 00000056 0000000000000000 00000057 7505530000361030 00000060 0000000000000000 00000061 0000000000000247 00000062 0000000000000000 00000063 0000000000000000 00000064 0000000000000000 00000065 0000000000000000 00000066 0000000000000000 00000067 0000000000000000 00000070 0000000000000001 00000071 0000000000000001 00000072 0000000000000001 00000073 0000000000000000 00000074 0000000000000000 00000075 0000000000000000 00000076 0000000000000001 00000077 0000000000000000 00000100 0000000000000000 00000101 0000000000000000 00000102 0000000012115605 00000103 0000000000000006 00000104 0000000000000000 00000105 0000000000000000 00000106 0000000000000000 00000107 0000000000000000 00000110 0000000000000001 00000111 0000032545240000 00000112 0000000000000000 00000113 0000000000000034 00000114 0000000000000064 00000115 0000000000000062 00000116 0000000000000055 00000117 0000000000010775 00000120 0000000000410775 00000121 0000000000011006 00000122 0000000000000000 00000123 0000000000000000 00000124 0000000000000000 00000125 0000000000000000 00000126 0000000000000000 00000127 0000000000000002 00000130 0000000000000062 00000131 0000000000000000 00000132 0000000000411263 00000133 0000000000011261 00000134 0000000000000000 00000135 0000000000000034 00000136 0000000000000015 00000137 0000000000000014 00000140 0000000000000000 00000141 2000000646710542 00000142 0000000067705606 00000143 0000000000005346 00000144 0000000000000000 ____________________________________________________________________________________________________________________________________ LABEL 000000000PR 00184068?USER=LANZA ;COMPILE CASESW /PAULROSE NO 85410800 ALGOL CASESW /PAULROS ____________________________________________________________________________________________________________________________________