DSP原理及应用试卷答案精编版
- 格式:docx
- 大小:524.26 KB
- 文档页数:8
5.CMD 文件的有两大功能,一是通过MEMORY 伪指令来指示存储空间,二是通过SECTIONS 伪指令来指明存储空间位置。
填空:1.TI 公司的定点DSP 产品主要有TMS320C2000 系列、TMS320C5000 系列和TMS320C6000 系列。
2.TMS320X2812 主频高达150mhz,采用哈佛总线结构模式。
3.TMS320X2812 芯片的封装方式有 176 引脚的PGF 低剖面四芯线扁平LQFP 封装和179 针的GHH 球形网络阵列 BGA 封装。
4.TMS320X2812 的事件管理器模块包括 2 个通用定时器、 3 个比较单元、 3 个捕获单元、以及 1 个正交编码电路。
5.CMD 文件的有两大功能,一是通过MEMORY 伪指令来指示存储空间,二是通过sections 伪指令来分配到存储空间。
6.“# pragma DATA_SECTION”命令用来定义数据段,“# pragma DATA_SECTION”命令用来定义。
7.TMS320X2812 三级中断分别是CPU 级、 PIE 中断和外设级。
8.F2812 存储器被划分成程序空间和数据空间、保留区和 CPU 中断向量。
9.SCI 模块的信号有外部信号、控制信号和中断信号。
10.F2812 DSP 中传送执行指令所需的地址需要用到 PAB 、DRAB 和EAB 这3 条地址总线。
11.C 语言程序经过编译后会生成两大类的段:代码段和数据段。
简答:1.DSP 芯片有哪些主要特点?DSP 的主要特点有:1.哈佛结构2.多总线结构3.流水线结构4.多处理单元2.简述典型DSP 应用系统的构成。
5 特殊的DSP 指令6.指令周期短7.运算精度高8.硬件配置强。
一个典型的DSP 系统应包括抗混叠滤波器、数据采集A/D 转换器、数字信号处理器DSP、D/A 转换器和低通滤波器等组成。
输入信号首先进行带限滤波和抽样,然后进行数模变换将信号变换成数字比特流,根据奈奎斯特抽样定理,对低通模拟信号,为保持信号的不丢失,抽样频率至少必须是输入带限信号最高频率的 2 倍。
[DOC]-DSP原理及应用试卷答案DSP原理及应用试卷答案通信系《DSP原理及应用》期末考试题(答案)一、填空题(每空2分,共20分)1、在C语言和C55x汇编语言的混合程序设计中,C函数的参数和返回值传递到C55x的寄存器中。
在函数“long func(int *p1, int i2, int i3, inti4)”中,*p1传递到 AR0 寄存器,i2传递到 T0 寄存器,i4传递到 AR1 寄存器,返回值由 AC0 寄存器传递。
2、汇编语言“mov *AR0,AC0”使用的寻址方式是间接寻址模式,“mov#0x3,DPH”使用的寻址方式是直接寻址模式,“mov *(#0x011234),T2”使寻址方式是绝对寻址模式。
用的3、指令执行前AC0的值是0012345678,那么汇编语句“AND #0x7f,AC0”,执行之后,AC0的值是 0000000078 。
4、C55x 的链接器命令文件中,SECTIONS命令的主要作用是告诉链接器如何将输入段组合成输出段,以及在存储器何处存放输出。
MEMORY命令的主要作用是定义目标系统的存储器配置图,包括对存储器各部分的命名,以及规定它们的起始地址和长度。
二、简述题(共40分)1、根据你的理解,试列举 DSP 芯片的特点,(5分)答:哈佛结构;多总线结构;指令系统的流水线操作;专用的硬件乘法器;特殊的DSP指令;快速的指令周期;丰富的外设2、TMS320C55x 芯片的总线结构有何特点,主要包括哪些总线,它们的功能是什么,(6分)答:TMS320C55x DSP采用先进的哈佛结构并具有十二组总线,其独立的程序总线和数据总线允许同时读取指令和操作数,实现高度的并行操作。
采用各自分开的数据总线分别用于读数据和写数据,允许CPU在同一个机器周期内进行两次读操作数和一次写操作数。
独立的程序总线和数据总线允许CPU同时访问程序指令和数据。
包括12条总线,分别是:PAB和PB、BAB和BB、CAB和CB、DAB和DB、EAB和EB、FAB和FB。
《DSP 原理与应用》练习题参考答案24学时版本 用于通信方向注意:红色字体文字为解题注解与说明,万万不可作为答题内容1. Q.15表示是16位数据中第15位为符号位,第14~0位为小数位。
试写出下面问题的答案: ⑴ 分别写出十进制正数 0.68和十进制负数-0.245的Q.15表示。
0.68*32768=570AH-0.245*32768=-1F5CH=E0A4H⑵ 分别写出Q.15表示的A200H 和5A00H 的十进制数值。
A200H/32768=-5E00H/32768=- 0.734375 5A00H/32768=0.703125上面两小题使用教材 P7两条公式,公式中 Q 为数据中的小数位数,digits<->data 。
取补码的正规方法 是按位取反得到的反码加上1。
16进制下快速算法是找出互补的数,即加上该互补数得10000H 。
例如求 1F5CH 补码,1F5CH+E0A4H=10000H 。
故 E0A4H 为所求。
⑶ 已知两个Q.15数相乘的乘积存放于累加器A 中。
FRCT=O 时A 为16进制OxFFEAOOOOOO ,该乘积的十进制数是多少? FRCT=1时A 为16进制0X007D000000,该乘积的十进制数又是多少? FRCT=0时累加器A 低30位为小数位 乘积既非Q.31,也非Q.30解法一, 写出小数点后二进制位数值 ,乘积为-16000000H ,小数点后的二进制为01011B ,得2-2+2-4+2-5=-11/25=-0.34375解法二,运用教材 P7 公式,EA000000/2 30=-16000000//2 30=-11/25=-0.34375 FRCT=1时累加器A 低31位为小数位 乘积为Q.31,其中高16位为Q.15解法一,写出小数点后二进制位数值,乘积7D000000H 小数点后的二进制为1111101B ,得 2-1+2-2+2-3+2-4+2-5+2-7=125/27= 0.9765625解法二,运用教材 P7 公式,7D000000H/2 31=125/27= 0.9765625解法三,取乘积 Q.15形式,乘积 Q.15形式为7D00H=32000/32768=0.97656251000H 存放 27246,1001H 存放 12540,结果存放 1002H SSBX FRCTMPY *(1000H), #192, A MPYA *(1001H) STH B, *(1002H)以上有符号数乘法中小数点位置:2.解决图像编码中常见的8x8离散余弦变换在 VC5402 DSP 上定点运算问题。
DSP原理及应用考试卷3答案DSP课程考试试卷3 一、填空(每空1分,共30分)1. TI公司的定点DSP产品主要有 TMS320C2000 系列、TMS320C5000系列和TMS320C6000 系列。
2. ’C54x DSP中传送执行指令所需的地址需要用到 PAB 、CAB、DAB和 EAB4条地址总线。
3. DSP的内部存储器类型可分为随机存取存储器(RAM)和只读存储器(ROM)。
其中RAM又可以分为两种类型:单寻址RAM(SARAM)和双寻址RAM(DARAM)。
4. ’C54x DSP的内部总存储空间为192K字,分成3个可选择的存储空间:64K 字的程序存储空间、64K字的数据存储空间和64K字的 I/O空间。
5. 从功能结构上,’C54X DSP的CPU可以划分成运算部件和控制部件两大部分。
6. ’C54x DSP的寻址方式有七种,分别为立即寻址、绝对寻址、累加器寻址、直接寻址、间接寻址、存储器映象寄存器寻址、堆栈寻址。
7. 在’C54x DSP寻址和指令系统中,Xmem和Ymem表示 16位双寻址操作数,Dmad为16位立即数,表示数据存储器地址,Pmad为16位立即数,表示程序存储器地址。
8. 程序计数器的值可以通过复位操作、顺序执行指令、分支转移,累加器转移,块重复,子程序调用,从累加器调用子程序,中断等操作改变。
9. ’C54x DSP芯片采用了6级流水线的工作方式,即一条指令分为预取指、取指、译码、寻址、读数和执行6个阶段。
10. 解决MMR写操作的流水线冲突时,一般可用采用推荐指令和插入空操作指令的方法。
11.’C54x DSP定时器由3个16位存储器映射寄存器组成:定时器寄存器(TIM)、定时器周期寄存器(PRD)和定时器控制寄存器(TCR) 。
12. 主机接口(HPI,Host Port Interface) 是TMS320C54x 系列定点芯片内部具有班级: 姓名: 准考证号: 任课教师考场教室座位号―――――――――――――――――――装订线――――――――――――――― 的一种接口部件,主要用于DSP与其他总线或CPU进行通信。
dsp技术及应用期末考试题及答案一、选择题(每题2分,共20分)1. DSP技术中的“DSP”代表什么?A. Digital Signal ProcessingB. Digital Signal ProcessorC. Digital Signal ProtocolD. Digital Storage Product答案:B2. 下列哪项不是DSP处理器的特点?A. 高速度B. 低功耗C. 通用性D. 可编程性答案:C3. DSP处理器通常用于处理什么类型的信号?A. 模拟信号B. 数字信号C. 模拟和数字信号D. 非线性信号答案:B4. 在DSP系统中,用于存储程序和数据的存储器类型是?A. ROMB. RAMC. EPROMD. 以上都是答案:D5. 下列哪个算法不是DSP技术中常用的算法?A. FFTB. DCTC. PIDD. PID答案:C二、填空题(每题2分,共20分)1. DSP技术的核心是______。
答案:数字信号处理器2. DSP处理器通常采用______位数据总线。
答案:16或323. 在DSP系统中,______用于实现数据的高速输入输出。
答案:DMA4. DSP处理器的指令周期通常包括______、执行和中断响应。
答案:取指5. DSP技术在______领域有广泛应用。
答案:通信、音频处理、图像处理等三、简答题(每题10分,共30分)1. 简述DSP技术在音频处理中的应用。
答案:DSP技术在音频处理中的应用包括音频压缩、噪声抑制、回声消除、音频增强等。
2. 解释FFT算法在DSP技术中的重要性。
答案:FFT算法是一种快速傅里叶变换算法,它能够高效地计算信号的频谱,对信号进行频域分析,广泛应用于数字通信、图像处理等领域。
3. 描述DSP处理器在数字图像处理中的作用。
答案:DSP处理器在数字图像处理中的作用包括图像压缩、图像增强、图像恢复、图像识别等。
四、计算题(每题15分,共30分)1. 给定一个离散时间信号x[n] = {1, 2, 3, 4},计算其DFT。
DSP原理及应用答案(精)广东白云学院2013—2014学年第二学期期末考试《DSP原理及应用》(A卷)参考答案及评分标准适用专业及方向:电子信息工程、通信工程层次:本科年级:11 级限时:120 分钟考试形式:闭卷考场要求:笔试分)1、DSP定点数值为0x6000,若它是Q15(或S0.15)定标的有符号小数,它的数值是( 0.75 );若是Q0(或S15.0)格式有符号整数,则它的数值是( 24576 )。
2、'C54x芯片分成( 3 )个相互独立的可选择的存储空间,其中程序存储器空间在不扩展的情况下可寻址(64K )字。
3、与单片机相比,DSP采用了改进型(哈佛)结构和流水线/或并行技术,多了硬件乘加器,是(运算密集)型处理器,运算速度和(精度)高。
4、’DSP在CPL=0时,操作数@y的实际地址是将( DP )寄存器的内容作为地址的高( 9 )位,再加上y提供的低( 7 )位偏移地址。
5、COFF文件的基本单元是(段)。
它是就是最终在存储器映象中占据连续空间的一个数据或代码块。
6、AR1=1001H时,执行DST A,*AR1指令后,AH内容存入地址(1001H)的单元,AL存入地址(1000H)的单元。
7、指令ADD #4567H, 8, A,B执行前A=00001234H,B=00001100H,执行后A和B的值分别为( 00001234H )、( 00457934H )。
第 1 页共 12 页8、 'C54x芯片的中断系统可分为硬件中断和(软件中断),还可以分为可屏蔽中断和(非屏蔽中断)。
9、'C54x芯片的硬件复位地址为( FF80H ),INT0的中断序号为16,IPTR=1FFH时其中断向量地址为( FFC0H )。
10. 在’C54x DSP寻址和指令系统中,操作数Xmem和Ymem 表示(数据存储器双寻址数据),Lmem表示(长字寻址的32位数据存储器数据)。
dsp原理及应用试卷及答案【篇一:dsp原理及应用_复习题】ass=txt>1.累加器a分为三个部分,分别为。
1.ag,ah,al2.tms320vc5402型dsp的内部采用2.8,163.tms320vc5402型dsp采用总线结构对程序存储器和数据存储器进行控制。
3.哈佛4.tms329vc5402型dsp有个辅助工作寄存器。
4.8个5.dsp处理器tms320vc5402中daram的容量是字。
5.16k字6.ti公司的dsp处理器tms320vc5402pge100有___________个定时器。
6.27.在链接器命令文件中,page 1通常指________存储空间。
7.数据8.c54x的中断系统的中断源分为_______中断和____ ____中断。
8.硬件、软件1.ti公司dsp处理器的软件开发环境是__________________。
1.答:ccs(code composer studio)2.dsp处理器tms320vc5402外部有___________根地址线。
2.答:20根3.直接寻址中从页指针的位置可以偏移寻址3.答:1284.在链接器命令文件中,page 0通常指________存储空间。
4.答:程序5.c54x系列dsp处理器中,实现时钟频率倍频或分频的部件是_____________。
5.答:锁相环pll6.tms320c54x系列dsp处理器上电复位后,程序从指定存储地址________单元开始工作。
6.答:ff80h7.tms320c54x系列dsp处理器有_____个通用i/o引脚,分别是_________。
7.答:2个,bio和xf8.dsp处理器按数据格式分为两类,分别是;。
8.答:定点dsp和浮点dsp9.tms329vc5402型dsp的st1寄存器中,intm位的功能是。
9.答:开放/关闭所有可屏蔽中断10.ms320c54x dsp主机接口hpi是________位并行口。
数字信号处理DSP原理及应用考试一、选择题1.’C54x 进行32位长数据读操作时使用的数据总线是( )。
[单选题] *A) CB和EBB) EB和DBC) CB和DB*D) CB、DB和EB2.以下哪种方法不能清除中断标志寄存器IFR中的中断标志位。
( ) [单选题] *A) 硬件复位B) 软件复位C) 软件置位IFR寄存器中的标志位D) 软件清零IFR寄存器中的标志位*3.下列说法中错误的是( )。
[单选题] *A) 每个DARAM块在单周期内能被访问2次。
B) 每个SARAM块在单周期内只能被访问1次。
C) 片内ROM主要存放固化程序和系数表,只能作为程序存储空间。
*D) DARAM和SARAM既可以被映射到数据存储空间用来存储数据,也可以映射到程序空间用来存储程序代码。
4. 若程序中对堆栈设置如下,则下列说法错误的是( )。
size .set 120stack .usect “STACK”,sizeSTM # stack + size,SP [单选题] *A) 此堆栈段的段名为STACKB) 此堆栈段共120个单元C) 此堆栈段第一个变量的名为size称*D) 堆栈设置好后,堆栈指针SP指向栈底5.若要累加器A大于0或溢出时,程序转移至sub,可以实现此功能的指令是( )。
[单选题] * A) BC sub, AGT B) BC sub, AGT, AOV*BC sub, AOVC) BC sub, AGT D) BC sub, AGT, ANOVBC sub, ANOV6.执行指令PSHM AR5之前SP=03FEH,则指令执行后SP=( ) [单选题] *A) 03FDH*B) 03FFHC) 03FCHD) 0400H7.以下控制位中哪一位用来决定程序存储空间是否使用内部RAM。
( ) [单选题] *A) MP/B) OVLY*C) DROMD) SXM8. 下列指令中,哪条指令的写法是错误的。
一、填空题1.TMS320C5000系列DSP芯片包括( TMS320C54x )和( TMS320C55x)两大类。
这两类芯片完全兼容,所不同的是TMS320C55x具有更低的功耗和更高的性能。
2.TMS320系列DSP芯片的基本结构特点包括:(1、哈佛结构);(2、流水线操作);(3、专用的硬件乘法器);(4、特殊的DSP指令 )和(5、快速的指令周期)。
3.数字信号处理的实现方法有(在通用的计算机上用软件实现)、(在通用的计算机系统中加上专用的加速处理机实现)、(用通用的单片机实现)、(用通用的DSP芯片实现)和(用专用的DSP芯片实现)。
4.TMS320C54XDSP总的基本存储空间为( 192 )K字,其中数据空间( 64 )K字,程序空间( 64 )K字和I/O空间( 64 )K字。
5.除TI公司外,比较著名的DSP芯片生产商还有:(AT&T)(AD)和(Motorola)等。
6.TMS320C5000的中央处理单元主要由(算术逻辑单元)、(累加器)、(乘累加器)、(移位寄存器)和(寻址单元)组成。
7.TMS320C54X的指令集包含了4种基本类型的操作,即(算术指令)、(逻辑指令)、(程序控制指令)和(封装和存储指令)。
8.C54X DSP共有7种有效的数据寻址方式,分别为(立即数寻址)、(绝对地址寻址)、(累加器寻址)、(直接寻址)、(间接寻址)、(存储器映射寄存器寻址)和(堆栈寻址)。
9.TMS320C54X有( 8 )条16位总线。
包括(4)条程序/数据总线和(4)条地址总线。
10. TMS320C54X的串口有4中类型:(标准同步串行口),(缓冲串行口),(时分复用串行口),(多通道缓冲串行口)。
11. TMS320C54X系列芯片中有两个(40)位的累加器,每个累加器分为三个部分(保护位)、(高位字)和(低位字)。
12. TMS320C5000提供了7中基本的数据寻址方式:立即数寻址、绝对地址寻址、累加器寻址、直接寻址、间接寻址、存储区映射寄存器寻址、堆栈寻址。
广东白云学院2013—2014学年第二学期期末考试《DSP原理及应用》(A卷)参考答案及评分标准适用专业及方向:电子信息工程、通信工程层次:本科年级: 11 级限时: 120 分钟考试形式:闭卷考场要求:笔试分) 1、DSP定点数值为0x6000,若它是Q15(或S0.15)定标的有符号小数,它的数值是( 0.75 );若是Q0(或S15.0)格式有符号整数,则它的数值是( 24576 )。
2、'C54x芯片分成( 3 )个相互独立的可选择的存储空间,其中程序存储器空间在不扩展的情况下可寻址( 64K )字。
3、与单片机相比,DSP采用了改进型(哈佛)结构和流水线/或并行技术,多了硬件乘加器,是(运算密集)型处理器,运算速度和(精度)高。
4、’DSP在CPL=0时,操作数@y的实际地址是将( DP )寄存器的内容作为地址的高( 9 )位,再加上y提供的低( 7 )位偏移地址。
5、COFF文件的基本单元是(段)。
它是就是最终在存储器映象中占据连续空间的一个数据或代码块。
6、AR1=1001H时,执行DST A,*AR1指令后,AH内容存入地址(1001H)的单元,AL存入地址(1000H)的单元。
7、指令ADD #4567H, 8, A,B执行前A=00001234H,B=00001100H,执行后A和B的值分别为( 00001234H )、( 00457934H )。
第 1 页共 12 页8、 'C54x芯片的中断系统可分为硬件中断和(软件中断),还可以分为可屏蔽中断和(非屏蔽中断)。
9、'C54x芯片的硬件复位地址为( FF80H ),INT0的中断序号为16,IPTR=1FFH时其中断向量地址为( FFC0H )。
10. 在’C54x DSP寻址和指令系统中,操作数Xmem和Ymem表示(数据存储器双寻址数据),Lmem表示(长字寻址的32位数据存储器数据)。
D S P原理及应用试卷答案公司内部编号:(GOOD-TMMT-MMUT-UUPTY-UUYY-DTTI-通信系《DSP原理及应用》期末考试题(答案)姓名:学号:班级:分数:考试时间:15:40~17:30 考试方式:开卷;注意:所有答案必须写在答题纸上,试卷上的答案无效!一、填空题(每空2分,共20分)1、在C语言和C55x汇编语言的混合程序设计中,C函数的参数和返回值传递到C55x的寄存器中。
在函数“long func(int *p1, int i2, int i3, int i4)”中,*p1传递到AR0寄存器,i2传递到T0寄存器,i4传递到AR1寄存器,返回值由AC0寄存器传递。
2、汇编语言“mov *AR0,AC0”使用的寻址方式是间接寻址模式,“mov#0x3,DPH”使用的寻址方式是直接寻址模式,“mov *(#0x011234),T2”使用的寻址方式是绝对寻址模式。
3、“AND #0x7f, AC0”,执行之后,AC0的值是0000000078。
4、C55x 的链接器命令文件中,SECTIONS命令的主要作用是告诉链接器如何将输入段组合成输出段,以及在存储器何处存放输出。
MEMORY命令的主要作用是定义目标系统的存储器配置图,包括对存储器各部分的命名,以及规定它们的起始地址和长度。
二、简述题(共40分)1、根据你的理解,试列举 DSP 芯片的特点(5分)答:哈佛结构;多总线结构;指令系统的流水线操作;专用的硬件乘法器;特殊的DSP指令;快速的指令周期;丰富的外设2、TMS320C55x 芯片的总线结构有何特点,主要包括哪些总线它们的功能是什么(6分)答:TMS320C55x DSP采用先进的哈佛结构并具有十二组总线,其独立的程序总线和数据总线允许同时读取指令和操作数,实现高度的并行操作。
采用各自分开的数据总线分别用于读数据和写数据,允许CPU在同一个机器周期内进行两次读操作数和一次写操作数。
独立的程序总线和数据总线允许CPU同时访问程序指令和数据。
包括12条总线,分别是:PAB和PB、BAB和BB、CAB和CB、DAB和DB、EAB和EB、FAB和FB。
功能:3、DSP 为了降低功耗采取了哪些措施?(6分)答:双电压供电;多种工作模式4、TMS320C55x 的总存储空间为多少可分为哪 3 类,它们的大小是多少存储器空间的各自作用是什么?(6分)答:程序空间16M Byte;I/O空间64K Words;数据空间8M Words5、TMS320C55x有哪些寻址方式,它们是如何寻址的?试为每种寻址方式列举一条指令(6分)答:直接寻址模式,mov #K16,DP;间接寻址模式,mov *AR0,AC0;绝对寻址模式,mov *(#0x011234),T2;MMR 寻址模式,mov *abs16(#AR2), T2;寄存器位寻址模式,btstp @30, AC1;圆形寻址模式。
6、将C 源程序转换成可执行文件需要经过哪些步骤?(6分)答:创建C 源文件;创建工程文件;创建连接器命令文件;编译整个工程文件;链接;生成可执行文件7、常用的TMS320C55x 汇编命令有哪些,它们的作用是什么?(5分)三、程序设计题(共40分)1、用C55x 汇编语言实现计算 ∑==41i i i x a y 的程序。
(10分)答:mpym *AR0+, *AR1+, AC0mpym *AR0+, *AR1+, AC1add AC1, AC0mpym *AR0+, *AR1+, AC1add AC1, AC0mpym *AR0+, *AR1+, AC1add AC1, AC0或者:mpym *AR0+, *AR1+, AC0||rpt #2macm *AR0+, *AR1+, AC02、用C55x 汇编语言实现计算 22111**a x a x y -=的程序。
(10分)答:mpym *AR0+, *AR1+, AC3masm *AR0+, *AR1+, AC33、以8点的FFT为例,用C55x的汇编语言实现FFT的算法,并且解释该算法的实现方法。
(20分)答:.sect "fft_code"_fft:aadd #(ARGS-Size+1),SP ; Adjust stack for local varsmov mmap(ST1_55),AR2 ; Save ST1,ST3mov mmap(ST3_55),AR3mov AR2,mov AR3,btst @#0,T1,TC1 ; Check SCALE flag setmov #0x6340,mmap(ST1_55) ; Set CPL,XF,SATD,SXAM,FRCT(SCALE=1)mov #0x1f22,mmap(ST3_55) ; Set: HINT,SATA,SMULxcc do_scale,TC1mov #0x6300,mmap(ST1_55) ; Set CPL,XF,SATD,SXAM (SCALE=2) do_scalemov T2, ; Save T2|| mov #1,AC0mov AC0, ; Initialize L=1|| sfts AC0,T0 ; T0=EXPmov AC0, ; N=1<<EXPmov XAR1,XCDP ; CDP = pointer to U[]mov XSP,XAR4add #,AR4 ; AR4 = pointer to tempmov XAR0,XAR1 ; AR1 points to sample buffer mov T0,T1mov XAR0,XAR5 ; Copy externd bits to XAR5 outer_loop ; for (L=1; L<=EXP; L++)mov ,T0 ; note: Since the buffer is|| mov #2,AC0 ; arranged in re,im pairs sfts AC0,T0 ; the index to the buffer neg T0 ; is doubled|| mov ,AC1 ; But the repeat coutnerssftl AC1,T0 ; are not doubledmov AC0,T0 ; LE=2<<L|| sfts AC0,#-1mov AC0,AR0 ; LE1=LE>>1|| sfts AC0,#-1sub #1,AC0 ; Init mid_loop countermov mmap(AC0L),BRC0 ; BRC0=LE1-1sub #1,AC1 ; Init inner loop countermov mmap(AC1L),BRC1 ; BRC1=(N>>L)-1add AR1,AR0mov #0,T2 ; j=0|| rptblocal mid_loop-1 ; for (j=0; j<LE1;j++)mov T2,AR5 ; AR5=id=i+LE1mov T2,AR3add AR0,AR5 ; AR5 = pointer to X[id].readd #1,AR5,AR2 ; AR2 = pointer to X[id].imadd AR1,AR3 ; AR3 = pointer to X[i].re|| rptblocal inner_loop-1 ; for(i=j; i<N; i+=LE)mpy *AR5+,*CDP+,AC0 ; AC0=(X[id].re*:: mpy *AR2-,*CDP+,AC1 ; -X[id].im*/SCALEmasr *AR5-,*CDP-,AC0 ; AC1=(X[id].im* :: macr *AR2+,*CDP-,AC1 ; +X[id].re*/SCALEmov pair(hi(AC0)),dbl(*AR4); AC0H= AC1H=|| mov dbl(*AR3),AC2xcc scale,TC1|| mov AC2>>#1,dual(*AR3) ; Scale X[i] by 1/SCALEmov dbl(*AR3),AC2scaleadd T0,AR2|| sub dual(*AR4),AC2,AC1 ; X[id].re=X[i].re/mov AC1,dbl(*(AR5+T0)) ; X[id].im=X[i].im/|| add dual(*AR4),AC2 ; X[i].re=X[i].re/SCALE+mov AC2,dbl(*(AR3+T0)) ; X[i].im=X[i].im/SCALE+inner_loop ; End of inner loopamar *CDP+amar *CDP+ ; Update k for pointer to U[k] || add #2,T2 ; Update jmid_loop ; End of mid-loopsub #1,T1add #1, ; Update Lbcc outer_loop,T1>0 ; End of outer-loopmov ,AR2 ; Restore ST1,ST3,T2mov ,AR3mov AR2,mmap(ST1_55)mov AR3,mmap(ST3_55)mov ,T2aadd #(Size-ARGS-1),SP ; Reset SPret.end。