admin 管理员组文章数量: 887021
2024年1月17日发(作者:企业网站建设兴田德润电话)
TMS320C2XX 汇编语言指令
一. 累加器、算术和逻辑指令
1.ADD 加至累加器
ADD dma[,shift]
ADD ind[,shift[,ARn]]
ADD ind, 16[,ARn]
ADD dma,16
ADD # k
ADD # lk[,shift]
2.ADDC 带进位加至累加器
ADDC dma
ADDC 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 累加器低位清零且舍入装载累加器高位
操作数同ADDC
11.ABS 累加器取绝对值
12.CMPL 累加器求补
13.NEG 累加器求负
14.NORM规格化累加器
NORM ind
15.AND 和累加器逻辑“与”
AND dma
AND ind[,ARn]
AND # lk
AND # lk,16
16.OR 和累加器逻辑“或”
操作数同AND
17.XOR 和累加器逻辑“异或”
操作数同AND
18.LACT 按TREG规定的左移后装入累加器低位
操作数同ADDC
19.LACL装载累加器低位并清累加器高位
LACL dma
LACL ind[,ARn]
LACL # k
20.LACC 左移后装入累加器
LACC dma[,shift]
LACC dma,16
LACC ind[,shift[,ARn]]
LACC ind, 16[,ARn]
LACC # lk[,shift]
21.ROL 累加器逻辑循环左移
22.ROR 累加器逻辑循环右移
23.SFL 累加器算术左移
24.SFR 累加器算术右移
25.SACH 移位并存储累加器高位
SACH dma[,shift2 ]
SACH ind[,shift2 [,ARn]]
26.SACL 移位并存储累加器低位
操作数同SACH
二. 辅助寄存器指令
1.ADRK 短立即数加至辅助寄存器
ADRK # k
2.SBRK 从辅助寄存器中减去短立即数
SBRK # k
3.BANZ 辅助寄存器不等于零转移
BANZ pma [,ind [,ARn]]
4.CMPR 比较当前辅助寄存器和AR0
CMPR CM ;CM=0~3
5.LAR 装载辅助寄存器
LAR ARx,dma
LAR ARx,ind[,ARn]
LAR ARx,# lk
LAR ARx,# lk
6.MAR 修改辅助寄存器
MAR dma
MAR ind[,ARn]
7.SAR 存储辅助寄存器
SAR ARx,dma
SAR ARx,ind[,ARn]
三.TREG、PREG和乘法指令
1.APAC PREG加至累加器
2.LPH 装载PREG高位
LPH dma
LPH ind[,ARn]
3.LT 装载TREG
操作数同LPH
4.LTA 装载TREG并累加前次乘积
操作数同LPH
5. LTS装载TREG并减去前次乘积
操作数同LPH
6. LTD 装载TREG、累加前次乘积并传送数据
操作数同LPH
7. LTP 装载TREG并将PREG存至累加器
操作数同LPH
8.MAC 乘且累加
MAC pma, dma
MAC pma,ind [,ARn]
9.MACD 乘且累加并传送数据
操作数同MACD
10. MPY 乘
MPY dma
MPY ind[,ARn]
MPY # k
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
四. 转移指令
1.B 无条件转移
B pma [,ind [,ARn]]
2.BCND 条件转移
BCND pma,cond1[,cond2][,…]
3.BACC 按累加器内容转移
4.BANZ 辅助寄存器不等于零转移
BANZ pma [,ind [,ARn]]
5.CALL 无条件调用
操作数同B
6. CALA 调用累加器低16位指定地址处的子程序
7.CC 条件调用
操作数同BCND
8.INTR 软中断
INTR K ; K=0~31
9.NMI 不可屏蔽中断
10. RET 从子程序返回
11. RETC 条件返回
RETC cond1[,cond2][,…]
12. TRAP 软件陷井中断
五. 控制指令
1.BIT 位测试
BIT dma,bit code
BIT ind,bit code [,ARn]
2.BITT 测试TREG规定的位
BITT dma
BITT ind [,ARn]
3.CLRC 清除控制位
CLRC control bit
4.SETC 设置控制位
操作数同CLRC
5.IDLE 空闲至中断发生
6.LDP 装载数据页指针
LDP dma
LDP ind[,ARn]
LDP # k
7.LST 装载状态寄存器
LST # m,dma
;m=0,1
LST # m,ind [,ARn]
8.SST 存储状态寄存器
操作数同LST
9.NOP 空操作
10. POP 栈顶弹出至累加器低位
11. PASH 累加器低位进栈
12. POPD栈顶弹出至数据存储器
POPD dma
POPD ind[,ARn]
13. PSHD 数据存储器进栈
操作数同POP
14. RPT 重复执行下条指令
操作数同LDP
15.SPM 设置PREG输出的移位方式
SPM constant ;0~3
六. I/O和存储器指令
1.BLDD 数据存储器之间的块传送
BLDD # lk,dma
BLDD # lk,ind[,ARn]
BLDD dma,# lk
BLDD ind,# lk[,ARn]
2. BLPD 程序存储器至数据存储器间的块传送
BLPD # pma,dma
BLPD # pma,ind[,ARn]
3.DMOV片内数据存储器间的块传送
DMOV dma
DMOV ind [,ARn]
4.IN 从端口输入数据
IN dma,PA
IN ind,PA[,ARn]
5.OUT 从端口输出数据
操作数同IN
6.SPLK 存储长立即数至数据存储器
SPLK # lk,dma
SPLK # lk,ind[,ARn]
7.TBLR 表读
TBLR dma
TBLR ind[,ARn]
8.TBLW 表写
操作数同TBLR
*******************************
注:操作数说明
dma:数据存储器地址7位最低有效位
shift:左移位数:0~15(缺省为0)
shift2:左移位数:0~7(缺省为0)
n :用以指示下一辅助寄存器的值(0~7)k :8位短立即数
lk :16位长立即数
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)?
版权声明:本文标题:TMS320C2XX 汇编语言指令 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1705444174h485035.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论