上传者: 22689231
|
上传时间: 2026-03-31 09:28:02
|
文件大小: 140KB
|
文件类型: DOC
TMS320F24x_DSP指令集
TMS320F24x_DSP指令集是TI公司生产的一种数字信号处理器(DSP),广泛应用于实时信号处理、图像处理、音频处理等领域。该指令集提供了大量的指令,涵盖了数据处理、算术逻辑运算、控制转移、辅助寄存器操作等多个方面。
一、算术逻辑指令
算术逻辑指令是DSP指令集的核心部分,提供了大量的算术运算、逻辑运算和移位运算指令。这些指令可以对ACC(累加器)和辅助寄存器(AR)进行操作,进行加、减、乘、除、逻辑 AND、OR、XOR 等操作。
* ABS:取 ACC 的绝对值
* ADD:将数据添加到 ACC
* ADDC:将数据添加到 ACC,带进位
* ADDS:将数据添加到 ACC,带符号展开抑制
* AND:将数据与 ACC 进行逻辑 AND 运算
* LACC:将数据加载到 ACC
* LACL:将数据加载到 ACC 的低段
* LACt:将数据加载到 ACC,由 TREG 决定的移位
* NEG:取 ACC 的负值
* NORM:ACC 内容归一化
* OR:将数据与 ACC 进行逻辑 OR 运算
* ROL:循环左移 ACC
* ROR:循环右移 ACC
* SUB:从 ACC 减去数据
* SUBB:从 ACC 减去数据,带借位
* SUBC:条件减法
* SUBS:从 ACC 减去数据,抑制符号展开
* SUBt:从 ACC 减去数据,由 TREG 决定的移位
* XOR:将数据与 ACC 进行逻辑 XOR 运算
二、辅助寄存器指令
辅助寄存器指令提供了大量的辅助寄存器操作指令,可以对辅助寄存器(AR)进行加载、存储、比较、加减法等操作。
* ADRK:将常数加载到 AR
* BANZ:当前 AR 非 0 时转移
* CMPR:当前 AR 与 AR0 比较
* LAR:从指定的数据位置加载到 AR
* MAR:修改当前 AR 和 ARP
* SAR:将 AR 存储到指定的位置
* SBRK:从当前 AR 减去常数
三、暂时寄存器(TREG)、乘积寄存器(PREG)和乘法指令
乘积寄存器(PREG)和暂时寄存器(TREG)是DSP指令集中的两个重要寄存器,提供了大量的乘法和累加操作指令。
* APAC:PREG 加到 ACC
* LPH:加载到 PREG 高位
* Lt:加载到 TREG
* LTA:加载到 TREG,累加前次乘积
* LTD:加载到 TREG,累加前次乘积,搬移数据
* LTP:加载到 TREG,存 PREG 入 ACC
* LTS:加载到 TREG,减去前次乘积
* MAC:乘积累加
* MACD:乘积累加,数据转移
* MPYT:TREG 乘数据值
* MPYA:乘且累加前次乘积
* MPYS:乘且减去前次乘积
* MPYU:乘无符号数
* PACPREG:装入 ACC
* SPAC:从 ACC 减去 PREG
* SPH:存高段 PREG
* SPL:存低段 PREG
* SPM:设置乘积移位模式
* SQRA:平方且累加前次乘积
* SQRS:平方且减去前次乘积
四、转移指令
转移指令提供了大量的转移操作指令,可以实现无条件转移、条件转移、子程序调用、返回等操作。
* B:无条件转移
* BACC:转移至 ACC 指定的地址
* BANZ:当前 AR 非 0 时转移
* BCND:条件转移
* CALA:调用 ACC 指定的子程序
* CALL:调用子程序
* CC:条件调用
* INTR:软中断
* NMI:不可禁止的中断
* RET:从子程序返回
* RETC:条件返回
* TRAP:软件中断
五、控制指令
控制指令提供了大量的控制操作指令,可以对状态寄存器(SR)进行操作,控制中断、清除状态位等。
* BIT:位测试
* BITt:由 TREG 指定的位测试
* CLRC:清除 C 位
* CLRN:清除 CNF 位
* CLI:清除 INTM 位
* CLRV:清除 OVM 位
* CLSXM:清除 SXM 位