.LIST TTM .TITLE FTRAN .NLIST SYM ; ; CALL FTRAN(NAMER,NAMEA) ; .GLOBL R50ASC,TRIMS ; FTRAN:: TST (R5)+ ;SKIP #ARGS MOV (R5)+,NAMER ;STORE NAMER ADDRESS MOV @R5,NAMEA ;STORE NAMEA ADDRESS MOV (R5)+,ARG1 ;ALSO HERE MOV #PAR1,R5 ;PARAMETER BLOCK JSR PC,R50ASC ;CALL R50ASC MOV NAMEA,R1 ;GET NAMEA ADDRESS CLRB 12.(R1) ;ADD ZERO BYTE ADD #3,R1 ;POINT TO FILENAME JSR PC,RIGHT ;MOVE STRING TO RIGHT MOVB #':,@R1 ;STORE COLON MOV NAMER,R0 ;GET NAMER ADDRESS TST 2(R0) ;TEST SECOND NAMER WORD BEQ 1$ ;IT'S ZERO MOV NAMEA,R1 ;RESTORE R1 ADD #10.,R1 ;POINT TO EXTENSION JSR PC,RIGHT ;MOVE STRING TO RIGHT MOVB #'.,@R1 ;STORE PERIOD 1$: MOV #PAR2,R5 ;PARAMETER BLOCK JSR PC,TRIMS ;CALL TRIMS RTS PC ;ALL DONE ; ; ARGUMENT BLOCK FOR R50ASC CALL PAR1: .WORD 3 ;#ARGS .WORD NCNT ;CHARACTER COUNT NAMER: .WORD 0 ;NAMER ADDRESS NAMEA: .WORD 0 ;NAMEA ADDRESS NCNT: .WORD 12. ;#ASCII CHARACTERS ; ; ARGUMENT BLOCK FOR TRIMS CALL PAR2: .WORD 1 ;#ARGS ARG1: .WORD 0 ;ARGUMENT ; ; SUBROUTINE TO MOVE A STRING 1 PLACE TO THE RIGHT ; R1 SHOULD POINT TO THE FIRST CHARACTER, R4 IS USED. ; R1 IS UNCHANGED. ; RIGHT: MOV R1,R4 ;SAVE R1 1$: TSTB (R1)+ ;END OF STRING ? BNE 1$ ;NOT YET 2$: MOVB -(R1),1(R1) ;MOVE BYTE TO RIGHT CMP R1,R4 ;AT BEGINNING ? BNE 2$ ;NOT YET RTS PC ;DONE ; .END