Hi,
I want to set some registers which can be only accessed via MSR instructions.
So where can i find regarding SYSTEM functions for it ?
Thanks,
Marc
MODULE MSRExample;
IMPORT SYSTEM;
PROCEDURE* SetPRIMASK(i: INTEGER);
BEGIN
(* MSR PRIMASK, r11 *)
SYSTEM.EMIT(08BF31088H)
END SetPRIMASK;
PROCEDURE* SetBASEPRI(i: INTEGER);
BEGIN
(* MSR BASEPRI, r11 *)
SYSTEM.EMIT(08BF31188H)
END SetBASEPRI;
PROCEDURE* SetFAULTMASK(i: INTEGER);
BEGIN
(* MSR FAULTMASK, r11 *)
SYSTEM.EMIT(08BF31388H)
END SetFAULTMASK;
PROCEDURE* PRIMASK(): INTEGER;
VAR i: INTEGER;
BEGIN
(* MRS r11, PRIMASK *)
SYSTEM.EMIT(0EFF31088H);
RETURN i
END PRIMASK;
PROCEDURE* BASEPRI(): INTEGER;
VAR i: INTEGER;
BEGIN
(* MRS r11, BASEPRI *)
SYSTEM.EMIT(0EFF31188H)
RETURN i
END BASEPRI;
PROCEDURE* FAULTMASK(): INTEGER;
VAR i: INTEGER;
BEGIN
(* MRS r11, FAULTMASK *)
SYSTEM.EMIT(0EFF31388H)
RETURN i
END FAULTMASK;
END MSRExample.