adsp-21xx
–16–
rev. b
程序 流动 说明
做 <地址> [until term] ;
做 直到 循环
[if cond] jump (ix) ;
Jump
[if cond] jump <地址>;
[if cond] call (ix) ;
call 子例程
[if cond] call <地址>;
如果 [not ] 标记_在 jump <地址>;
jump/call 在 标记 在 管脚
如果 [not ] 标记_在 call <地址>;
[if cond] set|reset|toggle 标记_输出 [, ...] ;
modify 标记 输出 管脚
[if cond] rts ;
返回 从 子例程
[if cond] rti ;
返回 从 中断 维护 routine
空闲 [(n)] ;
空闲
miscellaneous 说明
nop ;
非 运作
modify (ix , 我的);
modify 地址 寄存器
[push sts] [, 流行音乐 cntr] [, 流行音乐 pc] [, 流行音乐 loop] ;
堆栈 控制
ENA|DIS 秒_reg [, ...] ;
模式 控制
位_rev
av_获得
ar_sat
m_模式
计时器
g_模式
组装 代号 例子
这 下列的 例子 是 一个 代号 fragment 那 执行 这 过滤 tap 更新 为 一个 adaptive 过滤 为基础 在 一个 least-意思-squared
algorithm. 注意 那 这 computations 在 这 说明 是 写 像 algebraic equations.
MF=MX0
*
MY1 ( rnd), mx0=dm(i2,m1); {MF=error
*
beta}
MR=MX0
*
MF ( rnd), ay0=pm(i6,m5);
做 adapt 直到 ce;
ar=mr1+ay0, mx0=dm(i2,m1), ay0=pm(i6,m7);
adapt: pm(i6,m6)= 一个 r, mr=mx0
*
MF ( rnd);
modify(i2,m3); {point 至 oldest data}
modify(i6,m7); {point 至 开始 的 data}
notation conventions
Ix index 寄存器 为 间接的 寻址
我的 modify 寄存器 为 间接的 寻址
<数据> 立即的 数据 值
<地址> 立即的 地址 值
<exp> exponent (变换 值) 在 变换 立即的 说明 (8-位 signed 号码)
<alu> 任何 alu 操作指南 (除了 分隔)
<mac> 任何 乘以-accumulate 操作指南
<变换> 任何 变换 操作指南 (除了 变换 立即的)
cond 情况 代号 为 conditional 操作指南
期 末端 代号 为 做 直到 循环
dreg 数据 寄存器 (的 alu, mac, 或者 shifter)
reg 任何 寄存器 (包含 dregs)
; 一个 semicolon terminates 这 操作指南
, commas 独立的 多样的 行动 的 一个 单独的 操作指南
[ ] optional 部分 的 操作指南
[, ...] optional, 多样的 行动 的 一个 操作指南
option1
|
option2
列表 的 选项; choose 一个.