
                     * PAG
                     *************************************************
                     *** ASN - ASSIGN SYSTEM AND WORKING DRIVE       *
                     *************************************************
                     *
                     * 'ASSIGN' UTILITY COPYRIGHT (C). 1979 BY
                     *
                     * TECHNICAL SYSTEM CONSULTANTS. INC.
                     * BOX 2570
                     * WEST LAFAYETTE. INDIANA 47906
                     * USA
                     
                     * BY FLD ON 15-10-2011 FOR VEGAS 6809
                     * DISASSEMBLY BY DYNAMITE OF 2.ASN.CMD
                     
                     * STANDARD PRE-NAMED LABEL EQUATES
                     
               C840  SYSFCB  EQU    $C840
               CC02  EOLCHR  EQU    $CC02
               CC0B  SYSDRV  EQU    $CC0B
               CC0C  WRKDRV  EQU    $CC0C
               CC11  LSTTRM  EQU    $CC11
               CD03  WARMS   EQU    $CD03
               CD18  TCHR    EQU    $CD18
               CD1E  PSTRNG  EQU    $CD1E
               CD27  NXTCH   EQU    $CD27
               CD39  OUTDEC  EQU    $CD39
               CD3F  RPTERR  EQU    $CD3F
                     
                     * ASCII CODE EQUATES
                     
               0004  EOT     EQU    $04
                     
                     
  C100                       ORG    $C100
                     ** MAIN PROGRAM
                     
  C100 20   03       CMDADR  BRA    ASN1      SKIP VERSION NUMBER
  C102 01                    FCB    $01       VERSION NUMBER
  C103 00            DRVNM1  FCB    $00       DRIVE NUMBER TEMP
  C104 00            DRVNM2  FCB    $00
                     
  C105 8D   71       ASN1    BSR    TSTEOL    ANY THING IN LINE BUFFER?
  C107 27   36               BEQ    PRTASN    PRINT ASSIGNMENTS IS EMPTY
  C109 BD   CD27     NXTDRV  JSR    NXTCH     GET CHARACTER
  C10C 81   57               CMPA   #$57      'W' IS IT WORK DRIVE?
  C10E 27   15               BEQ    SETWRK    SET IT IF SO
  C110 81   77               CMPA   #$77      'w' LOWER CASE?
  C112 27   11               BEQ    SETWRK
  C114 81   53               CMPA   #$53      'S' IS IT SYSTEM DRIVE?
  C116 27   04               BEQ    SETSYS    ET IT IF SO
  C118 81   73               CMPA   #$73      's' LOWERCASE?
  C11A 26   17               BNE    SETERR    MUST BE A MISTAKE
  C11C 8D   65       SETSYS  BSR    GETNUM    GET NUMBER
  C11E 25   13               BCS    SETERR    BAD NUMBER?
  C120 B7   CC0B             STA    SYSDRV    SET IT
  C123 20   07               BRA    SETW1     LOOP FOR NEXT ASN.
                     
  C125 8D   5C       SETWRK  BSR    GETNUM    GET DRIVE NUMBER
  C127 25   0A               BCS    SETERR    BAD?
  C129 B7   CC0C             STA    WRKDRV    SET IT
  C12C 8D   4A       SETW1   BSR    TSTEOL    AT END OF BUFFER?
  C12E 26   D9               BNE    NXTDRV    TRY AGAIN
  C130 7E   CD03     EXIT    JMP    WARMS     BYE!
                     
  C133 8E   C840     SETERR  LDX    #SYSFCB   SET ERROR IN SYS FCB
  C136 C6   1A               LDB    #$1A
  C138 E7   01               STB    1,X       PUT IN FCB ERROR
  C13A BD   CD3F             JSR    RPTERR    REPORT IT
  C13D 20   F1               BRA    EXIT
                     
  C13F 5F            PRTASN  CLRB             CLEAR MSB IN DRV NUMBER
  C140 F7   C103             STB    DRVNM1
  C143 8E   C1C5             LDX    #SYSMES   PRINT SYS DRV MESSAGE
  C146 BD   CD1E             JSR    PSTRNG
  C149 8E   C103             LDX    #DRVNM1   GET DRIVE NUMBER
  C14C B6   CC0B             LDA    SYSDRV
  C14F B7   C104             STA    DRVNM2    STORE IT
  C152 2A   05               BPL    PRTRUN    IS IT A REAL NUMBER?
 >C154 BD   C1B4             JSR    PRTALL    PRINT "ALL" INSTEAD
  C157 20   03               BRA    PASN1
                     
  C159 BD   CD39     PRTRUN  JSR    OUTDEC    PRINT NUMBER
  C15C 8E   C1DD     PASN1   LDX    #WRKMES   PRINT WRK DRIVE MESSAGE
  C15F BD   CD1E             JSR    PSTRNG
  C162 B6   CC0C             LDA    WRKDRV    GET RIVE NUMBER
  C165 B7   C104             STA    DRVNM2    SAVE IT
  C168 2A   05               BPL    PRWRK     REAL NUMBER?
 >C16A BD   C1B4             JSR    PRTALL    PRINT "ALL"
  C16D 20   C1               BRA    EXIT
                     
  C16F 8E   C103     PRWRK   LDX    #DRVNM1   POINT TO NUMBER
  C172 5F                    CLRB             CLEAR MSB
  C173 BD   CD39             JSR    OUTDEC    PRINT IT
  C176 20   B8               BRA    EXIT
                     
  C178 B6   CC11     TSTEOL  LDA    LSTTRM    CHECK FOR END OF BUFFER
  C17B 81   0D               CMPA   #$0D
  C17D 27   03               BEQ    TSTEX     "CR" IS END OF INPUT
  C17F B1   CC02             CMPA   EOLCHR    SO IS TTYSET EOL
  C182 39            TSTEX   RTS
                     
  C183 BD   CD27     GETNUM  JSR    NXTCH     GET CHAR FROM BUFFER
  C186 24   1D               BCC    SYNTAX    SOME THING WRONG?
  C188 81   3D               CMPA   #$3D      '=' IS IT SEPARATOR?
  C18A 26   19               BNE    SYNTAX    TOO BAD
  C18C BD   CD27             JSR    NXTCH     GET DIGIT
  C18F 25   14               BCS    SYNTAX    NOT A NUMBER?
  C191 81   33               CMPA   #$33      '3' MAX DRIVE NUMBER
  C193 22   13               BHI    ISALL     GO CHECK FOR ALL
  C195 84   03               ANDA   #3        REMOVE ASCII BIAS
  C197 1F   89       SETNUM  TFR    A,B       SAVE ITASN
  C199 4D                    TSTA
  C19A BD   CD27             JSR    NXTCH     STEP OVER COMMA
  C19D 24   06               BCC    SYNTAX
  C19F 1F   98               TFR    B,A       RESTORE NUMBER
  C1A1 4D                    TSTA
  C1A2 1C   FE               ANDCC  #$FE      CLEAR ERROR FLAG
  C1A4 39                    RTS
                     
  C1A5 1A   01       SYNTAX  ORCC   #1        SET ERROR FLAG
  C1A7 39                    RTS
                     
  C1A8 81   41       ISALL   CMPA   #$41      'A' IS IT "ALL"
  C1AA 27   04               BEQ    ALLSET
  C1AC 81   61               CMPA   #$61      'a' LOWER CASE?
  C1AE 26   F5               BNE    SYNTAX
  C1B0 86   FF       ALLSET  LDA    #$FF      SET DRIVE TO ALL
  C1B2 20   E3               BRA    SETNUM
                     
  C1B4 8E   C1F8     PRTALL  LDX    #ALLMES   POINT TO STRING
  C1B7 A6   84       PDATA   LDA    0,X       GET CHAR
  C1B9 81   04               CMPA   #4        IS IT EOT
  C1BB 27   07               BEQ    PDXIT
  C1BD BD   CD18             JSR    TCHR      PRINT IT
  C1C0 30   01               LEAX   1,X       BUMP POINTER
  C1C2 20   F3               BRA    PDATA     LOOP TILL DONE
                     
  C1C4 39            PDXIT   RTS
                     
  C1C5 4C 45 20 44   SYSMES  FCC    "LE DISQUE SYSTEME EST #"
  C1C9 49 53 51 55   
  C1CD 45 20 53 59   
  C1D1 53 54 45 4D   
  C1D5 45 20 45 53   
  C1D9 54 20 23      
  C1DC 04                    FCB    4
  C1DD 4C 45 20 44   WRKMES  FCC    "LE DISQUE DE TRAVAIL EST"
  C1E1 49 53 51 55   
  C1E5 45 20 44 45   
  C1E9 20 54 52 41   
  C1ED 56 41 49 4C   
  C1F1 20 45 53 54   
  C1F5 20 23                 FCC    " #"
  C1F7 04                    FCB    4
  C1F8 54 4F 55 53   ALLMES  FCC    "TOUS"
  C1FC 04                    FCB    4
                     
                             END    CMDADR

0 ERROR(S) DETECTED

SYMBOL TABLE:

ALLMES C1F8   ALLSET C1B0   ASN1   C105   CMDADR C100   DRVNM1 C103   
DRVNM2 C104   EOLCHR CC02   EOT    0004   EXIT   C130   GETNUM C183   
ISALL  C1A8   LSTTRM CC11   NXTCH  CD27   NXTDRV C109   OUTDEC CD39   
PASN1  C15C   PDATA  C1B7   PDXIT  C1C4   PRTALL C1B4   PRTASN C13F   
PRTRUN C159   PRWRK  C16F   PSTRNG CD1E   RPTERR CD3F   SETERR C133   
SETNUM C197   SETSYS C11C   SETW1  C12C   SETWRK C125   SYNTAX C1A5   
SYSDRV CC0B   SYSFCB C840   SYSMES C1C5   TCHR   CD18   TSTEOL C178   
TSTEX  C182   WARMS  CD03   WRKDRV CC0C   WRKMES C1DD   




