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

Page 7

Advertising
background image

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, <data6>)

|

= dreg ;

|

PM(Ic, <data6>)

|

4b.

IF condition

compute,

|

DM(<data6>, Ia)

|

= dreg ;

|

PM(<data6>, Ic)

|

4c.

IF condition

compute,

dreg =

|

DM(Ia, <data6>)

|

;

|

PM(Ic, <data6>)

|

4d.

IF condition

compute,

dreg =

|

DM(<data6>, Ia)

|

;

|

PM(<data6>, Ic)

|

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

|

|

<addr24>

|

(

|

DB

|

) ;

|

CALL

|

|

(PC, <reladdr6>)

|

(

|

LA

,

|

|

CALL

|

|

(PC, <reladdr6>)

|

(

|

DB, LA

|

9.

IF condition

|

JUMP

|

|

(Md, Ic)

|

(

|

DB

|

) , compute

;

|

CALL

|

|

(PC, <reladdr6>)

|

(

|

LA

,

|

|

CALL

|

|

(PC, <reladdr6>)

|

(

|

DB, LA

|

11.

IF condition

|

RTS

|

(

|

DB

,

|

) , compute

;

|

RTI

|

(

|

LA

,

|

|

RTI |

(

|

DB, LA

|

12.

LCNTR =

|

<data16>

|

, DO

|

<addr24>

|

UNTIL LCE ;

12.

LCNTR =

|

ureg

|

, DO

|

(<PC, <reladdr24>)

(

|

UNTIL LCE ;

13.

LCNTR =

|

<data16>

|

,

DO

|

<addr24>

|

UNTIL termination ;

12.

LCNTR =

|

ureg

|

, DO

|

(

|

(PC, <reladdr24>)

|

(DB) Delayed branch
(LA) Loop abort (pop loop PC stacks on branch)

Advertising