Compute and move or modify instructions, Program flow control instructions – Analog Devices ADSP-21020 User Manual
Page 7

ADSP-21020
REV. C
–7–
COMPUTE AND MOVE OR MODIFY INSTRUCTIONS
1.
compute,
|
DM(Ia, Mb) = dreg1
|
,
|
PM(Ic, Md) = dreg2
|
;
|
dreg1 = DM(Ia, Mb)
|
|
dreg2 = PM(Ic, Md)
|
2.
IF condition
compute;
3a.
IF condition
compute,
|
DM(Ia, Mb)
|
= ureg ;
|
PM(Ic, Md)
|
3b.
IF condition
compute,
|
DM(Mb, Ia)
|
= ureg ;
|
PM(Md, Ic)
|
3c.
IF condition
compute,
ureg =
|
DM(Ia, Mb)
|
;
|
PM(Ic, Md)
|
3d.
IF condition
compute,
ureg =
|
DM(Mb, Ia)
|
;
|
PM(Md, Ic)
|
4a.
IF condition
compute,
|
DM(Ia,
|
= dreg ;
|
PM(Ic,
|
4b.
IF condition
compute,
|
DM(
|
= dreg ;
|
PM(
|
4c.
IF condition
compute,
dreg =
|
DM(Ia,
|
;
|
PM(Ic,
|
4d.
IF condition
compute,
dreg =
|
DM(
|
;
|
PM(
|
5.
IF condition
compute,
ureg1 = ureg2 ;
6a.
IF condition
shiftimm,
|
DM(Ia, Mb)
|
= dreg ;
|
PM(Ic, Md)
|
6b.
IF condition
shiftimm,
dreg =
|
DM(Ia, Mb)
|
;
|
PM(Ic, Md)
|
7.
IF condition
compute,
MODIFY
|
(Ia, Mb)
|
;
7.
IF condition
compute,
MODIFY
|
(Ic, Md)
|
PROGRAM FLOW CONTROL INSTRUCTIONS
8.
IF condition
|
JUMP
|
|
|
(
|
DB
|
) ;
|
CALL
|
|
(PC,
|
(
|
LA
,
|
|
CALL
|
|
(PC,
|
(
|
DB, LA
|
9.
IF condition
|
JUMP
|
|
(Md, Ic)
|
(
|
DB
|
) , compute
;
|
CALL
|
|
(PC,
|
(
|
LA
,
|
|
CALL
|
|
(PC,
|
(
|
DB, LA
|
11.
IF condition
|
RTS
|
(
|
DB
,
|
) , compute
;
|
RTI
|
(
|
LA
,
|
|
RTI |
(
|
DB, LA
|
12.
LCNTR =
|
|
, DO
|
|
UNTIL LCE ;
12.
LCNTR =
|
ureg
|
, DO
|
(
(
|
UNTIL LCE ;
13.
LCNTR =
|
|
,
DO
|
|
UNTIL termination ;
12.
LCNTR =
|
ureg
|
, DO
|
(
|
(PC,
|
(DB) Delayed branch
(LA) Loop abort (pop loop PC stacks on branch)