TEST -- CODE TO SHOW USAGE OF STRUCTURED MACROS MACRO %53(1054) 15:07 21-Nov-78 Page 1 TEST MAC 21-Nov-78 15:07 R.P.NIX -- 11/21/78 1 TITLE TEST -- CODE TO SHOW USAGE OF STRUCTURED MACROS 2 SUBTTL R.P.NIX -- 11/21/78 3 4 5 XALL 6 7 000000' RELOC 8 9 SEARCH STRUCTURED ; SET UP TO FIND MACROS 10 11 12 000000' START: 13 14 000000' 200 01 0 00 000076' MOVE 1,A ; GET A VALUE INTO AC1 15 16 %IF ^; IF AC1 = 10 THEN 17 000001' 302 01 0 00 000010 CAIE 1,10 18 000002' 254 00 0 00 000004' JRST ..0002 19 000003' 254 00 0 00 000006' JRST ..0001 ^ > 20 000004' 254 00 1 00 000005' ..0002: JRST @.+1 21 22 000006' 200 01 0 00 000077' MOVE 1,B ; MOVE B TO AC1 23 24 %ELSE ^; OTHERWISE 25 000007' 254 00 1 00 000010' JRST @..0005 26 000005' 000000 000011' EXP ..0006 27 28 000011' 200 01 0 00 000100' MOVE 1,C ; MOVE C TO AC1 29 30 %ENDIF ^; END OF CONDITIONAL 31 000010' 000000 000012' EXP ..0007 32 33 34 %WHILE <,OR,>^ 35 000012' 302 01 0 00 000101' CAIE 1,D 36 000013' 254 00 0 00 000016' JRST ..0013 37 000014' 254 00 0 00 000015' JRST ..0012 ^ > 38 000015' 254 00 0 00 000023' ..0012: JRST ..0010 39 000016' 336 00 0 00 000001 SKIPN 0,1 40 000017' 254 00 0 00 000021' JRST ..0011 41 000020' 254 00 0 00 000023' JRST ..0010 ^ > 42 000021' 254 00 1 00 000022' ..0011: JRST @.+1 43 ; WHILE AC1 = D OR AC1 <> 0 DO 44 45 000023' 275 01 0 00 000001 SUBI 1,1 ; DECR AC1 46 47 %ENDWHILE ^; AND LOOP BACK 48 000024' 254 00 0 00 000012' JRST ..0020 49 000022' 000000 000025' EXP ..0021 50 51 52 %CASE^ 53 000025' 254 00 0 00 000030' JRST ..0022 54 000030' 254 00 1 00 000027' ..0022: JRST @..0023 55 TEST -- CODE TO SHOW USAGE OF STRUCTURED MACROS MACRO %53(1054) 15:07 21-Nov-78 Page 1-1 TEST MAC 21-Nov-78 15:07 R.P.NIX -- 11/21/78 56 %WHEN ^; IF AC1 = A THEN 57 000031' 254 00 1 00 000026' JRST @..0024 58 000027' 000000 000032' EXP ..0025 59 000032' 302 01 0 00 000076' CAIE 1,A 60 000033' 254 00 0 00 000035' JRST ..0027 61 000034' 254 00 0 00 000037' JRST ..0026 ^ > 62 000035' 254 00 1 00 000036' ..0027: JRST @..0032 63 000037' 201 02 0 00 000001 MOVEI 2,1 64 65 %WHEN ^ 66 000040' 254 00 1 00 000026' JRST @..0033 67 000036' 000000 000041' EXP ..0034 68 000041' 302 01 0 00 000077' CAIE 1,B 69 000042' 254 00 0 00 000044' JRST ..0036 70 000043' 254 00 0 00 000046' JRST ..0035 ^ > 71 000044' 254 00 1 00 000045' ..0036: JRST @..0041 72 000046' 201 02 0 00 000002 MOVEI 2,2 73 74 %WHEN ^ 75 000047' 254 00 1 00 000026' JRST @..0042 76 000045' 000000 000050' EXP ..0043 77 000050' 302 01 0 00 000077' CAIE 1,B 78 000051' 254 00 0 00 000053' JRST ..0045 79 000052' 254 00 0 00 000055' JRST ..0044 ^ > 80 000053' 254 00 1 00 000054' ..0045: JRST @..0050 81 000055' 201 02 0 00 000003 MOVEI 2,3 82 83 %WHEN ^; DEFAULT (DO IF ALL ABOVE FAIL) 84 000056' 254 00 1 00 000026' JRST @..0051 85 000054' 000000 000057' EXP ..0052 86 000057' 334 00 0 00 000000 SKIPA 0,0 87 000060' 254 00 0 00 000062' JRST ..0054 88 000061' 254 00 0 00 000064' JRST ..0053 ^ > 89 000062' 254 00 1 00 000063' ..0054: JRST @..0057 90 000064' 201 02 0 00 000000 MOVEI 2,0 91 92 %ENDCASE ^; END OF CASE SET 93 000026' 000000 000065' EXP ..0060 94 000063' 000000 000065' EXP ..0060 95 96 97 %LOOP^ 98 99 000065' 271 01 0 00 000001 ADDI 1,1 100 101 %EXITIF ^; EXIT LOOP IF AC1 >= 20 102 000066' 305 01 0 00 000020 CAIGE 1,20 103 000067' 254 00 0 00 000073' JRST ..0062 104 000070' 254 00 0 00 000071' JRST ..0061 ^ > 105 000071' 254 00 1 00 000072' ..0061: JRST @..0065 106 107 000073' 271 02 0 00 000001 ADDI 2,1 108 109 %ENDLOOP^ 110 000074' 254 00 0 00 000065' JRST ..0066 TEST -- CODE TO SHOW USAGE OF STRUCTURED MACROS MACRO %53(1054) 15:07 21-Nov-78 Page 1-2 TEST MAC 21-Nov-78 15:07 R.P.NIX -- 11/21/78 111 000072' 000000 000075' EXP ..0067 112 113 000075' 047 01 0 00 000012 EXIT 1, 114 115 000076' 000000 000001 A: 1 116 117 000077' 000000 000003 B: 3 118 119 000100' 000000 000005 C: 5 120 121 000101' 000000 000007 D: 7 122 123 124 END NO ERRORS DETECTED PROGRAM BREAK IS 000102 CPU TIME USED 00:01.196 11P CORE USED TEST -- CODE TO SHOW USAGE OF STRUCTURED MACROS MACRO %53(1054) 15:07 21-Nov-78 Page S-1 TEST MAC 21-Nov-78 15:07 SYMBOL TABLE A 000076' .WLV0 000022' spd B 000077' .WLVL 000000 spd C 000100' .WTO0 000012' spd D 000101' EXIT 047000 000012 START 000000' ..0001 000006' ..0002 000004' ..0005 000010' ..0006 000011' ..0007 000012' ..0010 000023' ..0011 000021' ..0012 000015' ..0013 000016' ..0020 000012' spd ..0021 000025' spd ..0022 000030' ..0023 000027' ..0024 000026' spd ..0025 000032' spd ..0026 000037' ..0027 000035' ..0032 000036' ..0033 000026' spd ..0034 000041' spd ..0035 000046' ..0036 000044' ..0041 000045' ..0042 000026' spd ..0043 000050' spd ..0044 000055' ..0045 000053' ..0050 000054' ..0051 000026' spd ..0052 000057' spd ..0053 000064' ..0054 000062' ..0057 000063' ..0060 000065' spd ..0061 000071' ..0062 000073' ..0065 000072' ..0066 000065' spd ..0067 000075' ..CC 000003 spd ..CCNT 000004 spd .CBO0 000026' spd .CLVL 000000 spd .CNX0 000063' spd .IF0 000010' spd .ILVL 000000 spd .LB0 000072' spd .LLVL 000000 spd .LT0 000065' spd A 14 59 115# B 22 68 77 117# C 28 119# D 35 121# START 12# ..0001 19 21# ..0002 18 20# ..0005 25 27# ..0006 26 27# ..0007 31# 31 ..0010 38 41 43# ..0011 40 42# ..0012 37 38# ..0013 36 39# ..0020 48# 48 ..0021 49# 49 ..0022 53 54# ..0023 54# 54 ..0024 57# 57 ..0025 58# 58 ..0026 61 63# ..0027 60 62# ..0032 62 63# ..0033 66# 66 ..0034 67# 67 ..0035 70 72# ..0036 69 71# ..0041 71 72# ..0042 75# 75 ..0043 76# 76 ..0044 79 81# ..0045 78 80# ..0050 80 81# ..0051 84# 84 ..0052 85# 85 ..0053 88 90# ..0054 87 89# ..0057 89 90# ..0060 93# 93 94 ..0061 104 105# ..0062 103 106# ..0065 105 106# ..0066 110# 110 ..0067 111# 111 ..CC 35# 35 38 38# 39 39# ..CCNT 17# 17 20 35# 35 38 39# 39 42 59# 59 62 68# 68 71 77# 77 80 86# 86 89 102# 102 105 .CBO0 54# 57 66 75 84 93 .CLVL 53 54 55 55# 57 57# 58 63 63# 66 66# 67 72 72# 75 75# 76 81 81# 84 84# 85 90 90# 93 93# 94 .CNX0 54# 58 63# 67 72# 76 81# 85 90# 94 .IF0 21# 26 27# 31 .ILVL 17 21 21# 25 25# 26 27 27# 31 31# .LB0 106# 111 .LLVL 98 98# 102 102# 106 106# 110 110# 111 .LT0 98# 110 .WLV0 43# 49 .WLVL 35 43 43# 48 48# 49 .WTO0 35# 48 ACOND 17 35 39 59 68 77 86 102 BLDSYM 21 27 35 43 54 63 72 81 90 98 106 COND 17 35 39 59 68 77 86 102 EXIT 113 ORGSYM 26 31 48 49 57 58 66 67 75 76 84 85 93 94 110 111 %CASE 52 %ELSE 24 %ENDCA 92 %ENDIF 30 %ENDLO 109 %ENDWH 47 %EXITI 101 %IF 16 %LOOP 97 %WHEN 56 65 74 83 %WHILE 34