讲义 实验二 基本运算 <本节选自为HK-DSP实验箱写的实验指导书,有待整理> DSP指令数量最多的是:算术指令、逻辑指令和数据加载与传送指令。数据加载与传送指 令由于处处要用,所以不单独列为实验。算术与逻辑指令也是数量繁多,无法一一举例,这 里简单举一个加法和除法的例子,乘法和乘加指令在FIR用得比较多,稍后一并介绍。其它 指令有兴趣可以对照指令表的说明,试验一下各指令运行的结果。 实验2.1 加减法计算 ************************************************ *计算z=x+y-w。 ************************************************ .mmregs .def CodeStart Data_DP: ;数据段指针 x: .word 10 ;初始化变量 y: .word 26 w: .word 23 z: .word 0 .text CodeStart: LD #Data_DP,DP ;装载数据指针DP STM #STACK+10H,SP SUMB: LD x,A ;A=x ADD y,A ;A=A+y SUB w,A ;A=A-w STL A,z ;z=A END: B END 计算结果数据存储器地址存储内容十进制 x1010H000aH10 y1011H001aH26 w1012H0017H23 z1013H000dH13 技巧提示:试验算术指令由于不需要外部资源,可以不需要仿真器和实验箱。同学们可以 平时自己用软件仿真,多多实验。但是复杂的算法最好还是在线仿真,因为程序是流水线 执行,软件仿真有时与实际硬件执行结果有所不同。 实验2.2 除法计算 DSP并没有除法指令,回想一下我们用在稿纸上演算除法列的竖式,实际是一种移位减法, DSP中也是通过做多次减法的办法来做除法。下……