mov um
mov — Move User Mask
(
) mov
Format:
qp
r
(
) mov psr.um =
qp
The source operand is copied to the destination register.
Description:
For move from user mask, PSR{5:0} is read, zero-extend, and copied into GR
For move to user mask, PSR{5:0} is written by bits {5:0} of GR
modified if the secure performance monitor bit (PSR.sp) is zero. Otherwise PSR.up is
not modified.
Writing a non-zero value into any other parts of the PSR results in a Reserved
Register/Field fault.
Operation:
if (PR[qp]) {
if (from_form) {
check_target_register(r
GR[r
GR[r
} else {
if (GR[r
if (is_reserved_field(PSR_TYPE, PSR_UM, GR[r
PSR{1:0} = GR[r
if (PSR.sp == 0)
PSR{5:3} = GR[r
}
}
Illegal Operation fault
Interruptions:
Register NaT Consumption fault
All user mask modifications are observed by the next instruction group.
Serialization:
3:186
= psr.um
1
r
2
] = zero_ext(PSR{5:0}, 6);
1
].nat = 0;
1
].nat)
2
register_nat_consumption_fault(0);
reserved_register_field_fault();
]{1:0};
2
PSR{2} = GR[r
]{2};
2
]{5:3};
2
);
1
// unsecured perf monitor
Reserved Register/Field fault
from_form
to_form
.
r
1
. PSR.up can only be
r
2
// to_form
]))
2
Volume 3: Instruction Reference
M36
M35
Need help?
Do you have a question about the ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS MANUAL VOLUME 3 REV 2.3 and is the answer not in the manual?
Questions and answers