Encoding:

POOL16C

010001

enc_dest

enc_rt

enc_rs

1

enc_rs

6

3

3

1

1

2

Format:

MOVEP rd, re, rs, rt

microMIPS

Move a Pair of Registers

Purpose:

Move a Pair of Registers

To copy two GPRs to another two GPRs.

Description:

 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.

Restrictions:

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.

Availability and Compatibility:

This instruction has been recoded for Release 6.

Operation:

GPR[rd] = GPR[rs]; GPR[re] = GPR[rt]

Exceptions:

None