ADSP-2109 AD [Analog Devices], ADSP-2109 Datasheet - Page 11
![no-image](/images/no-image-200.jpg)
ADSP-2109
Manufacturer Part Number
ADSP-2109
Description
Low Cost DSP Microcomputers
Manufacturer
AD [Analog Devices]
Datasheet
1.ADSP-2109.pdf
(36 pages)
Available stocks
Company
Part Number
Manufacturer
Quantity
Price
REV. 0
Program Flow Instructions
DO <addr> [UNTIL term] ;
[IF cond] JUMP (Ix) ;
[IF cond] JUMP <addr>;
[IF cond] CALL (Ix) ;
[IF cond] CALL <addr>;
IF [NOT ] FLAG_IN
IF [NOT ] FLAG_IN
[IF cond] SET|RESET|TOGGLE
[IF cond] RTS ;
[IF cond] RTI ;
IDLE [(n)] ;
Miscellaneous Instructions
NOP ;
MODIFY (Ix , My);
[PUSH STS] [, POP CNTR] [, POP PC] [, POP LOOP] ;
ENA|DIS
Notation Conventions
Ix
My
<data>
<addr>
<exp>
<ALU>
<MAC>
<SHIFT>
cond
term
dreg
reg
;
,
[
[, ...]
option1 | option2
Assembly Code Example
The following example is a code fragment that performs the filter tap update for an adaptive filter based on a least-mean-squared
algorithm. Notice that the computations in the instructions are written like algebraic equations.
adapt:
]
MF=MX0 * MY1 ( RND), MX0=DM(I2,M1);
MR=MX0 * MF ( RND), AY0=PM(I6,M5);
DO adapt UNTIL CE;
MODIFY(I2,M3);
MODIFY(I6,M7);
SEC_REG [, ...] ;
BIT_REV
AV_LATCH
AR_SAT
M_MODE
TIMER
G_MODE
AR=MR1+AY0, MX0=DM(I2,M1), AY0=PM(I6,M7);
PM(I6,M6)= A R, MR=MX0 * MF ( RND);
Index registers for indirect addressing
Modify registers for indirect addressing
Immediate data value
Immediate address value
Exponent (shift value) in shift immediate instructions (8-bit signed number)
Any ALU instruction (except divide)
Any multiply-accumulate instruction
Any shift instruction (except shift immediate)
Condition code for conditional instruction
Termination code for DO UNTIL loop
Data register (of ALU, MAC, or Shifter)
Any register (including dregs)
A semicolon terminates the instruction
Commas separate multiple operations of a single instruction
Optional part of instruction
Optional, multiple operations of an instruction
List of options; choose one.
JUMP <addr>;
CALL <addr>;
FLAG_OUT [, ...] ;
Do Until Loop
Jump
Call Subroutine
Jump/Call on Flag In Pin
Modify Flag Out Pin
Return from Subroutine
Return from Interrupt Service Routine
Idle
No Operation
Modify Address Register
Stack Control
Mode Control
–11–
{MF=error * b eta}
{Point to oldest data}
{Point to start of data}
ADSP-2104/ADSP-2109