; ; SUBROUTINE LNFILL.MAC ; TO FILL IN BLANKS IN A FORTRAN ARRAY. ; A STARTING ADDRESS, LENGTH AND (OPTIONALLY) A CHARACTER ARE SPECIFIED. ; FORTRAN CALL: ; CALL LNFILL(LEN,ARRAY[,CHAR]) ; WHERE: ; LEN=NO. OF BLANKS TO FILL IN ; ARRAY=NAME OF FIRST POSITION TO FILL ; FIRST BYTE OF CHAR=ASCII CHARACTER TO FILL (DEFAULT=BLANK) .TITLE LNFILL .GLOBL LNFILL .CSECT LNFILL: MOV @2(R5),R0 ;COUNT IN R0 MOV 4(R5),R1 ;STARTING ADDRESS IN R1 MOV #40,R2 ;BLANK CHAR IN R2 CMPB #2,(R5) ;SEE HOW MANY ARGS BGE 6$ ;TWO OR LESS, BRANCH MOVB @6(R5),R2 ;GET SPECIFIED CHAR 6$: TST R0 ;IS COUNT ZERO? BEQ 1$ ;IF SO, RETURN 2$: MOVB R2,(R1)+ ;MOVE IN BLANK SOB R0,2$ ;DO OVER TILL 1$: RTS PC ;DONE .END