      SKP 
*   'TTYPL' DETERMINES IF WE ARE LISTING AND
*   AND PUNCHING ON THE TTY.
* 
*   CALLING SEQUENCE: 
* 
*      JSB TTYPL
* 
*   UPON RETURN:
*      A REG = 0 IF WE ARE LISTING AND PUNCHING ON TTY. 
*      A REG # 0 IF WE ARE NOT. 
* 
TTYPL NOP 
      LDB LIST
      JSB TTYIO     WE LISTING ON TTY?
      SZA 
      JMP TTYPL,I   NO. 
      LDB PCH       YES.  WE PUNCHING ON TTY? 
      JSB TTYIO 
      NOP 
      JMP TTYPL,I   A REG HAS ANSWER. 
      SKP 
* 
*   'ZEROST' TESTS FOR A 'ZEROES' STATEMENT AND PROCESSES 
*   IT IF IT FINDS ONE. 
* 
*   CALLING SEQUENCE: 
* 
*      JSB ZEROST 
* 
*   UPON RETURN:
* 
*      IF 'A' REG = 0, STATEMENT WAS NOT A  'ZEROES'
*         STATEMENT.
*      IF 'A' REG # 0, STATEMENT WAS A 'ZEROES' STATEMENT,
*         AND ALL 0'S HAVE BEEN PUT INTO THE
*         MICROINSTRUCTION. 
* 
ZERST NOP 
      LDB F2ADR     GET FIELD 2 STARTING BYTE ADDR. 
      LDA ZERAD     GET REF STRING WORD ADDR. 
      JSB CHECK     WE GOT A 'ZEROES' STATEMENT?
      SZA,RSS 
      JMP ZERST,I   NO. 
      CLA           YES.  PUT 0'S IN ALL 24 BITS OF 
      STA INST1     MICROINSTRUCTION. 
      STA INST2 
      CLA,INA       SET 'A' TO INDICATE 'YES, 
      JMP ZERST,I   ZEROES STATEMENT' AND RETURN. 
      SKP 
      HED  OPCODE TABLES
* 
*       O P C O D E  T A B L E S
* 
* 
*   IN BINARY CODE FOR 'OPCOD', BITS 14-12 ARE THE
*   WORD TYPE NO., IF THIS NO. IS DETERMINED BY THE 
*   'OPCOD' MNEMONIC SOLELY.
* 
OPCOD DEF *+1 
      ASC 2,NOP 
OPNOP OCT 010000
      ASC 2,
      OCT 010000
      ASC 2,ARS 
      OCT 010001
      ASC 2,CRS 
      OCT 010002
      ASC 2,LGS 
      OCT 010003
      ASC 2,MPY 
      OCT 010004
      ASC 2,DIV 
      OCT 010005
      ASC 2,LWF 
      OCT 010006
      ASC 2,WRTE
      OCT 010007
      ASC 2,ASG 
      OCT 010010
      ASC 2,READ
      OCT 010011
      ASC 2,ENV 
      OCT 010012
      ASC 2,ENVE
      OCT 010013
      ASC 2,JSB 
JSB   OCT 040014
      ASC 2,JMP 
JMP   OCT 15
      ASC 2,IMM 
      OCT 020016
      OCT 0         END OF 'OPCODE' TABLE.
SPEC  DEF *+1 
      ASC 2,IOFF
IOFF  OCT 0 
      ASC 2,SRG2
      OCT 1 
      ASC 2,L1
      OCT 2 
      ASC 2,L4
      OCT 3 
      ASC 2,R1
      OCT 4 
      ASC 2,ION 
      OCT 5 
      ASC 2,SRG1
      OCT 6 
      ASC 2,RES2
      OCT 7 
STFL  ASC 2,STFL
      OCT 10
      ASC 2,CLFL
      OCT 11
      ASC 2,FTCH
      OCT 12
      ASC 2,SOV 
      OCT 13
      ASC 2,COV 
      OCT 14
      ASC 2,RPT 
      OCT 15
      ASC 2,SRGE
      OCT 16
      ASC 2,NOP 
SPNOP OCT 17
      ASC 2,
BLANK OCT 17
MESP  ASC 2,MESP
      OCT 20
      ASC 2,MPCK
      OCT 21
      ASC 2,IOG 
IOG   OCT 22
      ASC 2,ICNT
      OCT 23
      ASC 2,SHLT
      OCT 24
      ASC 2,INCI
      OCT 25
      ASC 2,RES1
      OCT 26
      ASC 2,SRUN
      OCT 27
*   THE SO-CALLED 'JMP-SPECIALS' ARE THE FOLLOWING
*   MNEMONICS, THROUGH 'JEAU'.
      ASC 2,UNCD
UNCD  OCT 30
      ASC 2,CNDX
CNDX  OCT 31
      ASC 2,JIO 
      OCT 32
      ASC 2,JTAB
JTAB  OCT 33
      ASC 2,J74 
      OCT 34
      ASC 2,J30 
      OCT 35
      ASC 2,RTN 
RTN   OCT 36
      ASC 2,JEAU
JEAU  OCT 37
      OCT 0         END OF 'SPECIAL' TABLE. 
COND  DEF *+1 
      ASC 2,TBZ 
      OCT 0 
      ASC 2,ONES
      OCT 1 
      ASC 2,COUT
      OCT 2 
      ASC 2,AL0 
      OCT 3 
      ASC 2,AL15
      OCT 4 
      ASC 2,NMLS
      OCT 5 
      ASC 2,CNT8
      OCT 6 
      ASC 2,FPSP
      OCT 7 
      ASC 2,FLAG
      OCT 10
      ASC 2,E 
      OCT 11
      ASC 2,OVFL
      OCT 12
      ASC 2,RUN 
      OCT 13
      ASC 2,NHOI
      OCT 14
      ASC 2,SKPF
      OCT 15
      ASC 2,ASGN
      OCT 16
      ASC 2,IR2 
      OCT 17
      ASC 2,NLDR
      OCT 20
      ASC 2,NSNG
      OCT 21
      ASC 2,NINC
      OCT 22
      ASC 2,NDEC
      OCT 23
      ASC 2,NRT 
      OCT 24
      ASC 2,NLT 
      OCT 25
      ASC 2,NSTR
      OCT 26
      ASC 2,NRST
      OCT 27
      ASC 2,NSTB
      OCT 30
      ASC 2,NSFP
      OCT 31
      ASC 2,INT 
      OCT 32
      ASC 2,SRGL
      OCT 33
      ASC 2,RUNE
      OCT 34
      ASC 2,NOP 
CNNOP OCT 35
      ASC 2,
      OCT 35
      ASC 2,CNT4
      OCT 36
      ASC 2,NMEU
      OCT 37
      OCT 0         END OF 'CONDITION' TABLE. 
ALU   DEF *+1 
      ASC 2,INC 
      OCT 0 
      ASC 2,OP1 
      OCT 1 
      ASC 2,OP2 
      OCT 2 
      ASC 2,ZERO
      OCT 3 
      ASC 2,OP3 
      OCT 4 
      ASC 2,OP4 
      OCT 5 
      ASC 2,SUB 
      OCT 6 
      ASC 2,OP5 
      OCT 7 
      ASC 2,OP6 
      OCT 10
      ASC 2,ADD 
      OCT 11
      ASC 2,OP7 
      OCT 12
      ASC 2,OP8 
      OCT 13
      ASC 2,OP9 
      OCT 14
      ASC 2,OP10
      OCT 15
      ASC 2,OP11
      OCT 16
      ASC 2,DEC 
      OCT 17
      ASC 2,CMPS
      OCT 20
      ASC 2,NOR 
      OCT 21
      ASC 2,NSAL
      OCT 22
      ASC 2,OP13
      OCT 23
      ASC 2,NAND
      OCT 24
      ASC 2,CMPL
      OCT 25
      ASC 2,XOR 
      OCT 26
      ASC 2,SANL
      OCT 27
      ASC 2,NSOL
      OCT 30
      ASC 2,XNOR
      OCT 31
      ASC 2,PASL
      OCT 32
      ASC 2,AND 
      OCT 33
      ASC 2,ONE 
      OCT 34
      ASC 2,SONL
      OCT 35
      ASC 2,IOR 
      OCT 36
      ASC 2,PASS
PASS  OCT 37
      ASC 2,
      OCT 37
      OCT 0         END OF 'ALU' TABLE. 
IMM   DEF *+1 
      ASC 2,HIGH
HIGH  OCT 0 
      ASC 2,
      OCT 0 
      ASC 2,LOW 
      OCT 1 
      ASC 2,CMHI
      OCT 2 
      ASC 2,CMLO
      OCT 3 
      OCT 0         END OF 'IMM' TABLE. 
STORE DEF *+1 
      ASC 2,TAB 
      OCT 0 
      ASC 2,CAB 
      OCT 1 
      ASC 2,T 
      OCT 2 
      ASC 2,L 
      OCT 3 
      ASC 2,IOO 
      OCT 4 
      ASC 2,CNTR
      OCT 5 
      ASC 2,DSPL
      OCT 6 
      ASC 2,DSPI
      OCT 7 
      ASC 2,IR
      OCT 10
      ASC 2,M 
      OCT 11
      ASC 2,B 
      OCT 12
      ASC 2,A 
      OCT 13
      ASC 2,MEU 
      OCT 14
      ASC 2,CM
      OCT 15
      ASC 2,PNM 
      OCT 16
      ASC 2,NOP 
STNOP OCT 17
      ASC 2,
      OCT 17
      ASC 2,S1
      OCT 20
      ASC 2,S2
      OCT 21
      ASC 2,S3
      OCT 22
      ASC 2,S4
      OCT 23
      ASC 2,S5
      OCT 24
      ASC 2,S6
      OCT 25
      ASC 2,S7
      OCT 26
      ASC 2,S8
      OCT 27
      ASC 2,S9
      OCT 30
      ASC 2,S10 
      OCT 31
      ASC 2,S11 
      OCT 32
      ASC 2,S12 
      OCT 33
      ASC 2,X 
      OCT 34
      ASC 2,Y 
      OCT 35
      ASC 2,P 
      OCT 36
      ASC 2,S 
      OCT 37
      ASC 2,RJS 
RJS   OCT 777 
      OCT 0         END OF 'STORE' TABLE. 
SBUS  DEF *+1 
      ASC 2,TAB 
      OCT 0 
      ASC 2,CAB 
      OCT 1 
      ASC 2,T 
      OCT 2 
      ASC 2,CIR 
      OCT 3 
      ASC 2,IOI 
      OCT 4 
      ASC 2,CNTR
      OCT 5 
      ASC 2,DSPL
      OCT 6 
      ASC 2,DSPI
      OCT 7 
      ASC 2,ADR 
      OCT 10
      ASC 2,M 
      OCT 11
      ASC 2,B 
      OCT 12
      ASC 2,A 
      OCT 13
      ASC 2,LDR 
      OCT 14
      ASC 2,RES2
      OCT 15
      ASC 2,MEU 
      OCT 16
      ASC 2,NOP 
SBNOP OCT 17
      ASC 2,
      OCT 17
      ASC 2,S1
      OCT 20
      ASC 2,S2
      OCT 21
      ASC 2,S3
      OCT 22
      ASC 2,S4
      OCT 23
      ASC 2,S5
      OCT 24
      ASC 2,S6
      OCT 25
      ASC 2,S7
      OCT 26
      ASC 2,S8
      OCT 27
      ASC 2,S9
      OCT 30
      ASC 2,S10 
      OCT 31
      ASC 2,S11 
      OCT 32
      ASC 2,S12 
      OCT 33
      ASC 2,X 
      OCT 34
      ASC 2,Y 
      OCT 35
      ASC 2,P 
      OCT 36
      ASC 2,S 
      OCT 37
      OCT 0         END OF 'S-BUS' TABLE. 
      HED  CONSTANTS, BUFFERS, MESSAGES 
* 
ABF0  DEF OUTBF 
ABF7  DEF OUTBF+7 
ACARD DEF CARD
AEND  ASC 9, ASSEMBLY ABORTED!
ASTER OCT 52
BASE  BSS 1 
BEWFL NOP 
BLNK2 ASC 1,
BUCK  OCT 44
BYTAD BSS 1 
B1    OCT 1 
B4    OCT 4 
B6    OCT 6 
B12   OCT 12
B16   OCT 16
B60   OCT 60
B100  OCT 100 
B400  OCT 400 
B401  OCT 401 
B14KK OCT 140000
B1KKK OCT 100000
B7400 OCT 7400
      ASC 1,
OUTBF BSS 11
CARD  BSS 40
      OCT 0 
CHAR  BSS 3 
CFLG  OCT 0 
CKSUM NOP 
CLEN  BSS 1 
COMMA OCT 54
COUNT BSS 1 
CRLEN BSS 1 
CSAVA BSS 1 
CSAVB BSS 1 
D.000 BSS 1 
D.001 BSS 1 
DBUG  BSS 1 
DEVIC BSS 1 
DEFLT DEF *,I       POINTERS TO CODE 'NOP'
      DEF OPNOP     VALUES. 
      DEF SPNOP 
      DEF CNNOP 
      DEF PASS
      DEF HIGH
      DEF STNOP 
      DEF SBNOP 
DJ    ASC 9,  **  NO  ERRORS**
DJ1   DEF DJ+2
EFILE ASC 7,  MISSING $END
ENDMS ASC 10,  $END MICRO ASMB. 
ENDRC OCT 002000    'END RECORD' CODE 
      OCT 120000
      OCT 120000
      OCT 0 
EQMSK OCT 037400
EQUFL NOP 
      ASC 1,
ERR1  ASC 6,**ERROR 
      ASC 1,**
E1      DEF ERR1+4
      ASC 1,
ERR2  ASC 14,**ERROR XXXX IN LINE XXXX ** 
E2    DEF ERR2+4
E3    DEF ERR2+10 
FWORD DEF *         MUST BE RIGHT BEFORE 'FLD1', ETC. 
FLD1  BSS 1         (DON'T REMOVE THIS) 
FLD2  BSS 1 
FLD3  BSS 1 
FLD4  BSS 1 
FLD5  BSS 1 
FLD6  BSS 1 
F0ADR DEF *         STORAGE FOR STARTING BYTE ADDRESS 
F1ADR BSS 1         OF FIELDS IN INPUT BUFFER.
F2ADR BSS 1 
F3ADR BSS 1 
F4ADR BSS 1 
F5ADR BSS 1 
F6ADR BSS 1 
HED1  ASC 7, SYMBOL TABLE 
HDTAB BSS 1 
HHHMS OCT 070000
HHMSK OCT 107777
HIMSK OCT 177400
ILUN  BSS 1 
INST1 NOP           LOW 16 BITS OF MICROINSTR.
INST2 NOP           HIGH 8 BITS AND REL ADDR OF " 
LASTP DEC -2
LINE# BSS 1 
LIST  BSS 1         L.U. # OF LIST DEVICE 
LOMSK OCT 377 
LPEJ  OCT 030440
LPP   DEC 56
LPSPC OCT 025440
L.000 BSS 1 
L.001 BSS 1 
L.002 BSS 1 
LWAM  BSS 1 
MAG   BSS 1         L.U. # OF MAG TAPE UNIT 
MAGAD DEF MAG 
MB75  OCT -75 
MCODE OCT 100 
MINUS OCT 55
MSG1  ASC 11,  210X MICROASSEMBLER
MSG2  ASC 16,  ENTER L.U. # OF INPUT DEVICE.
MSG5  ASC 14, RELOAD SOURCE, PRESS 'RUN'. 
MSK6  OCT 000077
MSK78 OCT 000300
MSK8  OCT 177400
MSK12 OCT 170000
MSK15 OCT 100000
MSK21 OCT 177000
MSK23 OCT 000777
M14   OCT 037777
M7777 OCT 170000
NMERR OCT 0 
NO    ASC 1,NO
NSAVA BSS 1 
NSAVB BSS 1 
OCONT BSS 1 
OLY2  JMP INPUT 
OLY3  JMP .BAD. 
ONEAD DEF ONS 
ONS   ASC 4,ONES
OPAD  DEF *+1 
      RAL 
      AND DP1,I 
      ALF 
      NOP 
      ALF,ALF 
      RAR 
      ALF,ALF 
      RAL,RAL 
      RAR,RAR 
      RAR 
      NOP 
      NOP 
      OCT -1
ORFLG BSS 1 
PASSN BSS 1 
PBASE DEF PNBUF 
PCH   BSS 1 
PCNTR BSS 1 
PCODE OCT 000100
PLUS  OCT 53
PNAD  DEF PNBUF 
PNADR DEF PNBUF+5 
PNBUF OCT 5 
      OCT 060100
      BSS 58
PNFLG NOP 
PNT01 DEF .MEM. 
PNTR  BSS 1 
PRCNT OCT 045 
RCFLG NOP 
RDR   BSS 1 
RDRAD DEF RDR 
RLEN  BSS 1 
SAVA  BSS 1 
SAVB  NOP           TEMP STORAGE
SAVC  BSS 1 
SAVD  BSS 1 
SAVH  NOP 
SAVM  NOP 
SAVN  NOP 
SCNT  BSS 1 
SCOUN BSS 1 
SKAD  DEF SK
SK    ASC 4,SKP 
SOVFL ASC 9, MEMORY OVERFLOW! 
SPAC  OCT 040 
SPBUF BSS 1 
SPRES BSS 1 
SR.00 BSS 1 
SYFLG BSS 1         SYMB TABLE FLAG. 0=NO,1=YES.
SYMD  DEF SYMTA 
SYMB  BSS 1 
SYMTA BSS 1024      SYMBOL TABLE
S.000 BSS 1 
S.002 BSS 1 
TAG   BSS 1 
TMPC1 BSS 1 
TMPC2 BSS 2 
TMPC3 BSS 1 
TMPC4 BSS 1 
      ASC 1,
TOKAD DEF TOKEN 
      ASC 1,
TOKEN BSS 4 
TTYO  OCT 2 
TTYSP OCT 006412
T.001 BSS 1         LOW 8 BITS OF ORIGIN
T.002 BSS 1         BITS 9-14 OF ORIGIN, LOW 8= 0.
UMSK  OCT 177700    MASKS OUT OLD UNIT REF NO.
VALU  BSS 1 
ZERAD DEF ZER 
ZER   ASC 4,ZEROES
      DEC -16 
      DEC -15,-14,-13,-12 
      DEC -11,-10,-9
      DEC -8,-7,-6,-5 
      DEC -4,-3,-2,-1 
.     DEC 0,1,2 
.3    DEC 3,4 
      DEC 5,6,7,8,9,10,11 
      DEC 12,13,14,15,16
.B    OCT 102 
.D    OCT 104 
.E    OCT 105 
.EQ.  OCT 75
.F    OCT 106 
.I    OCT 111 
.K    OCT 113 
.L    OCT 114 
.M18  DEC -18 
.M20  DEC -20 
.M22  DEC -22 
.M24  DEC -24 
.M25  DEC -25 
.M26  DEC -26 
.M28  DEC -28 
.M32  DEC -32 
.M34  DEC -34 
.M40  DEC -40 
.M48  DEC -48 
.M80  DEC -80 
.N    OCT 116 
.O    OCT 117 
.P    OCT 120 
.P24  DEC 24
.P27  DEC 27
.P40  DEC 40
.Q    OCT 121 
.R    OCT 122 
.S    OCT 123 
.U    OCT 125 
.X    OCT 130 
.Y    OCT 131 
.Z    OCT 132 
.59   DEC 59
.100  DEC 100 
.1000 DEC 1000
.1024 DEC 1024
#LNES BSS 1 
      END MICRO 
            