Japanese
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 details
Transfers Imm data unconditionally to the RAM or register specified by [destination].
Imm data is signed 25-bit data.

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

instruction code

31 29282726 24                        
1 0 x x x x 0 imm data

bit data [d] Choices
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
[d] Area selected by selection; Imm data.

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


List | ▲ Back | Next ▼ | Assembler

MVI Imm,[d],Z

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

Operation details
When the Z flag is 1, Imm data is transferred to the RAM or register specified by [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 (jump destination address at the end of the subroutine) to TOP and transferring the Imm data (subroutine start address) to the PC (see instruction code * * ). Please note that in this case, the address next to this instruction will be executed twice, once before and after the subroutine execution.

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

instruction code

31 29282726       18                  
1 0 x x x x 1 1 0 0 0 0 1 imm data

bit data [d] Choices
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
[d] Area selected by selection; Imm data.

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


List | ▲ Back | Next ▼ | Assembler

MVI Imm,[d],NZ

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

Operation details
When the Z flag is 0, Imm data is transferred to the RAM or register specified by [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 (jump destination address at the end of the subroutine) to TOP and transferring the Imm data (subroutine start address) to the PC (see instruction code * * ). Please note that in this case, the address next to this instruction will be executed twice, once before and after the subroutine execution.

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

instruction code

31 29282726       18                  
1 0 x x x x 1 0 0 0 0 0 1 imm data

bit data [d] Choices
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
[d] Area selected by selection; Imm data.

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


List | ▲ Back | Next ▼ | Assembler

MVI Imm,[d],S

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

Operation details
When the S flag is 1, Imm data is transferred to the RAM or register specified by [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 (jump destination address at the end of the subroutine) to TOP and transferring the Imm data (subroutine start address) to the PC (see instruction code * * ). Please note that in this case, the address next to this instruction will be executed twice, once before and after the subroutine execution.

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

instruction code

31 29282726       18                  
1 0 x x x x 1 1 0 0 0 1 0 imm data

bit data [d] Choices
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
[d] Area selected by selection; Imm data.

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


List | ▲ Back | Next ▼ | Assembler

MVI Imm,[d],NS

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

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

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

instruction code

31 29282726       18                  
1 0 x x x x 1 0 0 0 0 1 0 imm data

bit data [d] Choices
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
[d] Area selected by selection; Imm data.

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


List | ▲ Back | Next ▼ | Assembler

MVI Imm,[d],C

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

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

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

instruction code

31 29282726       18                  
1 0 x x x x 1 1 0 0 1 0 0 imm data

bit data [d] Choices
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
[d] Area selected by selection; Imm data.

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


List | ▲ Back | Next ▼ | Assembler

MVI Imm,[d],NC

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

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

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

instruction code

31 29282726       18                  
1 0 x x x x 1 0 0 0 1 0 0 imm data

bit data [d] Choices
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
[d] Area selected by selection; Imm data.

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


List | ▲ Back | Next ▼ | Assembler

MVI Imm,[d],T0

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

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

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

instruction code

31 29282726       18                  
1 0 x x x x 1 1 0 1 0 0 0 imm data

bit data [d] Choices
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
[d] Area selected by selection; Imm data.

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


List | ▲ Back | Next ▼ | Assembler

MVI Imm,[d],NT0

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

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

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

instruction code

31 29282726       18                  
1 0 x x x x 1 0 0 1 0 0 0 imm data

bit data [d] Choices
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
[d] Area selected by selection; Imm data.

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


List | ▲ Back | Next ▼ | Assembler

MVI Imm,[d],ZS

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

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

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

instruction code

31 29282726       18                  
1 0 x x x x 1 1 0 0 0 1 1 imm data

bit data [d] Choices
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
[d] Area selected by selection; Imm data.

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


List | ▲ Back | Next ▼ | Assembler

MVI Imm,[d],NZS

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

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

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

instruction code

31 29282726       18                  
1 0 x x x x 1 0 0 0 0 1 1 imm data

bit data [d] Choices
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
[d] Area selected by selection; Imm data.

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


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