POOL16C 010001 |
enc_dest |
enc_rt |
enc_rs |
1 |
enc_rs |
6 |
3 |
3 |
1 |
1 |
2 |
MOVEP rd, re, rs, rt |
microMIPS |
Move a Pair of Registers |
Move a Pair of Registers
To copy two GPRs to another two GPRs.
GPR[rd] = GPR[rs]; GPR[re] = GPR[rt];
The contents of GPR rs are placed into GPR rd. The contents of GPR rt are placed into GPR re.
The register numbers rd and re are determined by the encoded enc_dest field:
Table 5.13 Encoded and Decoded Values of the Enc_Dest Field
Encoded Value of Instr9..7 (Decimal) |
Encoded Value of Instr9..7 (Hex) |
Decoded Value of rd (Decimal) |
Decoded Value of re (Decimal) |
0 |
0x0 |
5 |
6 |
1 |
0x1 |
5 |
7 |
2 |
0x2 |
6 |
7 |
3 |
0x3 |
4 |
21 |
4 |
0x4 |
4 |
22 |
5 |
0x5 |
4 |
5 |
6 |
0x6 |
4 |
6 |
7 |
0x7 |
4 |
7 |
The register numbers rs and rt are determined by the encoded enc_rs and enc_rt fields:
Table 5.14 Encoded and Decoded Values of the Enc_rs and Enc_rt Fields
Encoded Value of Instr6..4 (or Instr3..1) (Decimal) |
Encoded Value of Instr6..4 (or Instr3..1) (Hex) |
Decoded Value of rt (or rs) (Decimal) |
Symbolic Name (From ArchDefs.h) |
0 |
0x0 |
0 |
zero |
1 |
0x1 |
17 |
s1 |
2 |
0x2 |
2 |
v0 |
3 |
0x3 |
3 |
v1 |
4 |
0x4 |
16 |
s0 |
5 |
0x5 |
18 |
s2 |
6 |
0x6 |
19 |
s3 |
7 |
0x7 |
20 |
s4 |
It is implementation-specific whether interrupts are disabled during the sequence of operations generated by this instruction.
The destination register pair field, enc_dest, can only specify the register pairs defined in Table 5.13.
The source register fields enc_rs and enc_rt can only specify GPRs 0,2-3,16-20.
This instruction has been recoded for Release 6.
GPR[rd] = GPR[rs]; GPR[re] = GPR[rt]
None