HARDWARE ManualSCU User's Manual
BackForward
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.

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