15
15 – 40
Xop:
X operand
Yop:
Y operand
Syntax:
NONE = <ALU> ;
<ALU> may be any unconditional ALU operation except DIVS or DIVQ.*
Examples:
NONE = AX0 – AY0;
NONE = PASS SR0;
Description:
Perform the designated ALU operation, generate the ASTAT
status flags, then discard the result value. This instruction allows the testing
of register values without disturbing the contents of the AR or AF registers.
* Note that the additional-constant ALU operations of the ADSP-217x,
ADSP-218x, ADSP-21msp58/59 processors are also not allowed:
ADD (xop + constant)
SUBTRACT X–Y (xop – constant)
SUBTRACT Y–X (–xop + constant)
AND, OR, XOR (xop
●
constant)
PASS (PASS
constant, using any constant other than –1, 0, or 1)
TSTBIT, SETBIT, CLRBIT, TGLBIT.
Status Generated:
ASTAT:
7
6
5
4
3
2
1
0
SS
MV AQ AS
AC AV AN AZ
–
–
–
–
*
*
*
*
AZ
Set if the result equals zero. Cleared otherwise.
AN
Set if the result is negative. Cleared otherwise.
AV
Set if an arithmetic overflow occurs. Cleared otherwise.
AC
Set if a carry is generated. Cleared otherwise.
Instruction Format:
ALU/MAC operation with Data Register Move, Instruction Type 8:
23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 1 0 1 0 AMF Yop Xop 1 0 1 0 1 0 1 0
ALU codes only
AMF specifies the ALU or MAC operation (only ALU operations are allowed).
ALU
GENERATE ALU STATUS
(ADSP-217x, ADSP-218x, ADSP-21msp58/59 only)