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,感謝您對本站的認可!
本文鏈接:http://m.newhan.cn/zhishi/a/1711950894304709.html
版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。
本文word下載地址:TMS320C2XX匯編語言指令.doc
本文 PDF 下載地址:TMS320C2XX匯編語言指令.pdf
| 留言與評論(共有 0 條評論) |