dspic30f6011/6012/6013/6014
ds70117c-页 16
初步的
2004 微芯 技术 公司
2.3 分隔 支持
这 dspic 设备 特性 一个 16/16-位 signed fractional
分隔 运作, 作 好 作 32/16-位 和 16/16-位
signed 和 unsigned integer 分隔 行动, 在 这
表格 的 单独的 操作指南 iterative divides. 这 下列的
说明 和 数据 sizes 是 supported:
1.
DIVF
- 16/16 signed fractional 分隔
2.
div.sd
- 32/16 signed 分隔
3.
div.ud
- 32/16 unsigned 分隔
4.
div.sw
- 16/16 signed 分隔
5.
div.uw
- 16/16 unsigned 分隔
这 16/16 divides 是 类似的 至 这 32/16 (一样 号码
的 iterations), 但是 这 dividend 是 也 零-扩展 或者
sign-扩展 在 这 第一 iteration.
这 分隔 说明 必须 是 executed 在里面 一个
repeat 循环. 任何 其它 表格 的 执行 (e.g., 一个
序列 的 分离的 分隔 说明) 将 不 函数
correctly 因为 这 操作指南 流动 取决于 在
rcount. 这 分隔 操作指南 做 不 automatically
设置 向上 这 rcount 值 和 它 必须, 因此, 是
explicitly 和 correctly 指定 在 这
REPEAT
instruc-
tion 作 显示 在 表格 2-1 (
REPEAT
将 execute 这 tar-
得到 操作指南 {operand value+1} 时间). 这 repeat
循环 计数 必须 是 建制 为 18 iterations 的 这
div/
DIVF
操作指南. 因此, 一个 完全 分隔 运作
需要 19 循环.
表格 2-1: 分隔 说明
便条:
这 分隔 流动 是 interruptible. 不管怎样,
这 用户 needs 至 保存 这 context 作
适合的.
操作指南 函数
DIVF
signed fractional 分隔: wm/wn
→
w0; rem
→
W1
div.sd
signed 分隔: (wm+1:wm)/wn
→
w0; rem
→
W1
div.sw 或者
div.s
signed 分隔: wm/wn
→
w0; rem
→
W1
div.ud
unsigned 分隔: (wm+1:wm)/wn
→
w0; rem
→
W1
div.uw 或者
div.u
unsigned 分隔: wm/wn
→
w0; rem
→
W1