|
MSA 011110 |
0000111110 |
rs |
cd |
ELM 011001 |
|
6 |
10 |
5 |
5 |
6 |
CTCMSA |
GPR Copy to MSA Control Register | |
CTCMSA cd,rs |
MSA |
GPR Copy to MSA Control Register |
GPR Copy to MSA Control Register
GPR value copied to MSA control register.
cd = rs
The content of the least significant 31 bits of GPR rs is copied to MSA control register cd.
Writing to the MSA Control and Status Register MSACSR causes the appropriate e xception if any Cause bit and its corresponding Enable bit are both set. The register is written before the exception occurs and the EPC register contains the address of the CTCMSA instruction.
The write attempt is IGNORED if cd specifies a reserved register or a register that does not exist or is not writable.
if cd = 1 then
MSACSR = GPR[rs]31..0
if MSACSRCause and (1 || MSACSREnables) != 0 then
SignalException(MSAFloatingPointException)
endif
elseif MSAIRWRP = 1 then
if cd = 3 then
if not IsCoprocessorEnabled(0) then
SignalException(CoprocessorUnusableException, 0)
endif
MSASave = GPR[rs]31..0
elseif cd = 4 then
if not IsCoprocessorEnabled(0) then
SignalException(CoprocessorUnusableException, 0)
endif
MSAModify = GPR[rs]31..0
elseif cd = 6 then
if not IsCoprocessorEnabled(0) then
SignalException(CoprocessorUnusableException, 0)
endif
MSAMap = GPR[rs]31..0
elseif cd = 7 then
if not IsCoprocessorEnabled(0) then
SignalException(CoprocessorUnusableException, 0)
endif
MSAUnmap = GPR[rs]31..0
endif
endif
Reserved Instruction Exception, MSA Disabled Exception, MSA Floating Point Exception. Coprocessor 0 Unusable
Exception.