HARDWARE ManualSCU User's Manual
BackForward
SCU User's Manual / Chapter 4 DSP Control

Load Immediate instruction



List | ▲ Back | Next ▼ | Assembler

MVI Imm, [d]

Unconditional transfer (Imm → [destination])

Operation content
Imm data is unconditionally transferred to the RAM or register specified by [destination].
Imm data is signed 25bit data.

Descriptive formula
label: MVI Imm, [Destination]
Destination = MC0 ~ MC3 * , RX, PL, RA0, WA0, LOP, PC

Instruction code

31 29 28 27 26 twenty four 0
1 0 x x x x 0 Imm data

Bit data [d] Selected limbs
bit29 bit29 bit29 bit29
0 0 0 0 DATA RAM0, CT0 ++
0 0 0 1 DATA RAM1, CT1 ++
0 0 1 0 DATA RAM2, CT2 ++
0 0 1 1 DATA RAM3, CT3 ++
0 1 0 0 [RX]
0 1 0 1 [PL]
0 1 1 0 [RA0]
0 1 1 1 [WA0]
1 0 0 0 unused
1 0 0 1 unused
1 0 1 0 [LOP]
1 0 1 1 unused
1 1 0 0 [PC] → [TOP], [PC]
1 1 0 1 unused
1 1 1 0 unused
1 1 1 1 unused

flag
The area selected by the [d] choice; Imm data.

remarks
* [MCx (x = 0 to 3)] specifies DATA RAMx (x = 0 to 3) and increments [CTx (x = 0 to 3)] after transfer.


List | ▲ Back | Next ▼ | Assembler

MVI Imm, [d], Z

Conditional transfer (Z = 1 then Imm → [destination])

Operation content
When the Z flag is 1, Imm data is transferred to the RAM or register specified in [destination].
Imm data is signed 19-bit data.
It can also be used to execute a subroutine program by saving the value of the PC (subroutine destination address at the end of the subroutine) to TOP and transferring the Imm data (subroutine start address) to the PC (see instruction code *). * ). Note that in this case, the next address of this instruction will be executed twice, before and after the subroutine is executed.

Descriptive formula
label: MVI Imm, [Destination], Z
Destination = MC0 ~ MC3 * , RX, PL, RA0, WA0, LOP, PC

Instruction code

31 29 28 27 26 18 0
1 0 x x x x 1 1 0 0 0 0 1 Imm data

Bit data [d] Selected limbs
bit29 bit29 bit29 bit29
0 0 0 0 DATA RAM0, CT0 ++
0 0 0 1 DATA RAM1, CT1 ++
0 0 1 0 DATA RAM2, CT2 ++
0 0 1 1 DATA RAM3, CT3 ++
0 1 0 0 [RX]
0 1 0 1 [PL]
0 1 1 0 [RA0]
0 1 1 1 [WA0]
1 0 0 0 unused
1 0 0 1 unused
1 0 1 0 [LOP]
1 0 1 1 unused
1 1 0 0 [PC] → [TOP], [PC]
1 1 0 1 unused
1 1 1 0 unused
1 1 1 1 unused

flag
The area selected by the [d] choice; Imm data.

remarks
* [MCx (x = 0 to 3)] specifies DATA RAMx (x = 0 to 3) and increments [CTx (x = 0 to 3)] after transfer.


List | ▲ Back | Next ▼ | Assembler

MVI Imm, [d], NZ

Conditional transfer (Z = 0 then Imm → [destination])

Operation content
When the Z flag is 0, Imm data is transferred to the RAM or register specified in [destination].
Imm data is signed 19-bit data.
It can also be used to execute a subroutine program by saving the value of the PC (subroutine destination address at the end of the subroutine) to TOP and transferring the Imm data (subroutine start address) to the PC (see instruction code *). * ). Note that in this case, the next address of this instruction will be executed twice, before and after the subroutine is executed.

Descriptive formula
label: MVI Imm, [Destination], NZ
Destination = MC0 ~ MC3 * , RX, PL, RA0, WA0, LOP, PC

Instruction code

31 29 28 27 26 18 0
1 0 x x x x 1 0 0 0 0 0 1 Imm data

Bit data [d] Selected limbs
bit29 bit29 bit29 bit29
0 0 0 0 DATA RAM0, CT0 ++
0 0 0 1 DATA RAM1, CT1 ++
0 0 1 0 DATA RAM2, CT2 ++
0 0 1 1 DATA RAM3, CT3 ++
0 1 0 0 [RX]
0 1 0 1 [PL]
0 1 1 0 [RA0]
0 1 1 1 [WA0]
1 0 0 0 unused
1 0 0 1 unused
1 0 1 0 [LOP]
1 0 1 1 unused
1 1 0 0 [PC] → [TOP], [PC]
1 1 0 1 unused
1 1 1 0 unused
1 1 1 1 unused

flag
The area selected by the [d] choice; Imm data.

remarks
* [MCx (x = 0 to 3)] specifies DATA RAMx (x = 0 to 3) and increments [CTx (x = 0 to 3)] after transfer.


List | ▲ Back | Next ▼ | Assembler

MVI Imm, [d], S

Conditional transfer (S = 1 then Imm → [destination])

Operation content
When the S flag is 1, Imm data is transferred to the RAM or register specified in [destination].
Imm data is signed 19-bit data.
It can also be used to execute a subroutine program by saving the value of the PC (subroutine destination address at the end of the subroutine) to TOP and transferring the Imm data (subroutine start address) to the PC (see instruction code *). * ). Note that in this case, the next address of this instruction will be executed twice, before and after the subroutine is executed.

Descriptive formula
label: MVI Imm, [Destination], S
Destination = MC0 ~ MC3 * , RX, PL, RA0, WA0, LOP, PC

Instruction code

31 29 28 27 26 18 0
1 0 x x x x 1 1 0 0 0 1 0 Imm data

Bit data [d] Selected limbs
bit29 bit29 bit29 bit29
0 0 0 0 DATA RAM0, CT0 ++
0 0 0 1 DATA RAM1, CT1 ++
0 0 1 0 DATA RAM2, CT2 ++
0 0 1 1 DATA RAM3, CT3 ++
0 1 0 0 [RX]
0 1 0 1 [PL]
0 1 1 0 [RA0]
0 1 1 1 [WA0]
1 0 0 0 unused
1 0 0 1 unused
1 0 1 0 [LOP]
1 0 1 1 unused
1 1 0 0 [PC] → [TOP], [PC]
1 1 0 1 unused
1 1 1 0 unused
1 1 1 1 unused

flag
The area selected by the [d] choice; Imm data.

remarks
* [MCx (x = 0 to 3)] specifies DATA RAMx (x = 0 to 3) and increments [CTx (x = 0 to 3)] after transfer.


List | ▲ Back | Next ▼ | Assembler

MVI Imm, [d], NS

Conditional transfer (S = 0 then Imm → [destination])

Operation content
When the S flag is 0, Imm data is transferred to the RAM or register specified in [destination].
Imm data is signed 19-bit data.
It can also be used to execute a subroutine program by saving the value of the PC (subroutine destination address at the end of the subroutine) to TOP and transferring the Imm data (subroutine start address) to the PC (see instruction code *). * ). Note that in this case, the next address of this instruction will be executed twice, before and after the subroutine is executed.

Descriptive formula
label: MVI Imm, [Destination], NS
Destination = MC0 ~ MC3 * , RX, PL, RA0, WA0, LOP, PC

Instruction code

31 29 28 27 26 18 0
1 0 x x x x 1 0 0 0 0 1 0 Imm data

Bit data [d] Selected limbs
bit29 bit29 bit29 bit29
0 0 0 0 DATA RAM0, CT0 ++
0 0 0 1 DATA RAM1, CT1 ++
0 0 1 0 DATA RAM2, CT2 ++
0 0 1 1 DATA RAM3, CT3 ++
0 1 0 0 [RX]
0 1 0 1 [PL]
0 1 1 0 [RA0]
0 1 1 1 [WA0]
1 0 0 0 unused
1 0 0 1 unused
1 0 1 0 [LOP]
1 0 1 1 unused
1 1 0 0 [PC] → [TOP], [PC]
1 1 0 1 unused
1 1 1 0 unused
1 1 1 1 unused

flag
The area selected by the [d] choice; Imm data.

remarks
* [MCx (x = 0 to 3)] specifies DATA RAMx (x = 0 to 3) and increments [CTx (x = 0 to 3)] after transfer.


List | ▲ Back | Next ▼ | Assembler

MVI Imm, [d], C

Conditional transfer (C = 1 then Imm → [destination])

Operation content
When the C flag is 1, Imm data is transferred to the RAM or register specified in [destination].
Imm data is signed 19-bit data.
It can also be used to execute a subroutine program by saving the value of the PC (subroutine destination address at the end of the subroutine) to TOP and transferring the Imm data (subroutine start address) to the PC (see instruction code *). * ). Note that in this case, the next address of this instruction will be executed twice, before and after the subroutine is executed.

Descriptive formula
label: MVI Imm, [Destination], C
Destination = MC0 ~ MC3 * , RX, PL, RA0, WA0, LOP, PC

Instruction code

31 29 28 27 26 18 0
1 0 x x x x 1 1 0 0 1 0 0 Imm data

Bit data [d] Selected limbs
bit29 bit29 bit29 bit29
0 0 0 0 DATA RAM0, CT0 ++
0 0 0 1 DATA RAM1, CT1 ++
0 0 1 0 DATA RAM2, CT2 ++
0 0 1 1 DATA RAM3, CT3 ++
0 1 0 0 [RX]
0 1 0 1 [PL]
0 1 1 0 [RA0]
0 1 1 1 [WA0]
1 0 0 0 unused
1 0 0 1 unused
1 0 1 0 [LOP]
1 0 1 1 unused
1 1 0 0 [PC] → [TOP], [PC]
1 1 0 1 unused
1 1 1 0 unused
1 1 1 1 unused

flag
The area selected by the [d] choice; Imm data.

remarks
* [MCx (x = 0 to 3)] specifies DATA RAMx (x = 0 to 3) and increments [CTx (x = 0 to 3)] after transfer.


List | ▲ Back | Next ▼ | Assembler

MVI Imm, [d], NC

Conditional transfer (C = 0 then Imm → [destination])

Operation content
When the C flag is 0, Imm data is transferred to the RAM or register specified in [destination].
Imm data is signed 19-bit data.
It can also be used to execute a subroutine program by saving the value of the PC (subroutine destination address at the end of the subroutine) to TOP and transferring the Imm data (subroutine start address) to the PC (see instruction code *). * ). Note that in this case, the next address of this instruction will be executed twice, before and after the subroutine is executed.

Descriptive formula
label: MVI Imm, [Destination], NC
Destination = MC0 ~ MC3 * , RX, PL, RA0, WA0, LOP, PC

Instruction code

31 29 28 27 26 18 0
1 0 x x x x 1 0 0 0 1 0 0 Imm data

Bit data [d] Selected limbs
bit29 bit29 bit29 bit29
0 0 0 0 DATA RAM0, CT0 ++
0 0 0 1 DATA RAM1, CT1 ++
0 0 1 0 DATA RAM2, CT2 ++
0 0 1 1 DATA RAM3, CT3 ++
0 1 0 0 [RX]
0 1 0 1 [PL]
0 1 1 0 [RA0]
0 1 1 1 [WA0]
1 0 0 0 unused
1 0 0 1 unused
1 0 1 0 [LOP]
1 0 1 1 unused
1 1 0 0 [PC] → [TOP], [PC]
1 1 0 1 unused
1 1 1 0 unused
1 1 1 1 unused

flag
The area selected by the [d] choice; Imm data.

remarks
* [MCx (x = 0 to 3)] specifies DATA RAMx (x = 0 to 3) and increments [CTx (x = 0 to 3)] after transfer.


List | ▲ Back | Next ▼ | Assembler

MVI Imm, [d], T0

Conditional transfer (T0 = 1 then Imm → [destination])

Operation content
When the T0 flag is 1, Imm data is transferred to the RAM or register specified in [destination].
Imm data is signed 19-bit data.
It can also be used to execute a subroutine program by saving the value of the PC (subroutine destination address at the end of the subroutine) to TOP and transferring the Imm data (subroutine start address) to the PC (see instruction code *). * ). Note that in this case, the next address of this instruction will be executed twice, before and after the subroutine is executed.

Descriptive formula
label: MVI Imm, [Destination], T0
Destination = MC0 ~ MC3 * , RX, PL, RA0, WA0, LOP, PC

Instruction code

31 29 28 27 26 18 0
1 0 x x x x 1 1 0 1 0 0 0 Imm data

Bit data [d] Selected limbs
bit29 bit29 bit29 bit29
0 0 0 0 DATA RAM0, CT0 ++
0 0 0 1 DATA RAM1, CT1 ++
0 0 1 0 DATA RAM2, CT2 ++
0 0 1 1 DATA RAM3, CT3 ++
0 1 0 0 [RX]
0 1 0 1 [PL]
0 1 1 0 [RA0]
0 1 1 1 [WA0]
1 0 0 0 unused
1 0 0 1 unused
1 0 1 0 [LOP]
1 0 1 1 unused
1 1 0 0 [PC] → [TOP], [PC]
1 1 0 1 unused
1 1 1 0 unused
1 1 1 1 unused

flag
The area selected by the [d] choice; Imm data.

remarks
* [MCx (x = 0 to 3)] specifies DATA RAMx (x = 0 to 3) and increments [CTx (x = 0 to 3)] after transfer.


List | ▲ Back | Next ▼ | Assembler

MVI Imm, [d], NT0

Conditional transfer (T0 = 0 then Imm → [destination])

Operation content
When the T0 flag is 0, Imm data is transferred to the RAM or register specified in [destination].
Imm data is signed 19-bit data.
It can also be used to execute a subroutine program by saving the value of the PC (subroutine destination address at the end of the subroutine) to TOP and transferring the Imm data (subroutine start address) to the PC (see instruction code *). * ). Note that in this case, the next address of this instruction will be executed twice, before and after the subroutine is executed.

Descriptive formula
label: MVI Imm, [Destination], NT0
Destination = MC0 ~ MC3 * , RX, PL, RA0, WA0, LOP, PC

Instruction code

31 29 28 27 26 18 0
1 0 x x x x 1 0 0 1 0 0 0 Imm data

Bit data [d] Selected limbs
bit29 bit29 bit29 bit29
0 0 0 0 DATA RAM0, CT0 ++
0 0 0 1 DATA RAM1, CT1 ++
0 0 1 0 DATA RAM2, CT2 ++
0 0 1 1 DATA RAM3, CT3 ++
0 1 0 0 [RX]
0 1 0 1 [PL]
0 1 1 0 [RA0]
0 1 1 1 [WA0]
1 0 0 0 unused
1 0 0 1 unused
1 0 1 0 [LOP]
1 0 1 1 unused
1 1 0 0 [PC] → [TOP], [PC]
1 1 0 1 unused
1 1 1 0 unused
1 1 1 1 unused

flag
The area selected by the [d] choice; Imm data.

remarks
* [MCx (x = 0 to 3)] specifies DATA RAMx (x = 0 to 3) and increments [CTx (x = 0 to 3)] after transfer.


List | ▲ Back | Next ▼ | Assembler

MVI Imm, [d], ZS

Conditional transfer (Z = 1 or S = 1 then Imm → [destination])

Operation content
When the Z flag or S flag is 1, Imm data is transferred to the RAM or register specified in [destination].
Imm data is signed 19-bit data.
It can also be used to execute a subroutine program by saving the value of the PC (subroutine destination address at the end of the subroutine) to TOP and transferring the Imm data (subroutine start address) to the PC (see instruction code *). * ). Note that in this case, the next address of this instruction will be executed twice, before and after the subroutine is executed.

Descriptive formula
label: MVI Imm, [Destination], ZS
Destination = MC0 ~ MC3 * , RX, PL, RA0, WA0, LOP, PC

Instruction code

31 29 28 27 26 18 0
1 0 x x x x 1 1 0 0 0 1 1 Imm data

Bit data [d] Selected limbs
bit29 bit29 bit29 bit29
0 0 0 0 DATA RAM0, CT0 ++
0 0 0 1 DATA RAM1, CT1 ++
0 0 1 0 DATA RAM2, CT2 ++
0 0 1 1 DATA RAM3, CT3 ++
0 1 0 0 [RX]
0 1 0 1 [PL]
0 1 1 0 [RA0]
0 1 1 1 [WA0]
1 0 0 0 unused
1 0 0 1 unused
1 0 1 0 [LOP]
1 0 1 1 unused
1 1 0 0 [PC] → [TOP], [PC]
1 1 0 1 unused
1 1 1 0 unused
1 1 1 1 unused

flag
The area selected by the [d] choice; Imm data.

remarks
* [MCx (x = 0 to 3)] specifies DATA RAMx (x = 0 to 3) and increments [CTx (x = 0 to 3)] after transfer.


List | ▲ Back | Next ▼ | Assembler

MVI Imm, [d], NZS

Conditional transfer (Z = S = 0 then Imm → [destination])

Operation content
When both the Z flag and S flag are 0, Imm data is transferred to the RAM or register specified in [destination].
Imm data is signed 19-bit data.
It can also be used to execute a subroutine program by saving the value of the PC (subroutine destination address at the end of the subroutine) to TOP and transferring the Imm data (subroutine start address) to the PC (see instruction code *). * ). Note that in this case, the next address of this instruction will be executed twice, before and after the subroutine is executed.

Descriptive formula
label: MVI Imm, [Destination], NZS
Destination = MC0 ~ MC3 * , RX, PL, RA0, WA0, LOP, PC

Instruction code

31 29 28 27 26 18 0
1 0 x x x x 1 0 0 0 0 1 1 Imm data

Bit data [d] Selected limbs
bit29 bit29 bit29 bit29
0 0 0 0 DATA RAM0, CT0 ++
0 0 0 1 DATA RAM1, CT1 ++
0 0 1 0 DATA RAM2, CT2 ++
0 0 1 1 DATA RAM3, CT3 ++
0 1 0 0 [RX]
0 1 0 1 [PL]
0 1 1 0 [RA0]
0 1 1 1 [WA0]
1 0 0 0 unused
1 0 0 1 unused
1 0 1 0 [LOP]
1 0 1 1 unused
1 1 0 0 [PC] → [TOP], [PC]
1 1 0 1 unused
1 1 1 0 unused
1 1 1 1 unused

flag
The area selected by the [d] choice; Imm data.

remarks
* [MCx (x = 0 to 3)] specifies DATA RAMx (x = 0 to 3) and increments [CTx (x = 0 to 3)] after transfer.


BackForward
HARDWARE ManualSCU User's Manual
Copyright SEGA ENTERPRISES, LTD., 1997