文档详情

DSPC2000汇编指令.pdf

发布:2017-09-25约4.17万字共26页下载文档
文本预览下载声明
第六章 DSP的寻址方式和汇编指令    当硬件执行指令时,寻找指令所指定的参与运算飞操作数的方式——寻址方式。根据 程序的要求采用不同的寻址方式,可以有效地缩短程序的运行时间和提高代码执行效率。汇 编指令是可执行指令,每一条指令对应一条机器码,用来控制处理器仲的执行部分进行各种 操作。在本章节当中将主要以基于 C28x 的 DSP 芯片为例,为读者讲解 DSP 的寻址方式和汇 编指令系统,其中大部分内容也可适用于其他 Ti 公司的DSP产品。 6.1 汇编语言指令集概述 在学习 C28x 系列 DSP 的寻址方式和汇编指令指令之前,先来对一些基础的知识进行讲 解一下先,在汇编程序当中开发人员会常常使用到许多的特殊符号和标志,它们都具有特殊 的含义,在学习汇编之前读者们必须先理解这些符号和标志含义,在这里会对其中最常用最 重要的操作数符号和寄存器经行详细说明。 在进行汇编讲解之前先来了解一下开发的核心——CPU。在 TMS320C2000 系列中,CPU 内核为: C20x/C24x/C240x:C2xLP: C27x/C28x:C27x、C28x 这些 CPU 的硬件结构有一定差别,指令集也不相同,但是,在 C28x 芯片中可以通过选择兼 容特性模式,使 C28xCPU 与 C27xCPU 及 C2xLPCPU 具有最佳兼容性。可通过状寄存器 STl 的 位 OBJMODE和位 AMODE的组合,选定模式。 C28x 芯片具有 3 种操作模式: 1. C28x 模式:在该模式中,用户可以使用 C28x 的所有有效特性、寻址方式和指令系统, 因此,一般应使 C28x 芯片工作于该种模式。 2. C27x 目标——兼容模式:在复位时,C28x 的 CPU 处于 C27x 目标-兼容模式。在该模式 下,目标码与 C27xCPU完全兼容,且它的循环—计数也与 C27xCPU 兼容。 3. C2xLP 源——兼容模式:该模式允许用户运行 C2xLP 的源代码,这些源代码是用 C28x 代码生成工具编译生成的。 在下面的讲解当中会牵涉到模式的转换,希望读者要搞清楚每一个模式的对应关系。 本节假设条件为芯片工作于 C28x 模式(OBJMODE=1,AMODE=0)。复位后,通过执行指令 C28OBJ 或者SETC OBJMODE 将ST1 中的 OBJMODE位置 1,芯片即可工作于 C28x 模式。 6.1.1 DSP中的操作数 汇编语言离不开操作符和操作数,操作符可以认为就是 CPU的指令或者编译器上的伪指 令,操作数是指令执行过程中的参与者,也可以说操作数就是指令所控制的对象。 如表 6-1,表6-2 和表6-3对指令中常用到的一些操作数符号进行说明 符号 描述 XARn 32 位辅助寄存器 XAR0~XAR7 ARn,ARm 32 位辅助寄存器 XAR0~XAR7 的低 16 位 ARnH 32 位辅助寄存器 XAR0~XAR7 的高 16 位 ARPn 32 位辅助寄存器指针,ARP0 指向XAR0,ARP1 指向 XAR1…… AR(ARP) ARP 指向的辅助寄存器的低 16 位 XAR(ARP) ARP 指向的辅助寄存器 AX 累加器的高 16 位寄存器AH 或者16 位寄存器 AL # 立即数助记符 PM 乘积移位方式(+4 ,1 ,0 ,-1,-2,-3,-4 ,-5 ,-6) PC 22 位程序计数器 ~ 按位求反码 [loc16] Loc16 寻址方式对应的 16位数据 0:[loc16] 将 Loc16 寻址方式对应的 16 位数据进行零扩展 S:[loc16] 将 Loc16 寻址方式对应的 16 位数据进行符号扩展 [loc32] Loc32 寻址方式对应的 32位数据 0:[loc32] 将 Loc32 寻址方式对应的 32 位数据进行零扩展 S:[loc32] 将 Loc32 寻址方式对应的 32 位数据进行符号扩展 7bit 表示 7 位立即数 0:
显示全部
相似文档