	.TITLE	UICSET - CHANGE USER UIC

	.LIBRARY	"SYS$LIBRARY:LIB.MLB"

	$PHDDEF

UIC:	.BLKL	1

	.ENTRY	UICSET,^M<R2,R3>

; HERE I GO

	MOVL	@4(AP),UIC		;GET USER UIC
	$CMKRNL_S	10$		;GO SET IT
	RET				; AND RETURN
10$:	.WORD	^M<R0,R1>		;REGS TO SAVE
	MOVL	@#CTL$GL_PHD,R0		;GET ADDR OF PHD
	BBC	#PRV$V_LOG_IO,PHD$Q_PRIVMSK(R0),20$	;XFER IF NO PRIVS
	MOVL	@#SCH$GL_CURPCB,R0	;GET ADDR OF CURRENT PCB
	MOVZWL	PCB$L_UIC+2(R0),R1	;GET GROUP
	CMPL	R1,#8			;SYSTEM'S GROUP?
	BLEQ	15$			;YES, NO CHECK NECESSARY
	CMPW	UIC+2,#8		;TRYING TO CHANGE TO SYSTEM UIC?
	BLEQ	20$			;YES, NOT ALLOWD
15$:	MOVL	UIC,PCB$L_UIC(R0)	;SET NEW UIC
20$:	RET				;AND RETURN

	.END
