.TITLE BYTSET SET BYTE ARRAY TO CONSTANT .SBTTL GENERAL INFORMATION .IDENT /01/ .LIST ME ;+ ; AUTHOR: KERRY WYCKOFF ;- ;+ ; CHANGES: NONE ;- ;+ ; MODULE FUNCTION: ; ; THIS ROUTINE SETS A BYTE ARRAY OF SPECIFIED ; LENGTH TO A SPECIFIED CONSTANT. ; ;- ;+ ; ASSEMBLY INSTRUCTIONS: ; ; MAC BYTSET=BYTSET ; ;- ;+ ; CALL FORMAT: ; ; CALL BYTSET(LENGTH,CONSTANT,ARRAY) ; ;- .PAGE .SBTTL SYMBOL, MACRO, DATA DEFINITIONS ;+ ; LOCAL SYMBOL DEFINITIONS: NONE ;- ;+ ; LOCAL MACROS: NONE ;- ;+ ; LOCAL DATA BLOCKS: NONE ;- .PAGE .SBTTL FUNCTION DETAILS ;+ ; FUNCTION DETAILS: ; ; ; INPUTS: ; ; R5 CONTAINS THE ADDRESS OF THE PARAMETER LIST ; 1) NUMBER OF PARAMETERS ; 2) WORD: ADDRESS OF ARRAY LENGTH ; 3) BYTE: ADDRESS OF CONSTANT ; 4) BYTE: ADDRESS OF ARRAY ; ; OUTPUTS: NONE ; ; SIDE EFFECTS: ; ; R5 HAS BEEN ALTERED TO INCREASE SPEED ; ;- .PAGE .SBTTL CODE SECTION .PSECT W11COD .ENABL LSB BYTSET:: TST (R5)+ ; BUMP R5 MOV @(R5)+,R2 ; R2=#BYTES TO SET BLE 99$ ; IF LE 0, RETURN MOVB @(R5)+,R1 ; R1=CONSTANT MOV (R5),R3 ; R3=ADDRESS OF ARRAY 1$: MOVB R1,(R3)+ ; SET A BYTE SOB R2,1$ ; LOOP UNTIL DONE 99$: RTS PC ; RETURN .END