NEW
  AUTO 3,1
*--------------------------------------
       .MA VEC
       BIT RDROM
       JSR ]1
       BIT RDRAM
       RTS
       .EM
*--------------------------------
  JMP SEARCH.COMPRESSED.TABLE
  JMP GNC
  JMP GNC.UC
  JMP GNNB
 >VEC EXPR
 >VEC EXP1
  JMP ASM.ERROR
 >VEC EMIT
*--------------------------------
ERBA   LDY #QER5
       JMP SOFT.ERROR
*--------------------------------
       .DUMMY
       .OR $D400
D4.ASM.INIT         .BS 3
D4.ASM.LINE         .BS 3
D4.EMIT.VALUE       .BS 3
D4.DIR.OP           .BS 3
D4.VERSION
       .ED
*--------------------------------
ASM.INIT   LDA RDRAM
           JSR D4.ASM.INIT
           LDA RDROM
           RTS
*--------------------------------
ASM.PARTICULAR LDA RDRAM
               JSR D4.ASM.LINE
               LDA RDROM
               RTS
*--------------------------------
EMIT.VALUE     LDA RDRAM
               JSR D4.EMIT.VALUE
               LDA RDROM
               RTS
*--------------------------------
PSOP   LDA RDRAM
       JSR D4.DIR.OP
       LDA RDROM
       RTS
*--------------------------------
EXP.OVER.256
       LDA EXP.VALUE+1
       STA EXP.VALUE
       LDA EXP.VALUE+2
       STA EXP.VALUE+1
       LDA EXP.VALUE+3
       STA EXP.VALUE+2
       LDA #0
       STA EXP.VALUE+3
       RTS
*--------------------------------
ASM.ERROR
       BIT RDROM
       TAX          USE ERROR # FOR INDEX
       LDY ASM.ERROR.TABLE,X
       JMP SOFT.ERROR
*--------------------------------
ASM.ERROR.TABLE
       .DA #QER2    "BAD OPCODE"
       .DA #QER5    "BAD ADDRESS"
       .DA #QER3    "RANGE"
       .DA #QER6    "UNDEF LABEL"
*--------------------------------
VERSION
       LDY #QSC
       JSR QT.OUT
       LDY #2
.1     LDA Q.VERSION,Y
       JSR MY.COUT
       DEY
       BPL .1
       LDA #$8D
.2     JSR MY.COUT
       INY
       LDA RDRAM
       LDX D4.VERSION,Y
       LDA RDROM
       TXA
       BNE .2
       RTS
*--------------------------------------
MAN
SAVE usr/src/scmasm.30/scmasm.s.vect
LOAD usr/src/scmasm.30/scmasm.s
ASM
