第六講 算術運算指令與邏輯運算指令111201

第六講 算術運算指令與邏輯運算指令111201

ID:19750792

大小:639.50 KB

頁數:35頁

時間:2018-10-05

第六講 算術運算指令與邏輯運算指令111201_第1頁
第六講 算術運算指令與邏輯運算指令111201_第2頁
第六講 算術運算指令與邏輯運算指令111201_第3頁
第六講 算術運算指令與邏輯運算指令111201_第4頁
第六講 算術運算指令與邏輯運算指令111201_第5頁
資源描述:

《第六講 算術運算指令與邏輯運算指令111201》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫

1、第六講算術運算指令與邏輯運算指令TMS320C54X共有129條指令。按功能分為4大類:?算術運算指令;?邏輯運算指令;?程序控制指令;?存儲和裝入指令。1.算術運算指令(79條分為6小類)?加法指令(ADD);?減法指令(SUB);?乘法指令(MPY);?乘加指令(MAC)和乘減指令(MAS);?雙數/雙精度指令(DADD、DSUB);?特殊操作指令(ABDST、SQDST)。(1)加法指令(13條)《附錄ATMS320C54X指令集》說明:①不同的加法指令用途不同;ADD:不帶進位;ADD《:不帶進位

2、、移位;ADDC:帶進位;ADDM:專用于立即數;ADDS:無符號數;AddInstructions附錄A加法指令舉例【例1】ADD*AR3+,14,A;;指令受SXM和OVM狀態(tài)標志的影響,;指令執(zhí)行結果影響C和OVA/OVB;加法指令舉例【例1】ADD*AR3+,14,A;指令受SXM和OVM狀態(tài)標志的影響,;指令執(zhí)行結果影響C和OVA/OVB;(2)減法指令(13條)《附錄A》說明:SUBS用于無符號數的減法運算;SUBB用于帶借位的減法運算(如32位擴展精度的減法);SUBC為條件減法.減法指令舉

3、例【例2】SUBB*AR1+,B;;指令受C和OVM狀態(tài)標志的影響,;指令執(zhí)行結果影響C和OVsrc;減法指令舉例【例2】SUBB*AR1+,B;;指令受C和OVM狀態(tài)標志的影響,;指令執(zhí)行結果影響C和OVsrc;(3)乘法指令(10條)《附錄A》說明:①不同的乘法指令完成不同的功能MPY:普通乘指令;MPYR:帶四舍五入指令;MPYA:A累加器高端參與乘法;MPYU:無符號乘法;SQUR:平方;②小數乘法將FRCT設置為1,系統(tǒng)自動將乘積結果左移1位。乘法指令舉例【例3】MPY13,A;P164;指令受

4、FRCT和OVM狀態(tài)標志的影響,;指令執(zhí)行結果影響OVdst;(4)乘加和乘減指令(15條)《附錄A》【例4】MAC*AR5+,A;A+(AR5)*T→A,AR5=AR5+1(4)乘加和乘減指令(15條)《附錄A》【例4】MAC*AR5+,A;A+(AR5)*T→A,AR5=AR5+1MAC*AR3+,*AR4+,A;?Example5:MACR*AR5+,*AR6+,A,BExample5:MACR*AR5+,*AR6+,A,B問題?請用ADD和MPY指令代替MAC*AR5+,#1234h,AMPY*A

5、R5+,#1234h,BADDB,A?什么區(qū)別?(5)長操作數指令(6條)《附錄A》DADDLmem,src[,dst];P149例6:DADD*AR3–,A,B;ST1中的C16決定了指令的執(zhí)行方式。例6:DADD*AR3–,A,B;ST1中的C16決定了指令的執(zhí)行方式。(6)特殊應用指令(15條)《附錄A》?求絕對值?求累加器指數?求累加器的最大/小值?歸一化?求多項式的值?求兩點之間距離的平方?求最小均方值?對稱有限沖擊響應濾波器等FIRSXmem,Ymem,pmad;B=B+A(32~16)*pm

6、ad,A=(Xmem+Ymem)<<16MAXdstdst=max(A,B)MINdstdst=min(A,B)例7:FIRS*AR3+,*AR4+,COEFFS;P154;指令受FRCT,SXM和OVM狀態(tài)標志的影響,;指令執(zhí)行結果影響C和OVdst;例7:FIRS*AR3+,*AR4+,COEFFS;指令受FRCT,SXM和OVM狀態(tài)標志的影響,;指令執(zhí)行結果影響C和OVdst;2.邏輯指令(5小類)?與指令(AND);?或指令(OR);?異或指令(XOR);?移位指令(ROL);?測試指令(BITF

7、)。(1)與、或、異或指令(共15條)《附錄A》(2)移位指令和測試指令(共11條)《附錄A》與指令(AND)ANDSmem,srcAND#lk[,SHFT],src[,dst]AND#lk,16,src[,dst]ANDsrc[,SHIFT][,dst]ANDM#lk,Smem例8:ANDA,3,B例8:ANDA,3,B例9:BITT*AR7+0例9:BITT*AR7+0實例程序:建立項目工程文件example1,使之實現計算y=mx+b;.title"example1.asm".mmregsSTACK

8、.usect"STACK",10H;堆棧的設置.bssx,1;為變量分配4個字的存儲空間.bssm,1.bssb,1.bssy,1.def_c_int00.datatable.word15,3,20;x,m,b.text_c_int00:STM#0,SWWSR;插入0個等待狀態(tài)STM#STACK+10H,SP;設置堆棧指針STM#x,AR1;AR1指向xRPT#2MVPDtable,*AR1+;把程序存儲器中的數據移動到數據存

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯系客服。
3. 下載前請仔細閱讀文檔內容,確認文檔內容符合您的需求后進行下載,若出現內容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯系客服處理。