2024年4月1日发(作者:项目实施方案)
TMS320C2XX 汇编语言指令
一. 累加器、算术和逻辑指令
1.ADD 加至累加器
ADD
ADD
ADD
ADD
ADD
ADD
ADDC
ADDC
dma[
,
shift]
ind[,shift[,ARn]]
ind, 16[,ARn]
dma,16
# k
# lk[
,
shift]
dma
ind[,ARn]
LACL
LACL
20.LACC
LACC
LACC
LACC
LACC
LACC
18.LACT 按TREG规定的左移后装入
累加器低位
操作数同ADDC
19.LACL装载累加器低位并清累加器高
位
LACL dma
ind[,ARn]
# k
左移后装入累加器
dma[
,
shift]
dma,16
ind[,shift[,ARn]]
ind, 16[,ARn]
# lk[
,
shift]
4.
3.
三.TREG、PREG和乘法指令
1.
2.
APAC PREG加至累加器
LPH 装载PREG高位
LPH
LPH
dma
ind[,ARn]
LT 装载TREG
操作数同LPH
LTA 装载TREG并累加前次乘积
操作数同LPH
2.ADDC 带进位加至累加器
5. LTS装载TREG并减去前次乘积
操作数同LPH
6. LTD 装载TREG、累加前次乘积并传
送数据
操作数同LPH
7. LTP 装载TREG并将PREG存至累加
器
操作数同LPH
8. MAC 乘且累加
MAC
MAC
9.
pma
,
dma
pma
,
ind [,ARn]
3.ADDS 抑制符号扩展加至累加器
操作数同ADDC
4.ADDT 按T寄存器内容移位后加至累
加器
操作数同ADDC
5.SUB 从累加器减
操作数同ADD
6.SUBB 借位从累加器减
操作数同ADDC
7.SUBC 条件减
操作数同ADDC
8.SUBS 抑制符号扩展从累加器减
操作数同ADDC
9.SUBT 从累加器减去按T寄存器内
二
.
容移位的值
操作数同ADDC
10.ZALR 累加器低位清零且舍入装载2.
累加器高位
操作数同ADDC
11.ABS 累加器取绝对值
12.CMPL 累加器求补
13.NEG 累加器求负
14.NORM规格化累加器
NORM
AND
AND
AND
AND
ind
dma
ind[,ARn]
# lk
# lk,16
7.
6.
15.AND 和累加器逻辑“与”
5.
4.
3.
1.
21.ROL 累加器逻辑循环左移
22.ROR 累加器逻辑循环右移
23.SFL 累加器算术左移
24.SFR 累加器算术右移
25.SACH 移位并存储累加器高位
SACH
SACH
dma[
,
shift2 ]
ind[,shift2 [,ARn]] MACD 乘且累加并传送数据
操作数同MACD
26.SACL 移位并存储累加器低位
操作数同SACH
10. MPY 乘
MPY dma
ind[,ARn]
# k
MPY
MPY
辅助寄存器指令
ADRK 短立即数加至辅助寄存器
ADRK
SBRK
BANZ
CMPR
LAR
LAR
LAR
LAR
MAR
MAR
SAR
SAR
# k
# k
pma [,ind [,ARn]]
CM ;CM=0~3
ARx,dma
ARx,ind[,ARn]
ARx,# lk
ARx,# lk
dma
ind[,ARn]
ARx,dma
SBRK 从辅助寄存器中减去短立即数
BANZ 辅助寄存器不等于零转移
CMPR 比较当前辅助寄存器和AR0
LAR 装载辅助寄存器
11. MPYA 乘且累加前次乘积
操作数同LPH
12. MPYS 乘且减去前次乘积
操作数同LPH
13. MPYU 无符号乘
操作数同LPH
14. SQRA 平方且累加前次乘积
操作数同LPH
15. SQRS 平方且减去前次乘积
操作数同LPH
16. PAC 将PREG装入累加器
17. SPAC 从累加器减去PREG
18. SPH 存储PREG高位
操作数同LPH
19. SPL 存储PREG低位
操作数同LPH
20. SPM 设置PREG输出的移位方式
SPM constant ;0~3
MAR 修改辅助寄存器
16.OR 和累加器逻辑“或”
操作数同AND
17.XOR 和累加器逻辑“异或”
操作数同AND
SAR 存储辅助寄存器
ARx,ind[,ARn]
四. 转移指令
12. POPD栈顶弹出至数据存储器
1. B 无条件转移 POPD dma
B pma [,ind [,ARn]] POPD ind[,ARn]
2. BCND 条件转移 13. PSHD 数据存储器进栈
BCND pma
,
cond1[,cond2][,…]
操作数同POP
3. BACC 按累加器内容转移 14. RPT 重复执行下条指令
4. BANZ 辅助寄存器不等于零转移 操作数同LDP
BANZ pma [,ind [,ARn]] 15.SPM 设置PREG输出的移位方式
5. CALL 无条件调用 SPM constant ;0~3
操作数同B
6. CALA 调用累加器低16位指定地址
六. I/O和存储器指令
处的子程序
1. BLDD 数据存储器之间的块传送
7. CC 条件调用 BLDD # lk,dma
操作数同BCND
BLDD # lk,ind[,ARn]
8. INTR 软中断 BLDD dma,# lk
INTR K ; K=0~31 BLDD ind,# lk[,ARn]
9. NMI 不可屏蔽中断 2. BLPD 程序存储器至数据存储器间的
10. RET 从子程序返回
块传送
11. RETC 条件返回 BLPD # pma,dma
RETC cond1[,cond2][,…] BLPD # pma,ind[,ARn]
12. TRAP 软件陷井中断 3. DMOV片内数据存储器间的块传送
DMOV dma
五. 控制指令
DMOV ind [,ARn]
1. BIT 位测试 4. IN 从端口输入数据
BIT dma
,
bit code IN dma,PA
BIT ind
,
bit code [,ARn] IN ind
,
PA[,ARn]
2. BITT 测试TREG规定的位 5. OUT 从端口输出数据
BITT dma
操作数同IN
BITT ind [,ARn] 6. SPLK 存储长立即数至数据存储器
3. CLRC 清除控制位 SPLK # lk
,
dma
CLRC control bit SPLK # lk
,
ind[,ARn]
4. SETC 设置控制位 7. TBLR 表读
操作数同CLRC
TBLR dma
5. IDLE 空闲至中断发生 TBLR ind[,ARn]
6. LDP 装载数据页指针 8. TBLW 表写
LDP dma
操作数同TBLR
LDP ind[,ARn]
LDP # k *******************************
7. LST 装载状态寄存器
注:操作数说明
LST # m
,
dma
;
m=0,1 dma:数据存储器地址7位最低有效位
LST # m
,
ind [,ARn] shift:左移位数:0~15(缺省为0)
8. SST 存储状态寄存器 shift2:左移位数:0~7(缺省为0)
操作数同LST
n :用以指示下一辅助寄存器的值(0~7)
9. NOP 空操作 k :8位短立即数
10. POP 栈顶弹出至累加器低位 lk :16位长立即数
11. PASH 累加器低位进栈 ind:下列七种选项只一
*,*+,*-,*0+,*0-,*BR0+,*BP0-
bit code:用以指示被测试位位置的值
(0~15)
pma:16位程序存储器地址
m: 状态寄存器选择
0:ST0 1:ST1
constant:乘积移位方式的数值(0~3)
00H:PREG输出无移位
01H:PREG输出左移1位
10H:PREG输出左移4位
11H:PREG输出左移6位并进行符
号扩展
control bit:控制位
C: ST1的进位位
CNF: ST1的RAM配置控制位
INTM: ST0的中断方式位
OVM: ST0的溢出方式位
SXM: ST1的符号扩展方式位
TC: ST1的测试/控制标志位
XF: ST1的XF引脚状态位
cond:条件
EQ: ACC=0
NEQ: ACC=0
LT: ACC<0
GT: ACC>0
GEQ: ACC>=0
NC: C=0
C: C=1
NOV: OV=0
OV: OV=1
BIO: BIO低
NTC: TC=0
TC: TC=1
UNC: 无条件
PA:16位I/O或I/O映射寄存器地址
K:中断向量单元 (0~31)
CM:0~3
CM=00H:测试(当前AR)=(AR0)?
CM=01H:测试(当前AR)<(AR0)?
CM=10H:测试(当前AR)>(AR0)?
CM=11H:测试(当前AR)=(AR0)?
本文发布于:2024-04-01 13:54:54,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/zhishi/a/1711950894304709.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:TMS320C2XX汇编语言指令.doc
本文 PDF 下载地址:TMS320C2XX汇编语言指令.pdf
留言与评论(共有 0 条评论) |