COMPUTE AND MOVE OR MODIFY INSTRUCTIONS
1.
compute,
2.
IF condition
compute;
3a.
IF condition
compute,
3b.
IF condition
compute,
3c.
IF condition
compute,
3d.
IF condition
compute,
4a.
IF condition
compute,
4b.
IF condition
compute,
4c.
IF condition
compute,
4d.
IF condition
compute,
5.
IF condition
compute,
6a.
IF condition
shiftimm,
6b.
IF condition
shiftimm,
7.
IF condition
compute,
7.
IF condition
compute,
PROGRAM FLOW CONTROL INSTRUCTIONS
|
8.
IF condition
JUMP
|
CALL
|
CALL
|
9.
IF condition
JUMP
|
CALL
|
CALL
|
11.
IF condition
RTS
|
RTI
|
RTI |
|
12.
LCNTR =
<data16>
|
12.
LCNTR =
ureg
|
13.
LCNTR =
<data16>
|
12.
LCNTR =
ureg
(DB) Delayed branch
(LA) Loop abort (pop loop PC stacks on branch)
REV. C
|
DM(Ia, Mb) = dreg1
|
dreg1 = DM(Ia, Mb)
|
|
DM(Ia, Mb)
= ureg ;
|
|
PM(Ic, Md)
|
|
DM(Mb, Ia)
= ureg ;
|
|
PM(Md, Ic)
|
ureg =
DM(Ia, Mb)
|
PM(Ic, Md)
|
ureg =
DM(Mb, Ia)
|
PM(Md, Ic)
|
|
DM(Ia, <data6>)
|
|
PM(Ic, <data6>)
|
|
DM(<data6>, Ia)
|
|
PM(<data6>, Ic)
|
dreg =
DM(Ia, <data6>)
|
PM(Ic, <data6>)
|
dreg =
DM(<data6>, Ia)
|
PM(<data6>, Ic)
ureg1 = ureg2 ;
|
|
DM(Ia, Mb)
= dreg ;
|
|
PM(Ic, Md)
|
|
dreg =
DM(Ia, Mb)
|
|
PM(Ic, Md)
|
MODIFY
(Ia, Mb)
|
MODIFY
(Ic, Md)
| |
<addr24>
|
| |
|
(PC, <reladdr6>)
|
|
|
(PC, <reladdr6>)
| |
|
(Md, Ic)
| |
|
(PC, <reladdr6>)
|
|
|
(PC, <reladdr6>)
|
|
|
(
DB,
) , compute ;
|
|
|
(
LA,
|
|
DB, LA
(
|
|
, DO
<addr24>
|
|
( <PC,
, DO
<reladdr24>)(
|
|
,
DO
<addr24>
|
|
|
(
, DO
(PC, <reladdr24>)
|
|
,
PM(Ic, Md) = dreg2
|
|
dreg2 = PM(Ic, Md)
|
;
|
|
;
|
= dreg ;
= dreg ;
|
;
|
|
;
|
;
|
;
|
(
|
DB
|
) ;
|
|
LA
(
,
|
|
DB, LA
(
|
|
(
DB
) , compute ;
|
|
LA
(
,
|
|
DB, LA
(
|
UNTIL LCE ;
|
UNTIL LCE ;
|
UNTIL termination ;
|
–7–
ADSP-21020
|
;
|
Need help?
Do you have a question about the ADSP-21020 and is the answer not in the manual?
Questions and answers