adsp-21xx
rev. b
–15–
操作指南 设置
这 adsp-21xx 组装 language 使用 一个 algebraic syntax 为
使容易 的 编码 和 readability. 这 来源 和 destinations 的
computations 和 数据 movements 是 写 explicitly 在 各自
组装 陈述, eliminating cryptic assembler mnemonics.
每 操作指南 assembles 在 一个 单独的 24-位 文字 和
executes 在 一个 单独的 循环. 这 说明 encompass 一个 宽
多样性 的 操作指南 类型 along 和 一个 高 程度 的
运算的 parallelism. 那里 是 five 基本 categories 的
说明: 数据 move 说明, computational instruc-
tions, multifunction 说明, 程序 流动 控制 instruc-
tions 和 miscellaneous 说明. multifunction 说明
执行 一个 或者 二 数据 moves 和 一个 computation.
这 操作指南 设置 是 summarized 在下. 这
adsp-2100
家族 用户 手工的
包含 一个 完全 涉及 至 这
操作指南 设置.
alu 说明
[if cond] AR|AF = xop + yop [+ c] ;
增加/增加 和 carry
= xop – yop [+ c– 1] ;
减去 x – y/减去 x – y 和 borrow
= yop – xop [+ c– 1] ;
减去 y – x/减去 y – x 和 borrow
= xop 和 yop ;
和
= xop 或者 yop ;
或者
= xop xor yop ;
XOR
= 通过 xop ;
通过, clear
= – xop ;
Negate
= 不 xop ;
不
= abs xop ;
绝对 值
= yop + 1 ;
Increment
= yop – 1 ;
Decrement
= divs yop, xop ;
分隔
= divq xop ;
mac 说明
[if cond] MR|MF = xop
*
yop ;
乘以
= mr + xop
*
yop ;
乘以/accumulate
= mr – xop
*
yop ;
乘以/减去
= mr ;
转移 mr
=0 ;
Clear
如果 mv sat mr ;
conditional mr 饱和
shifter 说明
[if cond] sr = [sr or] ashift xop ;
arithmetic 变换
[if cond] sr = [sr or] lshift xop ;
logical 变换
sr = [sr or] ashift xop 用 <exp>;
arithmetic 变换 立即的
sr = [sr or] lshift xop 用 <exp>;
logical 变换 立即的
[if cond] se = exp xop ;
derive exponent
[if cond] sb = expadj xop ;
块 exponent 调整
[if cond] sr = [sr or] norm xop ;
Normalize
数据 move 说明
reg = reg ;
寄存器-至-寄存器 move
reg = <数据> ;
加载 寄存器 立即的
reg = dm (<地址>) ;
数据 记忆 读 (直接 地址)
dreg = dm (ix , 我的) ;
数据 记忆 读 (间接的 地址)
dreg = pm (ix , 我的) ;
程序 记忆 读 (间接的 地址)
dm (<地址>) = reg ;
数据 记忆 写 (直接 地址)
dm (ix , 我的) = dreg ;
数据 记忆 写 (间接的 地址)
pm (ix , 我的) = dreg ;
程序 记忆 写 (间接的 地址)
multifunction 说明
<alu>|<mac>|<shift> , dreg = dreg ;
computation 和 寄存器-至-寄存器 move
<alu>|<mac>|<shift> , dreg = dm (ix , 我的) ;
computation 和 记忆 读
<alu>|<mac>|<shift> , dreg = pm (ix , 我的) ;
computation 和 记忆 读
dm (ix , 我的) = dreg , <alu>|<mac>|<shift> ;
computation 和 记忆 写
pm (ix , 我的) = dreg , <alu>|<mac>|<shift> ;
computation 和 记忆 写
dreg = dm (ix , 我的) , dreg = pm (ix , 我的) ;
数据 &放大; 程序 记忆 读
<alu>|<mac> , dreg = dm (ix , 我的) , dreg = pm (ix , my) ;
alu/mac 和 数据 &放大; 程序 记忆 读