Japanese
★ HARDWARE Manual ★ SCU User's Manual
▲ Back | Forward ▼
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 | | 29 | 28 | 27 | 26 | | 24 | | | | | | | | |
| | | | | | | | | | | | | | | 0 |
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 | | 29 | 28 | 27 | 26 | | | | | | | | 18 | | |
| | | | | | | | | | | | | | | 0 |
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 | | 29 | 28 | 27 | 26 | | | | | | | | 18 | | |
| | | | | | | | | | | | | | | 0 |
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 | | 29 | 28 | 27 | 26 | | | | | | | | 18 | | |
| | | | | | | | | | | | | | | 0 |
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 | | 29 | 28 | 27 | 26 | | | | | | | | 18 | | |
| | | | | | | | | | | | | | | 0 |
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 | | 29 | 28 | 27 | 26 | | | | | | | | 18 | | |
| | | | | | | | | | | | | | | 0 |
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 | | 29 | 28 | 27 | 26 | | | | | | | | 18 | | |
| | | | | | | | | | | | | | | 0 |
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 | | 29 | 28 | 27 | 26 | | | | | | | | 18 | | |
| | | | | | | | | | | | | | | 0 |
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 | | 29 | 28 | 27 | 26 | | | | | | | | 18 | | |
| | | | | | | | | | | | | | | 0 |
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 | | 29 | 28 | 27 | 26 | | | | | | | | 18 | | |
| | | | | | | | | | | | | | | 0 |
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 | | 29 | 28 | 27 | 26 | | | | | | | | 18 | | |
| | | | | | | | | | | | | | | 0 |
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.
▲ Back | Forward ▼
★ HARDWARE Manual ★ SCU User's Manual
Copyright SEGA ENTERPRISES, LTD., 1997