.TITLE MG06.. GENERAL PROCEDURES IN MACRO ; .IDENT /MG06../ ; ; .PAGE .SBTTL GENERAL PURPOSE REGISTER UTILITY SUBROUTINES R$ GROUP .SBTTL . BIT SETTING ROUTINE ; ; ; ; R$BITSET:: ; ; ENTRY CONDITIONS ; R1 = BIT POSITION FOR MASK SETTING ; ; EXIT CONDITIONS ; R1 = BIT MASK IF STATUS = SUCCESS ; ; CHECK BIT POSITION R0 LEGAL ; TST R1 ;IS BIT POSITION LESS THAN ZERO BLE 10$ ;J IF ILLEGAL POSITION CMP R1,#16. ;IS VALUE TOO BIG TO FIT IN 16 BITS BGE 10$ ;J IF ILLEGAL POSITION MOV R0,-(SP) ;SAVE WORK REGISTER ON STACK MOV #1,R0 ;ASSUME BIT ZERO TO SET ASH R1,R0 ;SHIFT TO CORRECT MASK POSITION MOV R0,R1 ;HOLD MASK MOV (SP)+,R0 ;RESTORE WORK REGISTER EXITSUCCESS ;BACK TO CALLING PROGRAM ; 10$: EXITERROR ;BACK TO CALLING PROGRAM ; ; ; .END ; ;