★ HARDWARE Manual ★ SCU User's Manual
▲ Back | Forward ▼
SCU User's Manual / Chapter 4 DSP Control Arithmetic instructions
ALU control command
List | ■ | Next ▼ | Assembler NOP
- Operation content
- The ALU instruction part becomes unprocessed.
- Descriptive formula
- label: NOP
- Instruction code
| 31 | | | | | 26 | | | | | | | | | | | | | | | | | | | | | | | | | | 0 |
| 0 | 0 | 0 | 0 | 0 | 0 | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − |
- flag
- It doesn't change.
- remarks
- none.
List | ▲ Back | Next ▼ | Assembler AND
- Operation content
- It takes the logical product of [ACL] and [PL].
- Descriptive formula
- label: AND
- Instruction code
| 31 | | | | | 26 | | | | | | | | | | | | | | | | | | | | | | | | | | 0 |
| 0 | 0 | 0 | 0 | 0 | 1 | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − |
- flag
- S; 1 when the operation result is negative, 0 otherwise.
- Z; When the operation result is 0, it becomes 1, and otherwise it becomes 0.
- C; 0.
- remarks
- none.
List | ▲ Back | Next ▼ | Assembler OR
- Operation content
- OR the [ACL] and [PL].
- Descriptive formula
- label: OR
- Instruction code
| 31 | | | | | 26 | | | | | | | | | | | | | | | | | | | | | | | | | | 0 |
| 0 | 0 | 0 | 0 | 1 | 0 | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − |
- flag
- S; 1 when the operation result is negative, 0 otherwise.
- Z; When the operation result is 0, it becomes 1, and otherwise it becomes 0.
- C; 0.
- remarks
- none.
List | ▲ Back | Next ▼ | Assembler XOR
- Operation content
- Takes an exclusive sum of [ACL] and [PL].
- Descriptive formula
- label: XOR
- Instruction code
| 31 | | | | | 26 | | | | | | | | | | | | | | | | | | | | | | | | | | 0 |
| 0 | 0 | 0 | 0 | 1 | 1 | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − |
- flag
- S; 1 when the operation result is negative, 0 otherwise.
- Z; When the operation result is 0, it becomes 1, and otherwise it becomes 0.
- C; 0.
- remarks
- none.
List | ▲ Back | Next ▼ | Assembler ADD
- Operation content
- Add [ACL] and [PL].
- Descriptive formula
- label: ADD
- Instruction code
| 31 | | | | | 26 | | | | | | | | | | | | | | | | | | | | | | | | | | 0 |
| 0 | 0 | 0 | 1 | 0 | 0 | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − |
- flag
- S; 1 when the operation result is negative, 0 otherwise.
- Z; When the operation result is 0, it becomes 1, and otherwise it becomes 0.
- C; In the calculation result, it will be 1 when a carry occurs and 0 otherwise.
- V; When the operation result overflows (exceeds 48 bits), it becomes 1, and otherwise it becomes 0.
- remarks
- none.
List | ▲ Back | Next ▼ | Assembler SUB
- Operation content
- Subtract [ACL] and [PL].
- Descriptive formula
- label: SUB
- Instruction code
| 31 | | | | | 26 | | | | | | | | | | | | | | | | | | | | | | | | | | 0 |
| 0 | 0 | 0 | 1 | 0 | 1 | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − |
- flag
- S; 1 when the operation result is negative, 0 otherwise.
- Z; When the operation result is 0, it becomes 1, and otherwise it becomes 0.
- C; In the calculation result, it will be 1 when a carry occurs and 0 otherwise.
- V; When the calculation result is underflow, it becomes 1, otherwise it becomes 0.
- remarks
- none.
List | ▲ Back | Next ▼ | Assembler AD2
- Operation content
- Add [ACH] [ACL] and [PH] [PL].
- Descriptive formula
- label: AD2
- Instruction code
| 31 | | | | | 26 | | | | | | | | | | | | | | | | | | | | | | | | | | 0 |
| 0 | 0 | 0 | 1 | 1 | 0 | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − |
- flag
- S; 1 when the operation result is negative, 0 otherwise.
- Z; When the operation result is 0, it becomes 1, and otherwise it becomes 0.
- C; In the calculation result, it will be 1 when a carry occurs and 0 otherwise.
- V; When the operation result overflows (exceeds 48 bits), it becomes 1, and otherwise it becomes 0.
- remarks
- none.
List | ▲ Back | Next ▼ | Assembler SR
- Operation content
- The value of [ACL] is shifted to the right by 1 bit, and the value of bit0 is stored in the C flag.

- Descriptive formula
- label: SR
- Instruction code
| 31 | | | | | 26 | | | | | | | | | | | | | | | | | | | | | | | | | | 0 |
| 0 | 0 | 1 | 0 | 0 | 0 | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − |
- flag
- S; When the MSB of the calculation result is 1, it becomes 1, and when it is 0, it becomes 0.
- Z; When the operation result is 0, it becomes 1, and otherwise it becomes 0.
- C; When the value of b0 of the input data is 1, it becomes 1, and when it is 0, it becomes 0.
- ACL; shifts 1 bit to the right and the most significant bit (b31) does not change.
- remarks
- none.
List | ▲ Back | Next ▼ | Assembler RR
- Operation content
- Rotates the value of [ACL] 1 bit to the right.

- Descriptive formula
- label: RR
- Instruction code
| 31 | | | | | 26 | | | | | | | | | | | | | | | | | | | | | | | | | | 0 |
| 0 | 0 | 1 | 0 | 0 | 1 | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − |
- flag
- S; When the MSB of the calculation result is 1, it becomes 1, and when it is 0, it becomes 0.
- Z; When the operation result is 0, it becomes 1, and otherwise it becomes 0.
- C; When the value of b0 of the input data is 1, it becomes 1, and when it is 0, it becomes 0.
- ACL; shifts one bit to the right, moving the least significant bit (b0) to the least significant bit (b31).
- remarks
- none.
List | ▲ Back | Next ▼ | Assembler SL
- Operation content
- Shifts the value of [ACL] 1 bit to the left.

- Descriptive formula
- label: SL
- Instruction code
| 31 | | | | | 26 | | | | | | | | | | | | | | | | | | | | | | | | | | 0 |
| 0 | 0 | 1 | 0 | 1 | 0 | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − |
- flag
- S; When the MSB of the calculation result is 1, it becomes 1, and when it is 0, it becomes 0.
- Z; When the operation result is 0, it becomes 1, and otherwise it becomes 0.
- C; When the value of b31 of the input data is 1, it becomes 1, and when it is 0, it becomes 0.
- ACL; Shifts to the left by 1 bit, and the least significant bit (b0) becomes 0.
- remarks
- none.
List | ▲ Back | Next ▼ | Assembler RL
- Operation content
- Rotates the value of [ACL] 1 bit to the left.

- Descriptive formula
- label: RL
- Instruction code
| 31 | | | | | 26 | | | | | | | | | | | | | | | | | | | | | | | | | | 0 |
| 0 | 0 | 1 | 0 | 1 | 1 | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − |
- flag
- S; When the MSB of the calculation result is 1, it becomes 1, and when it is 0, it becomes 0.
- Z; When the operation result is 0, it becomes 1, and otherwise it becomes 0.
- C; When the value of b31 of the input data is 1, it becomes 1, and when it is 0, it becomes 0.
- ACL; Shifts to the left by 1 bit, and the most significant bit (b31) moves to the least significant bit (b0).
- remarks
- none.
List | ▲ Back | Next ▼ | Assembler RL8
- Operation content
- Rotates the value of [ACL] 8 bits to the left.

- Descriptive formula
- label: RL8
- Instruction code
| 31 | | | | | 26 | | | | | | | | | | | | | | | | | | | | | | | | | | 0 |
| 0 | 0 | 1 | 1 | 1 | 1 | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − |
- flag
- S; When the MSB of the calculation result is 1, it becomes 1, and when it is 0, it becomes 0.
- Z; When the operation result is 0, it becomes 1, and otherwise it becomes 0.
- C; When the value of b24 of the input data is 1, it becomes 1, and when it is 0, it becomes 0.
- ACL; Rotate 8 bits to the left.
- remarks
- none.
▲ Back | Forward ▼
★ HARDWARE Manual ★ SCU User's Manual
Copyright SEGA ENTERPRISES, LTD., 1997