ONOFFALT60

(George Source)

Macros used: ACROSS, CHNUMCOD, CHNUMCOX, COMBRKIN, COMERR, ENDCOM, ERROR, FPCACA, FREECORE, GEOERR, GETWORD, GETWORDX, HUNT, MFREE, MHUNT, PARAFREE, PARALYSE, PARANEXT, PARANUMB, PARAPASS, SEGENTRY, TESTREP, TESTREP2, TESTREPNOT, WORDFIN

ONOFFALT60.txt
22FL    #SEG  ONOFFALT60                   [E WILLIAMS  
22^=    #LIST          K0ALLGEO>K0GREATGEO>K0ONOFFALT   
23DW                   8HONOFFALT   
23YG    #   
24D6          SEGENTRY K1ONOFFALT,XENT1 
24XQ          SEGENTRY K2ONOFFALT,XENT2 
25CB          SEGENTRY K3ONOFFALT,XENT3 
25X2    #   
26BL    #              THIS SEGMENT IS ENTERED FOR THE COMMANDS ON, OFF, AND
26W=    #              ALTER AT K1, K2, AND K3. 
27*W    #              FOR ON AND OFF, THE MASK IS KEPT IN X6. X5 CONTAINS 1 IF 
27TG    #              ON, 0 IF OFF. FOR ALTER, X5 AND X6 ARE USED FOR THE TWO  
28*6    #              NUMBERS. 
28SQ    XACCESS        +GWRITE+CHNSHARED
29#B    XACCESS1       +CHWRITE 
29S2    #   
2=?L    PARST          #60656245
2=R=    PARSTA         #60202020
2?=W    #   
2?QG    XENT1   
2#=6    #   
2#PQ          LDN   5  1
2*9B          BRN      P1   
2*P2    #   
2B8L    #   
2BN=    XENT2   
2C7W    #   
2CMG          LDN   5  0
2D76    P1    LDN   6  0                   [INITIAL VALUE OF MASK   
2DLQ          PARANUMB 4                   [HOW MANY PARAMETERS AT TOP LEVEL?   
2F6B          BZE   4  R3                  [IF NONE - OUTPUT ERROR MESSAGE  
2FL2    PSTAR PARAPASS                     [GET THE NEXT PARAMETER  
2G5L          MHUNT    3,CPB,CUNI          [FIND THE PARAMETER BLOCK
2GK=          LDX   4  ANUM(3)             [LOOK AT THE NUMBER OF CHARS 
2H4W          BNG   4  P3                  [IF NO MORE PARAMETERS   
2HJG          BNZ   4  PEX                 [IF IT EXISTS - OK   
2J46          FREECORE 3                   [IF NOT - FREE THE CPB CUNI BLOCK
2JHQ          BRN      PSTAR               [AND TRY THE NEXT PARAMETER  
2K3B    PEX   SRL   4  12                  [IS THE PARAMETER?   
2KH2          SBN   4  2                   [A COMPOSITE 
2L2L          BNZ   4  PCHUM               [PARAMETER? - BRANCH IF NOT  
2LG=          PARALYSE ,,JPARNUM(3)        [REMOVE THE OUTSIDE PAIR OF BRACKETS 
2L^W          TESTREP  UNPAIR,XERR  
2M9N ...      TESTREP2 TOOMANY,XERRA
2MFG          MFREE    CPB,CUNI            [FREE THE INITIAL CPB.CUNI BLOCK 
2M^6          LDN   4  1                   [ANALYSIS LEVEL 1
2NDQ          PARANEXT #34,4               [SEPARATE THE PARAMETERS AT COMMAS.  
2NKY ...      TESTREP UNPAIR,XERRU  
2NR6 ...      TESTREP2 TOOMANY,XERRN
2NYB          ORX   5  GSIGN               [MARK THE PRESENSE OF THE MULTY BLOCK
2PD2          MHUNT    3,CPB,CUNI          [FIND PARAMETER BLOCK
2PXL          LDX   4  ANUM(3)             [NOW DO ANY PARAMETERS EXIST 
2QC=          BPZ   4  PAROK               [YES - SO BRANCH 
2QWW          ERROR    JPARMIS             [NO - OUTPUT PARAMETER MISSING ERROR 
2RBG          MFREE    CPB,CUNI            [FREE THE NULL OR EMPTY PARAMETER BLK
2RW6          BRN      PCONO               [REMOVE MARKER & FREE MULTY BLOCK
2S*Q    #   
2STB    P6    PARAPASS                     [GET THE NEXT PARAMETER  
2T*2          HUNT     3,CPB,CUNI          [FIND THIS PARAMETER BLOCK   
2TSL          LDX   4  ANUM(3)             [DOES THE PARAMETER EXIST?   
2W#=          BNG   4  PCONT               [NO -BRANCH  
2WRW    PAROK BNZ   4  PCHUM               [IF NON-NULL DO THE CONVERSION   
2X?G          FREECORE 3                   [IF NULL: FREE THE PARAMETER BLOCK   
2XR6          BRN      P6                  [BACK FOR THE NEXT   
2Y=Q    #SKI  ADELO 
2YQB    PCHUM CHNUMCOD ,,ZBRKN  
2^=2    #SKI  ADELO<1$1 
2^PL    PCHUM CHNUMCOD  
329=          TESTREP  CHNUMERR,PMIS
32NW          LDX   1  ACOMMUNE1(2) 
338G          LDN   7  24   
33N6          TXL   1  7                   [TEST IF ILLEGAL BIT SPECIFIED   
347Q          BCS      P7                  [BRANCH IF LEGAL 
34MB          ERROR    JSWITCH             [ERROR: 'NOT A VALID SWITCH' 
3572    PMIS  MFREE CPB,CUNI               [FREE THE PARAMETER BLOCK
35LL          BRN      P6   
35NT ...XERRA ERROR   JMAXPAR   
35R4 ...      BRN   P6  
35T? ...XERRN ERROR   JMAXPAR   
35XG ...      BRN   PARAF   
35^P ...XERRU ERROR    ERUNPAIR 
363Y ...      BRN   PARAF   
366=    XERR  ERROR    ERUNPAIR            [UNPAIRED PARENTHESIS ERROR  
36KW          BRN      P6   
375G    P7    LDCT  7  #400                [SET MASK WORD   
37K6          SRL   7  0(1)                [SHIFT TO RIGHT BIT  
384Q          ORX   6  7                   [PUT IN MASK 
38JB          BRN      PMIS                [FREE THE CPB CUNI BLOCK 
3942    PCONT BPZ   5  P3                  [IF NOT AT LOW ALALYSIS LEVEL -FINISH
39HL          FREECORE 3                   [FREE THE LAST CPB.CUNI AT THIS LEVEL
3=3=    PCONO ERX   5  GSIGN               [REMOVE THE MARKER   
3=GW ...PARAF PARAFREE                 [FREE THE MULTY BLOCK
3?2G          BRN      PSTAR               [AND BACK FOR THE NEXT PARAMETER 
3?G6    #   
3?^Q    P3                                 [NOW GET THE OBJECT PROGRAM  
3#FB          FREECORE 3                   [FREE THE LAST PARAMETER BLOCK   
3#^2          BZE   6  P9X                 [IF NO VALID SWITCH SETTINGS - FINISH
3*DL          LDN   4  30                  [WE WANT WORD 30 
3*Y=    #SKI  ADELO 
3BCW          GETWORD  4,2,WRITE,,,ZBRKN
3BXG    #SKI  ADELO<1$1 
3CC6          GETWORD  4,2,WRITE           [GEO. ADDRESS OF O/P WORD INTO X6
3CWQ    #SKI  ADELO 
3DBB          TESTREP  LOADERR,P9X  
3DW2          ORS   6  0(2)                [PUT BITS IN WORD
3F*L          BNZ   5  P11  
3FT=          ERS   6  0(2)                [TAKE BITS OUT   
3G#W    P11 
3GSG    P9    WORDFIN                      [SUCCESSFUL EXIT 
3H#6    P9X   ENDCOM                       [BACK TO COMMAND LEVEL   
3HRQ    #SKI  ADELO 
3J?B    ZBRKN COMBRKIN  
3JR2    #   
3K=L    #   
3KQ=    XENT3   
3L9W    #   
3LPG          STOZ     7                   [GETWORD MARKER WORD 
3M96          CALL  5  SUB2                [ACCESS THE FIRST NUMBER 
3MNQ          LDCH  0  APARA(3) 
3N8B          SBN   0  #60  
3P7L          STO  0   AWORK1(2)           [SET MARKER  
3PM=          BNZ   0  XGNP                [J IF NOT PURE OR P  
3Q6W          LDX   0  APARA(3) 
3QLG          TXU   0  PARST(1) 
3R66          BCC      XGNPA
3RKQ          TXU   0  PARSTA(1)
3S5B          BCS      TERR 
3SK2    XGNPA   
3T4L          MFREE    CPB,CUNI 
3TJ=          CALL  5  SUB2 
3W3W    XGNP
3WHG    #SKI  ADELO 
3X36          CHNUMCOD ,,ZBRKN  
3XGQ    #SKI  ADELO<1$1 
3Y2B          CHNUMCOD                     [CONVERT IT TO BINARY
3YG2          TESTREP  CHNUMERR,P9X        [ERROR?  
3Y^L          LDX   4  ACOMMUNE1(2)        [LOAD IT INTO X4 
3^F=    #SKI  G3
3^YW    (   
42DG          FPCACA   3,2  
42Y6          LDX   5  ALIMIT(3)
43CQ          TXL   4  5
43XB          BCC      P9Z  
44C2    )   
44WL          STO   4  AWORK4(2)
45B=          CALL  5  SUB2 
45TW          LDCH  0  APARA(3)            [GET 1ST CHAR. OF 2ND PARAM. 
46*G          SBN   0  #27                 [IS IT ' ?   
46T6          BZE   0  XALTINST            [ALTINST IF YES  
47#Q          SBN   0  #12  
47SB          BNG   0  XALTER   
48#2          SBN   0  #32                 [IS IT ALPHABETIC ?  
48RL          BNG   0  XALTINST            [ALTINST IF SO   
49?=    XALTER                             [OTHERWISE ALTER NUMBER  
49QW    #SKI  ADELO 
4==G          CHNUMCOX ,,ZBRKN  
4=Q6    #SKI  ADELO<1$1 
4?9Q          CHNUMCOX                     [CONVERT SECOND PARAMETER
4?PB          TESTREP  CHNUMERR,P9X        [O.K.?   
4#92          LDX   5  ACOMMUNE1(2) 
4#NL          MFREE CPB,CUNI
4*8=    #SKI  G4
4*MW    (   
4B7G          LDX   0  AWORK1(2)
4BM6          BNZ   0  NOTP 
4C6Q          LDX   3  XACCESS(1)   
4CLB          BRN      PURE 
4D62    NOTP
4DKL    )   
4F5=          LDX   3  XACCESS1(1)  
4FJW    PURE
4G4G    #SKI  ADELO<1$1 
4GJ6          GETWORDX 4,6,3
4H3Q    #SKI  ADELO 
4HHB    (   
4J32          GETWORDX 4,6,3,,,ZBRKN
4JGL          TESTREP  LOADERR,P9X  
4K2=    )   
4KFW          LDN   7  1
4K^G          TESTREPNOT  NOCORE,XNEX   
4LF6          ERROR    GWERNO   
4LYQ          BRN      P9X  
4MDB    XNEX  TESTREPNOT   RESVIOL,XOK1 
4MY2          ERROR    GWERRES  
4NCL          BRN      P9   
4NX=    XOK1  MFREE    CPB,CUNI            [NOW FREE UNI-BLOCK  
4PBW          SMO      6
4PWG          STO   5  0                   [ALTER WORD  
4QB6          BRN      P9                  [FINISH  
4QTQ    #SKI  G3
4R*B    P9Z   COMERR   GWERRES  
4RT2    #   
4S#L    #   
4SS=    #     SUBROUTINE TO ACCESS THE NEXT PARAMETER - AND IF IT EXISTS
4T?W    #     TO CONVERT IT TO A BINARY NUMBER (BY THE CHNUMCON ROUTINE).   
4TRG    #   
4W?6    SUB2  SBX   5  FX1                 [DISLOCATE LINK  
4WQQ          PARAPASS                     [GET THE PARAMETER   
4X=B          MHUNT    3,CPB,CUNI          [FIND THE PARAMETER BLOCK
4XQ2          NGX   0  ANUM(3)  
4Y9L          BPZ   0  P72                 [ERROR IF ZERO OR NEG.   
4YP=          ADX   5  FX1                 [RELOCATE LINK   
4^8W          EXIT  5  0
4^NG    #   
5286    #   
52MQ    P9Y   BNZ   7  P9                  [DO A WORDFIN?   
537B          BRN      P9X                 [OR GO UP TO COMMAND LEVEL   
53M2    P72   BZE   7  R3                  [ARE WE MSWIN ? J IF NO  
546L          WORDFIN   
54L=    R3    COMERR   JPARMIS             [PARAMETER MISSING   
555W    TERR  COMERR   APFERR              [PARAMETER FORMAT ERROR  
55KG    #   
5656    #     THIS ALLOWS AN OBJECT PROGRAM LOCATION TO BE ALTERED TO   
56JQ    #     THE INSTRUCTION SPECIFIED AS THE SECOND COMMAND PARAMETER 
574B    #   
57J2    #   
583L    MSK1           #777777             [TO LOSE TOP CHAR.   
58H=    RNUM           +7                  [NO. OF ROUTINES 
592W    MSK            #00770000           [MASK FOR FN. CODE   
59GG    ZCODEMSK       #00767070
5=26    #   
5=FQ    #     TABLE OF THREE-CHARACTER INSTRUCTION MNEMONICS
5=^B    TAB1  4HLDX 
5?F2          #00000047 
5?YL          4HADX 
5#D=          #00010047 
5#XW          4HNGX 
5*CG          #00020047 
5*X6          4HSBX 
5BBQ          #00030047 
5BWB          4HSTO 
5CB2          #00100047 
5CTL          4HADS 
5D*=          #00110047 
5DSW          4HNGS 
5F#G          #00120047 
5FS6          4HSBS 
5G?Q          #00130047 
5GRB          4HORX 
5H?2          #00210047 
5HQL          4HERX 
5J==          #00220047 
5JPW          4HTXU 
5K9G          #00260047 
5KP6          4HTXL 
5L8Q          #00270047 
5LNB          4HLDN 
5M82          #00000447 
5MML          4HADN 
5N7=          #00010447 
5NLW          4HNGN 
5P6G          #00020447 
5PL6          4HSBN 
5Q5Q          #00030447 
5QKB          4HBRN 
5R52          #06740224 
5RJL          4HBZE 
5S4=          #01500225 
5SHW          4HBNZ 
5T3G          #01520225 
5TH6          4HBPZ 
5W2Q          #01540225 
5WGB          4HBNG 
5X22          #01560225 
5XFL          4HBUX 
5X^=          #01600225 
5YDW          4HBDX 
5YYG          #01620225 
5^D6          4HORN 
5^XQ          #00210447 
62CB          4HERN 
62X2          #00220447 
63BL          4HSLC 
63W=          #03100517 
64*W          4HSLL 
64TG          #13100517 
65*6          4HSLA 
65SQ          #23100517 
66#B          4HSRC 
66S2          #03120517 
67?L          4HSRL 
67R=          #13120517 
68=W          4HSRA 
68QG          #23120517 
69=6          4HSMO 
69PQ          #05170446 
6=9B          4HORS 
6=P2          #00310047 
6?8L          4HERS 
6?N=          #00320047 
6#7W          4HBCT 
6#MG          #01660225 
6*76          4HBVS 
6*LQ          #16740224 
6B6B          4HBVC 
6BL2          #36740224 
6C5L          4HBCS 
6CK=          #56740224 
6D4W          4HBCC 
6DJG          #66740224 
6F46          4HDCH 
6FHQ          #00340047 
6G3B          4HDEL 
6GH2          #22610446 
6H2L          4HDEX 
6HG=          #00350047 
6H^W          4HDSA 
6JFG          #00360047 
6J^6          4HDLA 
6KDQ          #00370047 
6KYB          4HMPY 
6LD2          #00400047 
6LXL          4HMPR 
6MC=          #00410047 
6MWW          4HMPA 
6NBG          #00420047 
6NW6          4HDVD 
6P*Q          #00440047 
6PTB          4HDVR 
6Q*2          #00450047 
6QSL          4HDVS 
6R#=          #00460047 
6RRW          4HCDB 
6S?G          #00430047 
6SR6          4HCBD 
6T=Q          #00470047 
6TQB          4HSUM 
6W=2          #00270447 
6WPL          4HFIX 
6X9=          #00310446 
6XNW          4HLFP 
6Y8G          #00360446 
6YN6          4HREL 
6^7Q          #04510447 
6^MB          4HDIS 
7272          #04520447 
72LL          4HRRQ 
736=          #00660447 
73KW          4HBFP 
745G          #01760225 
74K6          4HFAD 
754Q          #05320447 
75JB          4HFSB 
7642          #05330447 
76HL          4HSFP 
773=          #02370446 
77GW    #     TABLE OF FOUR-CHARACTER INSTRUCTION MNEMONICS 
782G    TAB2  4HCALL
78G6          #01700225 
78^Q          4HEXIT
79FB          #01720025 
79^2          4HSTOZ
7=DL          #00330046 
7=Y=          4HANDX
7?CW          #00200047 
7?XG          4HANDN
7#C6          #00200447 
7#WQ          4HNULL
7*BB          #00230400 
7*W2          4HLDCH
7B*L          #00240047 
7BT=          4HOBEY
7C#W          #00230046 
7CSG          4HLDCT
7D#6          #00240447 
7DRQ          4HMOVE
7F?B          #00260447 
7FR2          4HPERI
7G=L          #00570447 
7GQ=          4HSUSB
7H9W          #04501447 
7HPG          4HALLO
7J96          #04562447 
7JNQ          4HBCHX
7K8B          #01640225 
7KN2          4HCONT
7L7L          #04540447 
7LM=          4HSUST
7M6W          #02601446 
7MLG          4HLDXC
7N66          #00040047 
7NKQ          4HADXC
7P5B          #00050047 
7PK2          4HNGXC
7Q4L          #00060047 
7QJ=          4HSBXC
7R3W          #00070047 
7RHG          4HSTOC
7S36          #00140047 
7SGQ          4HADSC
7T2B          #00150047 
7TG2          4HNGSC
7T^L          #00160047 
7WF=          4HSBSC
7WYW          #00170047 
7XDG          4HLDEX
7XY6          #00250047 
7YCQ          4HANDS
7YXB          #00300047 
7^C2          4HBVSR
7^WL          #26740224 
82B=          4HBVCR
82TW          #46740224 
83*G          4HBVCI
83T6          #76740224 
84#Q          4HLDNC
84SB          #00040447 
85#2          4HADNC
85RL          #00050447 
86?=          4HNGNC
86QW          #00060447 
87=G          4HSBNC
87Q6          #00070447 
889Q          4HSRAV
88PB          #33120517 
8992          4HNORM
89NL          #00140457 
8=8=          4HMVCH
8=MW          #00160447 
8?7G          4HMODE
8?M6          #00250446 
8#6Q          4HFLOA
8#LB          #00302446 
8*62          4HFMPY
8*KL          #05340447 
8B5=          4HFDVD
8BJW          #05350447 
8C4G          4HSUSD
8CJ6          #04553447 
8D3Q          4HDIST
8DHB          #12601446 
8F32          4HDELT
8FGL          #22601446 
8G2=          4HSUSW
8GFW          #02612446 
8G^G          4HDISP
8HF6          #12610446 
8HYQ          4HSUSM
8JDB          #00624447 
8JY2          4HAUTO
8KCL          #05630447 
8KX=          4HSUSA
8LBW          #00645401 
8LWG          4HSUSI
8MB6          #00646401 
8MTQ          4HGIVE
8N*B          #00650447 
8NT2          4HSFPZ
8P#L          #12370446 
8PS=          4HLFPZ
8Q?W          #15360400 
8QRG    #     TABLE FOR DOUBLE-LENGTH SHIFTS
8R?6    TAB3  4HSLC 
8RQQ          #03110517 
8S=B          4HSRC 
8SQ2          #03130517 
8T9L          4HNORM
8TP=          #03150447 
8W8W    #   
8WNG    #     ALLOWED 5TH CHARS 
8X86 ...XFCHAR         8H YTPARN
8XMQ    #   
8Y7B    XLOOP   
8YM2          LDX   6  0(2)                [GET TABLE BIT-PATTERN   
8^6L          SRL   6  12   
8^L=          ANDN  6  #77  
925W          TXU   4  6
92KG          BCC      XEQN                [J AS L-S 6 BITS COMPARE 
9356    XNQ   SBN   7  1
93JQ          BZE   7  XEX                 [J AS END OF TABLE FOUND 
944B          ADN   2  2
94J2          BRN      XLOOP               [GO FOR NEXT INSTR.  
953L    XEQN  LDX   6  0(2) 
95H=          ANDN  6  #400 
962W          SLL   6  1
96GG          ADX   6  4                   [ADD BIT IF FN. CODE >#100   
9726          TXU   6  5
97FQ          BCS      XNQ                 [J IF COMPARISON NOT EXACT   
97^B          LDCT  6  #400 
98F2          SMO      FX2  
98YL          ORS   6  AWORK2              [SET BIT TO SHOW FN. CODE PARAM. 
99D=          SBN   2  1
99XW          BRN      XEQ                 [J TO GET BIT-PATTERN
9=CG    XEX   EXIT  0  0                   [EXIT - NOT FOUND
9=X6    #   
9?BQ    XALTINST
9?WB          STOZ     AWORK2(2)
9#B2          STOZ     4
9#TL          LDN   5  2
9B#G          LDX   3  AWORK1(2)
9BS6          BNZ   3  NOPP 
9C?Q          LDN   5  3
9CRB    NOPP
9DQL          PARALYSE  #20,4,5            [SPLIT INSTR. PARAMETER  
9F==          TESTREP  UNPAIR,XERR2        [UNPAIRED PARENTHESIS?   
9FG4 ...      TESTREP2 TOOMANY,XERR5
9FPW          LDN   4  1
9G9G          PARAPASS 4                   [GET FIRST CHARS. OF PARAM.  
9GP6          MHUNT    3,CPB,CUNI   
9H8Q          NGX   5  ANUM(3)             [CHECK FOR NULL NON-EXISTENT 
9HNB          BPZ   5  XERR1               [PARAMETER - BRANCH UNLESS OK
9J82          LDCH  5  APARA(3) 
9JML          SBN   5  #27  
9K7=          BZE   5  NUMCO               [BRANCH IF FN. CODE PARAMETER
9KLW          LDX   4  APARA(3)            [GET INSTRUCTIONS MNEMONIC   
9L6G          LDCH  5  4                   [GET LAST CHARACTER  
9LL6          SBN   5  #20  
9M5Q ...      BNZ   5  XFCHMN              [BRANCH IF NOT SPACE 
9MKB    #                      ROUTINE FOR THREE - CHARACTER MNEMONICS  
9N52    THCMN LDN   7  62   
9NJL          LDN   2  TAB1(1)             [GET FIRST MNEMONIC  
9P4=    MNHUN LDX   6  0(2) 
9PHW          TXU   4  6                   [TEST IF PARA. = MNEM.   
9Q3G          BCC      XNCH                [J IF IT DOES
9QH6          SBN   7  1
9R2Q          BZE   7  XERR4               [ERROR IF NOT FOUND  
9RGB          ADN   2  2
9S22          BRN      MNHUN               [LOOP FOR NEXT MNEMONIC  
9SFL    #                      ROUTINE FOR FOUR - CHARACTER MNEMONICS   
9SS3 ...XFCHMN  
9T6D ...      LDN   7  52   
9TDW          LDN   2  TAB2(1)             [GET MNEMONIC
9TYG    MNHN  LDX   6  0(2) 
9WD6          TXU   4  6                   [TEST IF PARAM. = MNEM.  
9WXQ          BCC      XNCH                [J IF IT DOES
9XCB          SBN   7  1
9XX2          BZE   7  XERR4               [ERROR IF NOT FOUND  
9YBL          ADN   2  2
9YW=          BRN      MNHN                [LOOP FOR NEXT MNEMONIC  
9^*W    #     ROUTINE FOR FUNCTION CODE PARAMETER   
9^TG    NUMCO   
=2*6          LDX   5  APARA(3) 
=2SQ          LDX   4  5
=3#B          ANDX  4  ZCODEMSK(1)  
=3S2          BNZ   4  XERR4               [INVALID FUNCTION CODE   
=4?L          LDX   4  5
=4R=          ANDN  4  7                   [GET LS 3 BITS OF FN CODE
=5=W          SLL   5  6
=5QG          SRL   5  9
=6=6          ORX   4  5
=6PQ          STO   4  5
=79B          ANDN  4  #77                 [GET REQD. BIT FORM FOR TABLE COMPARE
=7P2          LDN   7  52   
=88L          LDN   2  TAB2+1(1)
=8N=          CALL  0  XLOOP               [IS IT IN 1ST TABLE ?
=97W          LDN   7  62   
=9MG          LDN   2  TAB1+1(1)
==76          CALL  0  XLOOP               [IS IT IN 2ND. TABLE 
==LQ          LDN   7  3
=?6B          LDN   2  TAB3+1(1)
=?L2          CALL  0  XLOOP               [IS IT IN 3RD TABLE ?
=#5L          LDN   6  #257                [AS PSEUDO-INSTRUCTION   
=#K=          SMO      FX2                 [SET BITS TO ALLOW X,M,N FIELDS  
=*4W          STO   6  AWORK1              [WITH N-FIELD OF 12 BITS 
=*JG          SRL   5  3
=B46          ANDN  5  #100 
=BHQ          ORX   4  5
=C3B          SRC   4  10   
=CH2          LDCT  6  #400 
=D2L          SMO      FX2  
=DG=          ORS   6  AWORK2              [SET TO SHOW FN. CODE PARAMETER  
=D^W          BRN      XFR  
=FFG    XNCH  LDX   7  ANUM(3)  
=F^6          SBN   7  5
=GDQ          BNG   7  XEQ                 [OK IF <5 CHARS. OF MNEM.
=GYB          BNZ   7  XERR4               [IF =5 CHARS.  ARE THEY ALLOWED ?
=HD2          LDX   7  1(2) 
=HXL          ANDN  7  #7000
=JC=          BZE   7  XERR4               [ERROR IF NOT
=JWW          SRC   7  11   
=KBG          ADX   1  7
=KW6 ...      LDCH  0  XFCHAR(1)           [PICK UP LEGAL 5TH CHAR. 
=L*Q          SBX   1  7
=LTB          LDCH  7  APARA+1(3)   
=M*2          TXU   0  7                   [LEGAL CHARACTER?
=MSL          BCS      XERR4               [ERROR IF NOT LEGAL CHAR.
=N#=    XEQ   ADN   2  1                   [POINT TO MNEM. BIT-PATTERN  
=NRW          LDX   6  0(2)                [GET PATTERN 
=P?G          SMO      FX2  
=PR6          STO   6  AWORK1              [STORE IT
=Q=Q          STO   6  4
=QQB          LDCH  6  0(2)                [GET ROUTINE NUMBER  
=R=2          ANDN  6  7
=RPL          TXL   6  RNUM(1)             [TEST WITHIN RANGE   
=S9=          BCC      XERR3
=SNW          STO   4  5
=T8G          ANDX  4  MSK(1)              [GET L-S 6 BITS OF FUNCTION-CODE 
=TN6          ANDN  5  #400 
=W7Q          SLL   4  2                   [SET 6 BITS IN CORRECT POSITION  
=WMB          SLL   5  12   
=X72          ORX   4  5                   [SET BIT IF CODE >#100   
=XLL    XFR   FREECORE 3
=Y6=          ACROSS   ALTINST,1
=YKW    #   
=^5G    #   
=^K6    #     ERROR AS PARAMETER MISSING
?24Q    XERR1 COMERR   JPARMIS  
?2JB    #   
?342    XERR2 COMERR   ERUNPAIR 
?3HL    #   
?43=    XERR3 GEOERR   1,ALTINST
?4GW    #   
?52G    #     ERROR AS NO MNEMONIC  
?5G6    XERR4   
?5^Q          FREECORE 3
?6FB          COMERR   JUNKINS  
?6K? ...#   
?6P8 ...XERR5   
?6T5 ...      COMERR    JMAXPAR 
?6^2    #   
?7Y=    #END
^^^^ ...27777236000400000000