ALWAYS 02SEP0 FILL .MCALL DIR$ .PSECT ;************************************************************************ ;* * ;* MODULE: FILL * ;* * ;* FUNCTION: FILL AN AREA OF VIRTUAL MEMORY WITH A VALUE * ;* * ;* INPUT PARAMETERS: * ;* * ;* R0 POINTS TO THE COMMAND LINE IN PROCESS * ;* * ;* OUTPUT PARAMETERS: * ;* * ;* R0 POINTS JUST BEYOND COMMAND LINE * ;* * ;* DESTROYS: R1,R2,R3 * ;* * ;* AUTHOR: KEVIN ANGLEY * ;* * ;* DATE: 27-AUG-80 * ;* * ;************************************************************************ FILL:: CALL FROMTH ; GET FROM ADDR IN R1, THRU ADDR IN R2 ; AND COUNT IN R3 BCS 250$ ; CS: NOT SUCCESSFUL, TAKE ERROR EXIT MOV R1,R2 ; SAVE FROM ADDRESS IN R2 - DON'T NEED THRU GETKEY WITH ; COLLECT "WITH" KEYWORD BEQ 10$ ; EQ: YES - GO PROCESS OUTPUT MSK ; OUTPUT "MISSING KEYWORD" BR 250$ ; AND TAKE ERROR EXIT 10$: CALL GETHX2 ; GET TWO HEX DIGITS ; VALUE NOW IN LOW BYTE OF R1 BCS 250$ ; CS: TAKE ERROR EXIT 30$: MOVB R1,MEMORY(R2) ; PLACE THE VALUE IN VIRTUAL MEMORY INC R2 ; MOVE TO NEXT VIRTUAL MEMORY LOCATION SOB R3,30$ ; USE COUNT TO COUNT LOCATIONS TO FILL 250$: ; ERROR EXIT 255$: ; NORMAL EXIT CALL$R EXTRA ; PURGE COMMAND LINE OF SUPERFLUOUS JUNK ; AND RETURN FROM THERE .END