位置:首页 > IC型号导航 > 首字符D型号页 > 首字符D的型号第441页 > DSPIC30F6011 > DSPIC30F6011 PDF资料 > DSPIC30F6011 PDF资料1第24页

dsPIC30F6011/6012/6013/6014
SA和SB位,每次修改数据
通过加法器/减法器,但只能是
由用户清零。如果置位,表明
累加器溢出其最大范围(第31位
32位饱和或39位,而40位饱和度)和
将饱和(如果饱和使能) 。当饱和
日粮未启用, SA和SB默认为39位过
流动,从而表明了灾难性溢出
发生了。如果INTCON1寄存器中的COVTE位
,SA和SB位将产生算术警告
陷阱当饱和被禁止。
溢出和饱和状态位,可
在状态寄存器( SR)被视为逻辑
OA与OB (中位OAB)或(OR)和SA的逻辑或
和SB ( SAB位) 。这允许程序员检查
在状态1位寄存器来判断是否有
累加器溢出,或1位,以确定是否
有累加器饱和。这将是有用的
复数运算通常使用
两个累加器。
该器件支持三种饱和及溢出
模式:
1.
bit 39溢出和饱和:
当发生bit 39溢出和饱和时,
饱和逻辑将最大的正9.31
( 0x7FFFFFFFFF ) ,或最大负9.31
值( 0x8000000000 )到目标积聚
器。 SA或SB位被置位并保持直到
由用户清零。这被称为“超级
饱和“,提供保护,防止erro-
neous数据或不可预期的算法问题
(例如,增益计算) 。
31位溢出和饱和:
当发生bit 31溢出和饱和时,
饱和逻辑将最大的位置
数1.31 ( 0x007FFFFFFF ) ,或最大
负1.31值( 0x0080000000 )进
目标累加器。 SA或SB位被置位,并
保持直到被用户清零。当此
饱和模式生效时,警戒位
不使用(因此OA , OB或OAB位不会
设置) 。
bit 39灾难性溢出:
从加法器的bit 39溢出状态位
用来将SA或SB位,该位保持置
直到被用户清零。不饱和操作
灰被执行并且允许累加器
溢出(破坏其符号) 。如果COVTE
INTCON1寄存器位被置位,灾难性的
溢出会导致一个陷阱异常。
2.4.2.2
累加器“回写”
该
苹果
类指令(除
MPY , MPY.N , ED
和
EDAC )
可以选择写
高字圆润的版本( 31位到16 )
不是由该指令目标的累加器的
到数据存储空间。写跨执行
X总线为组合的X和Y地址空间。该
以下寻址模式支持:
1.
W13 ,寄存器直接:
非目标的舍入内容
蓄能器写入W13为1.15
小部分。
[ W13 ] + = 2 ,寄存器间接寻址
后递增:
非目标的舍入内容accumu-
荡器被写入的地址所指向的
W13以1.15小数。然后W13
递增2 (对于字写入) 。
2.
2.4.2.3
舍入逻辑
舍入逻辑是per-一个组合模块
形成了一个传统的(偏置)或收敛的( unbi-
在累加器写偏)舍入功能
(店) 。舍入模式是由国家决定的
CORCON寄存器中RND位。它会产生一个16位
被传递到数据空间位的1.15数据值
写饱和逻辑。如果舍入不被指示
指令,截取的1.15数据值被存储和
最显著字( LSW ) ,简单地丢弃。
常规舍入取15位的累加器,
零扩展并将其添加到ACCxH中字( 16位
通过蓄压器31 ) 。如果ACCxL中字
(位0至15的累加器的)之间
为0x8000和0xFFFF的(包括0x8000 ) , ACCxH的值
递增。如果ACCxL中为0×0000之间
0x7FFF的, ACCxH的值保持不变。的后果
该算法是在随机的继承
取整运算,该值将趋向于被偏置
稍微积极。
收敛的(或无偏)舍入操作
相同的方式与常规舍入,除非当
但ACCxL等于0x8000 。如果是这种情况,则最低有效位
ACCxH中的(累加器的位16)进行检测。如果
是' 1 ' , ACCxH递增。如果它是“0”, ACCxH中是不
修改。假设16位是随机的
自然,这样的机制将消除任何舍入偏差
可能积累。
该
SAC
和
SAC.R
说明无论是店面的截取
cated ( SAC )或舍入( SAC.R )版本的内容
通过X总线将目标累加器数据存储器
(受数据饱和的,看
第2.4.2.4节“数据
空间写饱和“ ) 。
注意,对于
苹果
类
的指令,累加器回写操作
也会起到同样的方式,寻址组合
MCU(X和Y),通过X总线的数据空间。为了这
此类指令,数据始终受到
四舍五入。
2.
3.
DS70117F第22页
2006年Microchip的科技公司