.PSECT DATA,WRT,NOEXE,5 CTRL_C_AST: .LONG 3 ; 3 arguments .ADDRESS your_ctrl_c_ast_routine ; DCLAST$_ASTADR .LONG 0 ; DCLAST$_ASTPRM .LONG 0 ; DCLAST$_ACMODE .PSECT CODE,NOWRT,EXE,5 .ENTRY some_name,0 $CMEXEC_S ROUTIN=SYS$DCLAST,- ARGLST=CTRL_C_AST RET .END This will queue the AST for execution in EXECUTIVE mode. You will need CMEXEC privilege to test this out. If this works, you'll need to implement a user written system service or install your program with the CMEXEC privilege to allow this to function for the average non-privileged user. VAXman- A Bored Certified VMS Kernel Mode Hacker VAXman(at)TMESIS(dot)COM