4.28335 DSP指令测试总结
更新时间:2023-10-22 22:32:01 阅读量: 综合文库 文档下载
- 4283355推荐度:
- 相关推荐
符号说明
dma 数据存储器地址的低七位(7LSB) shift 左移位数(0~15)位 shift2 左移位数(0~7)位 n(x) 指定下一次辅助寄存器的(0~7)位的数值 k 8位短立即数 lk 16位短立即数 m 选择如下数据之一 0 表示对ST0操作 1 表示对ST1操作 PA 16位的IO端口或IO映射的寄存器 pma 16位的程序地地址空间 ind 是一个间接寻址变量,可以把它担供如下7种符号之一: * *+ *- *0+ *0- *BR0+ *BR0- 不变 增1 减1 加/减变址量 反向进位加/减变址量 加/减变址量其实就是基址变址寻址方式,可以很方便的实现常数数组的查找。 (反向进位方式是指加或减是从最高位开始运算,并将进位或借位送给低位,
此种方法特别适合于FFT运算。后面的四种操作符都是与AR0中的内容进行加减)
ST0
ARP OV OVM INTM
ST0<13-15> 辅助寄存器指针,加载ARP,则原ARP值送ARB.只有当执行LST #1 时,ARB与ARP加载相同的值,执行LST #0时只改变ARP,不改变ARB。 ST0<12> 溢出标志位,当OV=1时,复位,溢出条件转移指令,无溢出条件转 指令,LST指令发生时才可以被清0。 ST0<11> 溢出方式位,OVM=0时,累加器结果正常溢出;OVM=1时,正溢出,ACC=7FFF FFFFH,负溢出,ACC=8000 0000H。 ST0<9> 中断屏蔽位,INTM=0,允许响应所有的可屏蔽中断;INTM=1时则禁止。对不可屏蔽中断 RS、NMI没有影响。INTM不受LST指令影响。复位时该位为1,响应可屏蔽中断时,该位被自动置1。 退出中断时是否要手动开中断?
RS中断、SETC INTM、CLRC INTM可对INTM进行设置。
ST0<0-8>数据存储器页指针,9位的DP与一个指令的低七位一起形成一个16位的直接寻址地址。LST、LDP可以对其修改。
DP
ST1
ARB CNF TC SXM
ST1<13-15> 辅助寄存器指针缓冲器,说明同ARP。 ST1<12> 片内DARAM配置位,CNF=0,可配置的双口RAM单元区被映射到数据存储空间,CNF=1,则映射到程序存储空间。
SETC CNF、CLRC CNF、LST可对其进行修改,复位时CNF=0。 ST1<11> 测试/控制标志位,BIT、BITT、CMPR、LST、NORM影响TC位。 ST1<10> 符号扩展位,SXM=0,抑制符号扩展;SXM=1,数据通过输入定标移位器传送到累加器时将产生符号扩展。CLRC SXM、SETC SXM、LST #1可对其进行修改,复位时SXM为1。 ST1<9> 进位位,加法时进位置1,否则清0;减法时借位清0,否则置1。但在移16位的ADD或SUB指令时例外,其有进位或借位时结果一样,否则不影响C。SETC C、CLRC C、LST可对其修改。复位时C被置1。 ST1<4> XF引脚状态位,该位决定XF引脚的状态。SETC XF、CLRC XF、LST可对其修改。复位时被置1。 ST1<1:0> 乘积移位方式,当把PREG中的内容传送到CALU单元时进行移位操作,但PREG本身内容不变。SPM、LST 指令可以对其修改。复位时清0。 00 不移 01 左移1位,移去二进制补码乘法产生的额外符号位,产生Q31格式的乘积。
低位补0。
10 左移4位,移去16位×13位(常数)二进制补码乘法产生的额外符号位,
产生Q31格式的乘积。低位补0。
11 右移6位,将乘积定标,使最多作128次乘法累加不使累加器溢出,无
论ST1中SXM为何值,右移总是要进行符号扩展。
C
XF PM
一. 辅助寄存器指令。
1.MAR 修改当前辅助寄存器 MAR dma 相当于 NOP MAR ind[,ARn] 修改当前AR寄存器的值,[ARP->ARB, 修改ARP] 影响到:ARP、ARB 任何支持间接寻址的指令都可以实现MAR的操作。 MAR *+ , AR3 (ARP=0) 当前AR加1,ARB=0 , ARP=3 ;
2.SBRK #k 辅助寄存器减立即数 当前AR - k -> 当前AR
3.ADRK #k 短立即数加至辅助寄存器
当前AR + k ->当前AR
4.LAR 装载辅助寄存器 LAR ARx, dma LAR ARx, ind[, ARn] LAR ARx, #k LAR ARx, #lk 数据 -> ARx
5.SAR 存辅助寄存器 SAR ARx, dma SAR ARx, ind[, ARn] ARx -> 数据
特殊用法:与LAR一起使用,可以不通过ACC而实数据存储器间的数据交换 如:LAR AR2, 20H LAR AR3, 30H SAR AR2, 30H SAR AR3, 20H
6.BANZ AR非零跳转 BANZ pma[, ind[, ARn]] (ind默认为当前AR减1) 例如: MAR *, AR0
LAR AR1, #3 ;循环次数 = 3 + 1
PGM ADD *+, AR1 BANZ PGM, AR0 ;循环结束后,AR1 = 0FFFFH
7.CMPR 辅助寄存器比较 CMPR CM (不是#CM) 影响TC CM: = 0 测试是否 (当前AR)= (AR0) 1 < 2 > 3 !=
如果条件为真,则TC = 1,如果条件为假,则TC = 0.
二. 控制指命令
1.NOP 空操作,在建立流水线和执行延时的情况下有用。
2.CLRC control bit 清控制位 3.SETC control bit 置控制位
control bit可以是:C、CNF、INTM、OVM、SXM、TC、XF。
4.IDLE 等机 受INTM位的影响 PC+1 -> PC 进入空闲模式,片内内设保持激活状态 未被屏蔽中断激活 (这里的屏蔽是指中断控制寄存器里的屏蔽位(0004H)) INTM=0,程序转移到它所影响的中断服务程序 INTM=1,程序返回IDLE的下一条指令继续执行。如时是不可蔽屏中断MNI或RESET,进中断服务程序。
5.BIT 位测试 BIT dma, bit code (不是# bit code) BIT ind, bit code[, ARn] 影响TC, 数据被指定的位复制到TC,测试的位号=15 – bit code,所以要测试第6位的,那么bit code = 9。 我们可以在头文件中定义:BIT0 .set 15 BIT1 .set 14 …… 则在写BIT指令时就符合我们的习惯用法,如:BIT *, BIT0
6.BITT 按TREG进行位测试 BITT dma BITT ind[, ARn] 参考BIT指令,相当于的TREG低四位赋值给bit code后执行。
7.LDP 装载页面指针 LDP dma LDP ind[, ARn] LDP #k (k如果超过9位,编译时会发出警告并丢弃高7位) 影响DP位,LST #0也可以修改DP。
8.LST 装载状态寄存器 LST #m, dma m=0加载到ST0,m=1加载到ST1 LST #m, ind[, ARn] 影响ST0、ST1中除INTM外所有的标志位 指令可用来中断或程序调用后来恢复状态寄存器 LST #0改变ST0的ARP,ST1的ARB不受影响(原本是ARP改变时,原ARP值存入ARB)
LST #m, ind, ARn对ARP、ARB的影响同上,但乎略了ARn的影响。原指令等同于LST #m, ind (不写ARn可读性更好),即对ARP、ARB的影响来自间接寻址的数据。
状态寄存器的保留位总是读1,写操作对这些位无影响。
测试时数据一直不对,原来是间接寻址时,误认为是把当前AR的值装入STm,其实当前AR的值只是一个地址,装入的是AR值所指向的地址单元。修改程序后结果正确。
9.SST 保存状态寄存器 SST #m, dma 不论DP为何值,直接寻址总是保存在第0页 SST #m,ind[, ARn]
10.SPM 设定乘积输出方式 SPM constant(0~3) (不是# constant) constant->PM 参考PM说明
当constant超出范围时编译时不是警告后取低两位,而是错误提示。
11.RPT 重复下一条指令 RPT dma RPT ind[, ARn] RPT #k
重复执行下条指令N次,N为RPTC(16位重复计数器)的初始值加1。 在上下文转换时不能保存PRTC,PRTC被清0。器件复位PRTC清0。 重复循环可看作是可中断多期指令。
对于块移动,相乘/累加和规格化等操作,RPT特别有用。 重复指令本身不能被重复。如:RPT #1
RPT #3
编译可以通过,但运行时执行第二条RPT后,RPTC != 3,PRTC = 0。
12.POP 弹出栈至累加器 TOP(堆栈顶) -> ACC (硬件堆栈是FIFO 的8个单元) 堆栈中的每个值都复制到地址加1的堆栈单元。 要注意没有检查下溢的方法。
13.PUSH 累加器低位入栈 ACC -> TOP 堆栈中的每个值者复制到地址减一单元,最后一个数据丢失。
14.POPD 弹出堆栈至数据存储器 POPD dma POPD ind[, ARn]
15.PSHD 数据入栈 PSHD dma PSHD ind[, ARn]
正在阅读:
4.28335 DSP指令测试总结10-22
县长在2022年县委理论学习中心组读书班上的发言范文04-03
天津大学财务会计在线作业一满分答案04-30
社区矫正人员走访谈话笔录04-27
小学数学老师工作总结与小学数学老师教学经验交流材料(工作总结)汇编 doc.doc12-26
产业集群与区域经济的发展模式探究 - 以盱眙小龙虾产业集群为例03-29
西方经济学1000年来的标志性人物11-06
个人劳务合同(实用9篇)03-23
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 指令
- 4.28335
- 总结
- 测试
- DSP