描述
TMS320F24X 指令集累加器、算术与逻辑指令附件
TMS320F24X 指令集累加器、算术与逻辑指令
助记符 |
指令描述 |
指令字 |
周期 |
ABS |
ACC的绝对值 |
1 |
1 |
ADD |
加给ACC,带0~15-bit移位,直接或间接 |
1 |
1 |
加给ACC,带0~15-bit移位,长立即数 |
2 |
2 |
加给ACC,带16-bit移位,直接或间接 |
1 |
1 |
加给ACC,短立即数 |
1 |
1 |
ADDC |
加给ACC,带进位,直接或间接 |
1 |
1 |
ADDS |
加给ACC低段,带符号展开抑制,直接或间接 |
1 |
1 |
ADDt |
加给ACC,由TREG决定的移位,直接或间接 |
1 |
1 |
AND |
ACC与数据值,直接或间接 |
1 |
1 |
ACC与长立即数,带0~15- bit移位 |
2 |
2 |
ACC与长立即数,带16- bit移位 |
2 |
2 |
CMPL |
ACC取补 |
1 |
1 |
LACC |
带移位0~15-bit装入ACC,直接或间接 |
1 |
1 |
带移位0~15-bit装入ACC,长立即数 |
2 |
2 |
带移位16-bit装入ACC,直接或间接 |
1 |
1 |
LACL |
装入ACC的低段,直接或间接 |
1 |
1 |
装入ACC的低段,短立即数 |
1 |
1 |
LACt |
装入ACC,由TREG决定的移位(0~15- bit),直接或间接 |
1 |
1 |
NEG |
ACC取负 |
1 |
1 |
NORM |
ACC内容归一化,间接 |
1 |
1 |
OR |
ACC或数据值,直接或间接 |
1 |
1 |
ACC或长立即数,带0~15- bit移位 |
2 |
2 |
ACC或长立即数,带16- bit移位 |
2 |
2 |
ROL |
ACC循环左移 |
1 |
1 |
ROR |
ACC循环右移2 |
1 |
1 |
SACH |
存高段ACC,带移位0~7- bit,直接或间接 |
1 |
1 |
SACL |
存低段ACC,带移位0~7- bit,直接或间接 |
1 |
1 |
SFL |
ACC左移 |
1 |
1 |
SFR |
ACC右移 |
1 |
1 |
SUB |
从ACC减,带移位0~15- bit,直接或间接 |
1 |
1 |
从ACC减,带移位0~15- bit,长立即数 |
2 |
2 |
从ACC减,带移位16- bit,直接或间接 |
1 |
1 |
从ACC减,短立即数 |
1 |
1 |
SUBB |
从ACC带借位减,直接或间接 |
1 |
1 |
SUBC |
条件减,直接或间接 |
1 |
1 |
SUBS |
从ACC减,抑制符号展开,直接或间接 |
1 |
1 |
SUBt |
从ACC减,由TREG决定的移位(0~15- bit),直接或间接 |
1 |
1 |
助记符 |
指令描述 |
指令字 |
周期 |
XOR |
ACC异或数据值,直接或间接 |
1 |
1 |
ACC异或长立即数,带0~15- bit移位 |
2 |
2 |
ACC异或长立即数,带16- bit移位 |
2 |
2B |
ZALR |
ACC低段置0,舍入后装入ACC高段,直接或间接 |
1 |
1 |
辅助寄存器指令
助记符 |
指令描述 |
指令字 |
周期 |
ADRK |
常数加给AR,短立即数 |
1 |
1 |
BANZ |
当前AR非0转移,间接 |
2 |
2 |
CMPR |
当前AR与AR0比较 |
1 |
1 |
LAR |
从指定的数据位置装入指定的AR,直接或间接 |
1 |
2 |
常数装入指定的AR,短立即数 |
1 |
2 |
常数装入指定的AR,长立即数 |
2 |
2 |
MAR |
修改当前AR和>或ARP,间接(直接时无操作) |
1 |
1 |
SAR |
存指定的AR至指定位置,直接或间接 |
1 |
1 |
SBRK |
从当前AR减去常数,短立即数 |
1 |
1 |
暂时寄存器(TREG)、乘积寄存器(PREG)和乘法指令
助记符 |
指令描述 |
指令字 |
周期 |
APAC |
PREG加到ACC |
1 |
1 |
LPH |
装入PREG高位 |
1 |
1 |
Lt |
装入TREG,直接或间接 |
1 |
1 |
LTA |
装入TREG,累加前次乘积,直接或间接 |
1 |
1 |
LTD |
装入TREG,累加前次乘积,搬移数据,直接或间接 |
1 1 |
1 1 |
LTP |
装入TREG,存PREG入ACC,直接或间接 |
1 |
1 |
LTS |
装入TREG,减去前次乘积,直接或间接 |
1 |
1 |
MAC |
乘积累加,直接或间接 |
2 |
3 |
MACD |
乘积累加,数据转移,直接或间接 |
2 |
3 |
MPY |
TREG乘数据值,直接或间接 |
1 |
1 |
TREG乘13- bit常数,短立即数 |
1 |
1 |
MPYA |
乘且累加前次乘积,直接或间接 |
1 |
1 |
MPYS |
乘且减去前次乘积,直接或间接 |
1 |
1 |
MPYU |
乘无符号数,直接或间接 |
1 |
1 |
PAC |
PREG装入ACC |
1 |
1 |
SPAC |
从ACC减去PREG |
1 |
1 |
SPH |
存高段PREG,直接或间接 |
1 |
1 |
SPL |
存低段PREG,直接或间接 |
1 |
1 |
SPM |
设置乘积移位模式 |
1 |
1 |
SQRA |
平方且累加前次乘积,直接或间接 |
1 |
1 |
SQRS |
平方且减去前次乘积,直接或间接 |
1 |
1 |
转移指令
助记符 |
指令描述 |
指令字 |
周期 |
B |
无条件转移,间接 |
2 |
4 |
BACC |
转移至ACC指定的地址 |
1 |
4 |
BANZ |
当前AR非0时转移,间接 |
2 |
4 |
BCND |
条件转移 |
2 |
4 |
CALA |
调用ACC指定位置的子程序 |
1 |
4 |
CALL |
调用子程序,间接 |
2 |
4 |
CC |
条件调用 |
2 |
4 |
INTR |
软中断 |
1 |
4 |
NMI |
不可禁止的中断 |
1 |
4 |
REt |
从子程序返回 |
1 |
4 |
RETC |
条件返回 |
1 |
4 |
TRAP |
软件中断 |
1 |
4 |
控制指令
助记符 |
指令描述 |
指令字 |
周期 |
BIt |
位测试,直接或间接直接或间接 |
1 |
1 |
BITt |
由TREG指定的位测试,直接或间接 |
1 |
1 |
CLRC |
清除C位 |
1 |
1 |
清除CNF位 |
1 |
1 |
清除INTM位 |
1 |
1 |
清除OVM位 |
1 |
1 |
清除SXM位 |
1 |
1 |
清除TC位 |
1 |
1 |
清除XF位 |
1 |
1 |
IDLE |
停止执行,直至中断 |
1 |
1 |
LDP |
装入数据页指针,直接或间接 |
1 |
2 |
装入数据页指针,短立即数 |
1 |
2 |
LSt |
装入状态寄存器ST0,直接或间接 |
1 |
2 |
装入状态寄存器ST0,直接或间接 |
1 |
2 |
NOP |
无操作 |
1 |
1 |
POP |
将堆栈顶弹出至ACC低段 |
1 |
1 |
POPD |
将堆栈顶弹出至数据存储器,直接或间接 |
1 |
1 |
PSHD |
将数据存储器的值压入堆栈,直接或间接 |
1 |
1 |
PUSH |
将ACC低段压入堆栈 |
1 |
1 |
RPt |
重复执行下一条指令,直接或间接 |
1 |
1 |
重复执行下一条指令,短立即数 |
1 |
1 |
SETC |
设置C位 |
1 |
1 |
设置CNF位 |
1 |
1 |
设置INTM位 |
1 |
1 |
设置OVM位 |
1 |
1 |
设置SXM位 |
1 |
1 |
设置TC位 |
1 |
1 |
设置XF位 |
1 |
1 |
SPM |
设置乘积位移模式 |
1 |
1 |
SSt |
存状态寄存器ST0,直接或间接 |
1 |
1 |
存状态寄存器ST1,直接或间接 |
1 |
1 |
I/O 和存储器操作
助记符 |
指令描述 |
指令字 |
周期 |
BLDD |
数据块从数据存储器搬移至数据存储器,直接或间接,长立即数作源存储器地址 |
2 |
3 |
数据块从数据存储器搬移至数据存储器,直接或间接,长立即数作目标存储器地址 |
2 |
3 |
BLPD |
数据块从程序存储器搬移至数据存储器,直接或间接,长立即数作源存储器地址 |
2 |
3 |
DMOV |
数据在数据存储器中搬移,直接或间接 |
1 |
1 |
IN |
从I/O输入数据,直接或间接 |
2 |
2 |
OUt |
输出数据至口,直接或间接 |
2 |
3 |
SPLK |
存长立即数至数据存储器,直接或间接 |
2 |
2 |
TBLR |
读数据表,直接或间接 |
1 |
3 |
TBLW |
写数据表,直接或间接 |
1 |
3 |
打开APP阅读更多精彩内容