                                                                                /MACRO COMPILER
                     /
                     /PAGE 1600
                     *1600
          BIT6,      0
                     TAD Z ITEM
                     AND Z C177
                     SNA CLA
                     JMP I STRING-1
                     /
                     TAD Z ITEM
                     TAD Z M240
                     SPA                   /LESS THAN 240?
                     JMP .+11              /YES
                     /
                     TAD M11               /RIGHT PAREN?
                     SNA
                     JMP I STRING-1        /YES
                     /
                     TAD Z M64             /RIGHT BRACKET?
                     SNA
                     JMP I STRING-1        /YES
                     /
                     SPA CLA
                     JMP BON               /LESS THAN 336
                     /
                     CLA
                     TAD Z ITEM
                     TAD M211
                     SNA
                     JMP BASSEM+6          /TAB=54
                     /
                     TAD Z M1
                     SNA
                     JMP I STRING-1        /LF
                     /
                     TAD Z M2
                     SNA
                     JMP I STRING-1        /214
                     /
                     TAD Z M1
                     SNA
                     JMP BASSEM+7          /CR=46
                     /
                     TAD M162
                     SNA CLA
                     JMP I STRING-1
                     /
                     TAD Z C10
                     JMS I Z ERR1
                     TAD Z ITEM
                     HLT
                     LAS                   /CHANGE ILLEGAL CHAR
                     DCA Z ITEM
                     JMP BIT6+1
                     /
          BON,       TAD Z ITEM
                     TAD M260
                     SPA CLA
                     JMP BASSEM+3          /LESS THAN 260
                     /
                     TAD Z ITEM
                     TAD Z M301
                     SPA CLA
                     JMP BASSEM+2          /LESS THAN 301
                     /
                     TAD Z ITEM
                     TAD M333
                     SPA CLA
          BASSEM,    TAD M41               /301 TO 332 CV 1 TO 32
                     TAD Z M12             /333 TO 300 CV 74 TO 76
                     TAD M41               /260 TO 300 CV 33 TO 53
                     TAD M164              /240 TO 257 CV 54 TO 73
                     TAD Z ITEM
                     JMP I BIT6            /EXIT
                     /
                     TAD Z C6
                     TAD C46
                     JMP I BIT6
                     /
          TSTPAS,    0
                     ISZ Z PASS
                     JMP I TSTPAS
                     CLA CMA
                     DCA Z PASS
                     JMP I Z MAIN1
                     /
          SKIP2,     0
                     DCA RAND
                     TAD C240
                     JMS I Z DECOUT
                     ISZ RAND
                     JMP .-3
                     /
                     JMP I SKIP2
                     /
          RAND,      0
                     AND Z CON
                     DCA Z CON
                     JMP I RAND
                     /
          RIOR,      0
                     DCA Z VAL
                     TAD Z CON
                     CMA
                     AND Z VAL
                     TAD Z CON
                     DCA Z CON
                     JMP I RIOR
                     /
                     IDX+1
                     /
          STRING,    JMS I ENDSTR+3
                     CIA
                     DCA Z VAL
                     JMS I ENDSTR+3
                     TAD Z VAL
                     SNA CLA
                     JMP ENDSTR+1
                     /
                     TAD Z ITEM
                     RTL
                     RTL
                     RTL
                     AND C7700
                     DCA Z EVAL
                     JMS I ENDSTR+3
                     TAD Z VAL
                     SNA CLA
                     JMP ENDSTR
                     /
                     TAD Z ITEM
                     AND CZ77
                     TAD Z EVAL
                     JMS I ENDSTR-1
                     JMP STRING+3
                     /
          WAITT,     HLT CLA
                     JMP I Z MAIN1
                     /
                     ONEREG
                     /
          ENDSTR,    TAD Z EVAL
                     JMS I ENDSTR-1
                     JMP I Z MAIN1
                     /
                     GETIN
                     HLT
          CZ77,      77
          C7700,     7700
          C240,      240
          C46,       46
          M164,      0-164
          M41,       0-41
          M333,      0-333
          M260,      0-260
          M162,      0-162
          M211,      0-211
          M11,       0-11
                     PAUSE
                                                                                                                                                                                                                       }