.TITLE PCSI - TRANSLATES FILESPECS .IDENT /830617/ .MCALL .CSISPC .GLOBL V.FNAM,V.FNME,V.SPCE,V.DEF,V.ONAM,V.INAM ;PARMS ; 0. RETURN POINTER TO RAD50 ARGUMENT SPACE ; 1. POINTER TO STRING ; 2. MODE 0=OUTPUT , OTHERWISE INPUT ;REGISTERS ; R0 - SCRATCH ; R1 - MODE ; R2 -> STRING ;NOTES ; ZERO RESULT ON RETURN INDICATES ERROR P.CSI:: MOV SP,R0 TST (R0)+ MOVB (R0),R1 ;MODE MOV R2,(R0)+ MOV (R0),R2 ;STRING MOV (SP)+,(R0)+ MOV #V.INAM,(R0) ;ASSUME INPUT ; MOV #V.FNAM,R0 ;POINT TO LINE BUFFER 1$: MOVB (R2)+,(R0)+ ;MOVE STRING BEQ 2$ CMP R0,#V.FNME ;DON'T OVERSHOOT BLO 1$ ; 2$: TSTB R1 ;CHECK MODE BNE 3$ CLRB (R0) ;ADJUST FOR OUTPUT MOVB #'=,-(R0) MOV #V.ONAM,4(SP) ; 3$: MOV SP,R1 .CSISPC #V.SPCE,#V.DEF,#V.FNAM MOV R1,SP ;IGNORE OPTIONS BCC 4$ CLR 4(SP) ;SET ZERO RESULT 4$: MOV (SP)+,R2 RTS PC .END