.TITLE FILL .IDENT /V01/ .SBTTL DESCRIPTION ; ; ; COMPONENT: FILL ; ; DATE: 02-AUG-79 ; ; AUTHOR: GR JOHNSON ; BATTELLE NORTHWEST ; P O BOX 999 ; RICHLAND WA 99352 ; ; SOURCE: MACRO-11 ; ; CALLER: FORTRAN IV-PLUS ; ; CALLING SEQUENCE: ; ; CALL FILL(STRING,ILEN) ; ; STRING = VARIABLE OR ARRAY CONTAINING STRING TO BE PADDED. ; ; ILEN = INTEGER ARGUMENT SPECIFYING THE LENGTH OF THE ; PADDED STRING. ; ; ; DESCRIPTION: ; ; "FILL" PADS AN ASCII STRING OF LESS THAN ILEN CHARACTERS WITH ; TRAILING SPACES AND TERMINATES THE RESULTING STRING WITH AN ASCII NULL ; CHARACTER. ; ; ; EXAMPLES: ; ; STR1='ABC' ; STR2='ABCDEF' ; ; CALL FILL(STR1,6) ; CALL FILL(STR1,3) ; ; STR1='ABC ' ; STR2='ABC' ; ; .SBTTL ENTRY POINT -- PAD ASCII STRING WITH SPACES ; ; .PSECT ; ; FILL:: ; ; MOV 2(R5),R1 ; ADDRESS OF STRING TO R1 MOV @4(R5),R0 ; ILEN TO R0 ; 2$: TSTB (R1) ; END-OF-STRING? BEQ 4$ ; YES, GO PAD STRING INC R1 ; INCREMENT STRING POINTER SOB R0,2$ ; NO, CONTINUE TO SCAN BR RTN ; STRING ALREADY FILLED ; 4$: MOVB #040,(R1)+ ; MOVE SPACES TO STRING SOB R0,4$ ; UNTIL FILLED TO ILEN ; RTN: CLRB (R1) ; TERMINATE STRING RTS PC ; AND RETURN TO CALLER .END ;