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.