ASMB,L,R,B
      NAM FILL,7
      ENT FILL
      EXT .ENTR 
****************************************************            7905            
*                                                  *            7905            
*        REV         4-21-75                       *            7905            
*                                                  *            7905            
****************************************************            7905            
* FILL COMMERCIAL SUBROUTINE PACKAGE
* CALL FILL(JCARD,J,JLAST,NCH)
* THE WORDS JCARD(J) THROUGH JCARD(JLAST) 
* ARE FILLED WITH THE CHARACTER AT LOCATION NCH.
* 
* JCARD  =ADDRESS OF INTEGER ARRAY
* JCARD+1=ADDRESS OF J
* JCARD+2=ADDRESS OF JLAST
* JCARD+3=ADDRESS OF NCH
JCARD BSS 4 
FILL  NOP 
      JSB .ENTR     TRANSFER
      DEF JCARD     PARAMETERS
      CCA          GET MINUS ONE IN (A) 
      ADA JCARD+1,I  ACCUM= J-1 
      ADA JCARD     CREATE ADDRESS OF JCARD(J)
      STA JCARD 
* COMPUTE FIELD WIDTH 
      LDA JCARD+1,I GET VALUE OF J
      CMA,INA       AND MAKE MINUS (-J) 
      ADA JCARD+2,I JLAST-J+1 
      INA           ACCUM=FIELD WIDTH 
      SZA,RSS 
      JMP NEG1  0---NEGATIVE OR 
      SSA     NOT0-- ZERO-- 
NEG1  CLA,INA NOT0-- MAKE FIELD WIDTH = ONE.
      CMA,INA   0--- AND
      STA 1          STORE -FIELD WIDTH IN ACCUM B
* JNOW=J
      LDA JCARD+3,I  GET FILL CHARACTER-NCH 
* JCARD(JNOW)=NCH 
MORE  STA JCARD,I   STORE FILL CHARACTER IN JCARD(JNOW) 
* SEE IF JNOW IS LESS THAN JLAST. 
* IF YES, JNOW=JNOW+1 AND GO BACK FOR MORE. 
* IF NO, EXIT.
      ISZ JCARD      INCREASE EFFECTIVE ADDRESS AND DECREASE FW.
      INB,SZB        CHECK IF I IS LESS THAN JLAST
      JMP MORE     NO, GO BACK FOR MORE.
      JMP FILL,I    YES,EXIT....... 
      END 
                                                                                                                                                                                                                                                  