1a2,23
> %EXTERNALROUTINESPEC CLOSE OUTPUT
> 
> %integer outstream
> %routine select output(%integer stream)
>    outstream = stream
> %end
> 
> %routine newline
>   %if outstream = 0 %then print ch(10)
> %end
> 
> %routine newlines(%integer i)
>   %integer j
>   %for j = 1, 1, i %cycle
>     newline
>   %repeat
> %end
> 
> %routine print symbol(%integer sym)
>   %if outstream = 0 %then print ch(sym)
> %end
> 
196c218
<     %MONITOR 192 %IF FAULTY # 0
---
>     %MONITOR %AND %STOP %IF FAULTY # 0
228c250
<        %IF SSTYPE < 0 %START;               !START OR END OF BLOCK
---
>        %IF SSTYPE&8_400000 # 0 %START;               !START OR END OF BLOCK
230c252
<           %EXIT %IF SSTYPE<<1 # 0;          !END
---
>           %EXIT %IF SSTYPE&8_200000 # 0;          !END
309,320c331,342
< S(0):  %PRINTTEXT 'FORM';  ->F
< S(1):  %PRINTTEXT 'ATOM';  ->F
< S(2):  %PRINTTEXT 'NAME';  ->F
< S(3):  %PRINTTEXT 'SIZE'; ->F
< S(4):  %PRINTTEXT 'DUPLICATE';  ->F
< S(5):  %PRINTTEXT '%BEGIN';  ->M
< S(6):  %PRINTTEXT '%CYCLE';  ->M
< S(7):  %PRINTTEXT '%START'; ->M
< S(8):  %PRINTTEXT '%END';  ->M
< S(9):  %PRINTTEXT '%REPEAT';  ->M
< S(10): %PRINTTEXT '%FINISH';  ->M
< S(11): %PRINTTEXT '%RESULT';  ->M
---
> S(0):  PRINTSTRING("FORM");  ->F
> S(1):  PRINTSTRING("ATOM");  ->F
> S(2):  PRINTSTRING("NAME");  ->F
> S(3):  PRINTSTRING("SIZE"); ->F
> S(4):  PRINTSTRING("DUPLICATE");  ->F
> S(5):  PRINTSTRING("%BEGIN");  ->M
> S(6):  PRINTSTRING("%CYCLE");  ->M
> S(7):  PRINTSTRING("%START"); ->M
> S(8):  PRINTSTRING("%END");  ->M
> S(9):  PRINTSTRING("%REPEAT");  ->M
> S(10): PRINTSTRING("%FINISH");  ->M
> S(11): PRINTSTRING("%RESULT");  ->M
324,330c346,352
< M:     %PRINTTEXT ' MISSING';  ->F
< S(13): %PRINTTEXT 'BOUNDS';  ->F
< S(14): %PRINTTEXT 'INDEX';  ->F
< S(15): %PRINTTEXT 'CONTEXT';  ->E
< S(16): %PRINTTEXT 'ACCESS';  ->A
< S(17): %PRINTTEXT 'ORDER';  ->F
< S(18): %PRINTTEXT 'MATCH'
---
> M:     PRINTSTRING(" MISSING");  ->F
> S(13): PRINTSTRING("BOUNDS");  ->F
> S(14): PRINTSTRING("INDEX");  ->F
> S(15): PRINTSTRING("CONTEXT");  ->E
> S(16): PRINTSTRING("ACCESS");  ->A
> S(17): PRINTSTRING("ORDER");  ->F
> S(18): PRINTSTRING("MATCH")
345c367
<     ->2 %UNLESS SYM = NL
---
>     ->Z2 %UNLESS SYM = NL
347,348c369,370
< 1:  SYMTYPE = 1
< 2:  READ SYMBOL(SYM)
---
> Z1:  SYMTYPE = 1
> Z2:  READ SYMBOL(SYM)
353,354c375,376
<        ->1 %IF SYM = ' '
<        SYMTYPE=2 %AND ->2 %IF SYM = '%'
---
>        ->Z1 %IF SYM = ' '
>        SYMTYPE=2 %AND ->Z2 %IF SYM = '%'
367c389
< 1:  POS1 = POS
---
> Z1:  POS1 = POS
400c422
<     ->1 %IF ATOM1 = 0 %AND SUBATOM = 0;     !% C NL, (SHORT)
---
>     ->Z1 %IF ATOM1 = 0 %AND SUBATOM = 0;     !% C NL, (SHORT)
410c432
<     ->1 %IF SYMTYPE > 0
---
>     ->Z1 %IF SYMTYPE > 0
474,475c496,497
<     ->REP %UNLESS INTEGER(I)&(\511) = HEAD
<     J = INTEGER(I)&511;  K = MAX
---
>     ->REP %UNLESS INDEX(I)&(\511) = HEAD
>     J = INDEX(I)&511;  K = MAX
501c523
<        READ SYM;  ->25 %IF SYMTYPE >= 0
---
>        READ SYM;  ->Z25 %IF SYMTYPE >= 0
510c532
< 25: ATOM1 = -2;  ATOM2 = 70;                !IDENT
---
> Z25: ATOM1 = -2;  ATOM2 = 70;                !IDENT
524c546
<     TEXT = DBOUND;  INDEX0 = ADDR(INDEX(0))
---
>     TEXT = DBOUND;  INDEX0 = 0
533c555
<     ->91 %IF ATOM1 <= 0
---
>     ->Z91 %IF ATOM1 <= 0
535c557
<     ->91 %IF GG = 0
---
>     ->Z91 %IF GG = 0
544c566
<        NMIN = NMIN-1;  ->90 %IF NMIN = NMAX
---
>        NMIN = NMIN-1;  ->Z90 %IF NMIN = NMAX
562c584
<           ->91 %IF GG >= 0
---
>           ->Z91 %IF GG >= 0
565c587
<           NMAX = NMAX+1;  ->90 %IF NMAX = NMIN
---
>           NMAX = NMAX+1;  ->Z90 %IF NMAX = NMIN
584c606
<        ->91 %IF GG >= 0
---
>        ->Z91 %IF GG >= 0
595,596c617,618
< 90: ATOM1 = -3
< 91: READ SYM %WHILE SYM # NL
---
> Z90: ATOM1 = -3
> Z91: READ SYM %WHILE SYM # NL
612a635,636
> BOWN = 0
> 
615c639
<     I = !X!
---
>     I = IMOD(X)
657,658c681,682
< %ROUTINE OP(%INTEGER OP);                   !OUTPUT OP-CODE
<     PRINT SYMBOL(OP);  ICOUNT = ICOUNT+1
---
> %ROUTINE OP(%INTEGER OPC);                   !OUTPUT OP-CODE
>     PRINT SYMBOL(OPC);  ICOUNT = ICOUNT+1
729c753
<                 EXPEND;  ->1
---
>                 EXPEND;  ->Z1
735c759
< 1:     OP(C+16);                            !<OP>* T0
---
> Z1:     OP(C+16);                            !<OP>* T0
823c847
<        TTX == TT0++X;  K = TTX&255
---
>        TTX == TAGTYPE(X);  K = TTX&255
879c903
<        X = SUB(NEXT);  TTX == TT0++X
---
>        X = SUB(NEXT);  TTX == TAGTYPE(X)
895,896c919,920
< 1:  GET NEXT
< 2:  ->C(X) %IF CLASS <= 31;                 !OPERATORS,SIMP
---
> Z1:  GET NEXT
> Z2:  ->C(X) %IF CLASS <= 31;                 !OPERATORS,SIMP
898,900c922,924
< 9:  ->1 %IF NEXT # LINK
< 10: %RETURN %IF LABCODE = 0
< 11: JUMP(-(LMIN+1)) %AND ACCESS=0 %IF LABCODE&1=0; !JUMP BACK FOR LOOPS
---
> Z9:  ->Z1 %IF NEXT # LINK
> Z10: %RETURN %IF LABCODE = 0
> Z11: JUMP(-(LMIN+1)) %AND ACCESS=0 %IF LABCODE&1=0; !JUMP BACK FOR LOOPS
923,924c947,948
<        ->811 %IF TTX&EXT # 0
<        ->9 %IF TTX&(REF+ARRAY) # ARRAY;     !SCALAR
---
>        ->Z811 %IF TTX&EXT # 0
>        ->Z9 %IF TTX&(REF+ARRAY) # ARRAY;     !SCALAR
936c960
<        ->9
---
>        ->Z9
942,943c966,967
< 701:   TTX = DMAX<<8+TTX
<        ->9
---
> Z701:   TTX = DMAX<<8+TTX
>        ->Z9
947c971
<        ->701
---
>        ->Z701
955c979
<        ->9
---
>        ->Z9
960c984
<     ->9 %IF TTX&2 = 0
---
>     ->Z9 %IF TTX&2 = 0
962c986
<     ->9
---
>     ->Z9
965c989
<     ->9
---
>     ->Z9
969c993
<     ->9
---
>     ->Z9
979,980c1003,1004
< 811:PRINT SYMBOL('(');                      !BODY OR EXT SPEC
<     ->9 %IF TTX&BODY # 0;               !BODY
---
> Z811:PRINT SYMBOL('(');                      !BODY OR EXT SPEC
>     ->Z9 %IF TTX&BODY # 0;               !BODY
984c1008
<     ->9
---
>     ->Z9
1030c1054
<     %MONITOR 192
---
>     %MONITOR; %STOP
1065c1089
<     ->9
---
>     ->Z9
1078c1102
<     ->9
---
>     ->Z9
1100c1124
<     ->9
---
>     ->Z9
1103c1127
<     ->11
---
>     ->Z11
1116c1140
<     ->9
---
>     ->Z9
1128c1152
<     ->9
---
>     ->Z9
1131c1155
<     ->9
---
>     ->Z9
1134c1158
<     ->9
---
>     ->Z9
1182c1206
<     ->9
---
>     ->Z9
1188c1212
<     %MONITOR 21 %IF LSTACK < 0
---
>     %MONITOR %AND %STOP %IF LSTACK < 0
1195c1219
<     ->9
---
>     ->Z9
1204c1228
<     ->9
---
>     ->Z9
1211c1235
<     ->9
---
>     ->Z9
1220c1244
<     ->9
---
>     ->Z9
1236c1260
<     ->10
---
>     ->Z10
1244c1268
<     ->9
---
>     ->Z9
1247c1271
< 171:I = 4;                                  !SHOULD BE PRED
---
> Z171:I = 4;                                  !SHOULD BE PRED
1251c1275
<     ->171
---
>     ->Z171
1266c1290
<     ->9
---
>     ->Z9
1273c1297
<     ->9
---
>     ->Z9
1276c1300
<     ->9
---
>     ->Z9
1290c1314
<     ->9
---
>     ->Z9
1324c1348
<        ->9
---
>        ->Z9
1327c1351
<     ->2
---
>     ->Z2
1330c1354
<     ->9
---
>     ->Z9
1333c1357
<     ->9
---
>     ->Z9
1337c1361
<     ->9
---
>     ->Z9
1346c1370
<     ->9
---
>     ->Z9
1355c1379
<     ->9
---
>     ->Z9
1361c1385
<     ->9
---
>     ->Z9
1369c1393
<     ->9
---
>     ->Z9
1375c1399
<     ->9
---
>     ->Z9
1381c1405
<     ->9
---
>     ->Z9
1385c1409
<     ->9
---
>     ->Z9
1388c1412
<     ->9
---
>     ->Z9
1391c1415
<     ->9
---
>     ->Z9
1394c1418
<     ->9
---
>     ->Z9
1397c1421
<     ->9
---
>     ->Z9
1405c1429
<     ->9
---
>     ->Z9
1407c1431
< C(111): ->9;                                !SEP
---
> C(111): ->Z9;                                !SEP
1413c1437
<     ->9
---
>     ->Z9
1416c1440
<     ->9
---
>     ->Z9
1428c1452
<     ->9
---
>     ->Z9
1431c1455
<     ->9
---
>     ->Z9
1443c1467
<     ->9
---
>     ->Z9
1446c1470
<     ->9
---
>     ->Z9
1449c1473
<     ->9
---
>     ->Z9
1452c1476
<    ->9
---
>    ->Z9
1464c1488
<     ->9
---
>     ->Z9
1472c1496
<           TTX == TT0++(PEND&255)
---
>           TTX == TAGTYPE(PEND&255)
1481c1505
<     ->9
---
>     ->Z9
