DSP匯編語言初步_第1頁
DSP匯編語言初步_第2頁
DSP匯編語言初步_第3頁
DSP匯編語言初步_第4頁
DSP匯編語言初步_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、BIT/TI第四講 匯編語言初步1匯編語言初步匯編語言初步目的:用匯編語言編寫簡單程序BIT/TI第四講 匯編語言初步2學習內(nèi)容 匯編代碼的結(jié)構(gòu) 匯編程序的構(gòu)成 編寫簡單算法:y = mx+bBIT/TI第四講 匯編語言初步3一、匯編代碼的構(gòu)成label: | cond instruction .unit operand ;comment標號:代碼或變量地址條件寄存器條件寄存器指令: 助記符(mnemonic) 偽指令(directive)功能單元功能單元(可選可選)操作數(shù): 寄存器 常量 指針注釋x .int 10 MPY .M1 A1, A3, A7 | ADD .L1x A2, B2,

2、A5 BIT/TI第四講 匯編語言初步4常用偽指令匯編指令說明.sect定義一個代碼段或數(shù)據(jù)段.usect定義一個未初始化數(shù)據(jù)段.int.long.word定義和初始化32位變量.short.half定義和初始化16位變量.byte定義和初始化8位變量在在C語言里語言里long是是40位,在匯編語言里位,在匯編語言里long是是32位位注意BIT/TI第四講 匯編語言初步5二、匯編程序的構(gòu)成二、匯編程序的構(gòu)成程序數(shù)據(jù)結(jié)構(gòu)算法程序數(shù)據(jù)結(jié)構(gòu)算法數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)算法算法C程序的數(shù)據(jù)結(jié)構(gòu)和算法實現(xiàn)BIT/TI第四講 匯編語言初步6匯編程序數(shù)據(jù)結(jié)構(gòu)匯編程序數(shù)據(jù)結(jié)構(gòu)用匯編語言聲明數(shù)據(jù)結(jié)構(gòu)用匯編語言聲明數(shù)據(jù)

3、結(jié)構(gòu):BIT/TI第四講 匯編語言初步7匯編程序算法匯編程序算法用匯編語言編寫算法用匯編語言編寫算法:BIT/TI第四講 匯編語言初步8完整的匯編程序構(gòu)成.sect “myData”m:.int5x:.int10b:.int2y:.int0.sect “myCode”start:LD .D1 *A0,A1 . . .ST .D1 A7,*A6 end: B endNOP 5BIT/TI第四講 匯編語言初步9搬移指令搬移指令MV指令用于在通用寄存器之間傳送數(shù)據(jù)。指令用于在通用寄存器之間傳送數(shù)據(jù)。MVC指令用于在通用寄存器與控制寄存器之指令用于在通用寄存器與控制寄存器之間傳送數(shù)據(jù),此條指令只能使用

4、間傳送數(shù)據(jù),此條指令只能使用.S2功能單元功能單元.MVK類指令用于把類指令用于把16位常數(shù)送入通用寄存器。位常數(shù)送入通用寄存器。在在C6000指令集內(nèi),只能往寄存器送指令集內(nèi),只能往寄存器送16位常數(shù),位常數(shù),可選擇可選擇MVK 、MVKH或或MVKL指令向寄存指令向寄存器的高器的高16位送數(shù)。位送數(shù)。搬移指令共有搬移指令共有3 3類類:MV, MVC, MVK:MV, MVC, MVK:BIT/TI第四講 匯編語言初步10三、用匯編指令編寫y=mx+b1.數(shù)據(jù)取入寄存器:m,x,b存儲器寄存器1a. 初始化數(shù)據(jù)指針1b. 取數(shù)據(jù)2.乘法3.加法4.存儲數(shù)據(jù):y寄存器存儲器BIT/TI第四講

5、 匯編語言初步111a.指針初始化指針初始化32位常量位常量MVK .S1m, A0MVKH.S1m, A0; &mA0MVK .S1x, A2MVKH.S1x, A2; &xA2MVK .S1b, A4MVKH.S1b, A4; &bA4BIT/TI第四講 匯編語言初步12指令MVKMVK/ MVKL把一個把一個16位常數(shù)放入寄存器位常數(shù)放入寄存器MVK/MVKL - Move a Signed Constant into a Register and Sign-Extend (C64x)BIT/TI第四講 匯編語言初步131b.取數(shù)據(jù)LDH .D1*A0, A1;

6、取取mLDH .D1*A2, A3; 取取xLDH .D1*A4, A5; 取取bNOP4BIT/TI第四講 匯編語言初步14LD/ST指令三種三種Load指令,對應不同長度的數(shù)據(jù)指令,對應不同長度的數(shù)據(jù) LDW取取32位字位字(word) LDH取取16位的半字位的半字(short) LDB取取8位字節(jié)位字節(jié)(byte)對無符號數(shù)對無符號數(shù)(字節(jié)、字節(jié)、16位半字位半字) LDBU LDHU指令延遲:四個延遲間隙指令延遲:四個延遲間隙三個存儲指令三個存儲指令 STW STH STB數(shù)據(jù)取入寄存器后進行符號擴展無符號擴展BIT/TI第四講 匯編語言初步15指令延遲間隙延遲間隙:多周期指令所需要

7、插入的NOP指令個數(shù)BIT/TI第四講 匯編語言初步162.乘法MPY .M1 A1, A3, A7NOP BIT/TI第四講 匯編語言初步17乘法指令 四種乘法指令四種乘法指令MPY(U/US/SU)16LSB16LSBMPYH(U/US/SU) 16MSB16MSBMPYH(U/S)L(U/S) 16MSB16LSBMPYL(U/S)H(U/S)16LSB16MSB 指令延遲槽:指令延遲槽:1 兩個乘法單元可以在一個周期內(nèi)做兩次乘法兩個乘法單元可以在一個周期內(nèi)做兩次乘法BIT/TI第四講 匯編語言初步183.加法.L1.S1.D1或或ADD.? 應該使用哪個功能單元?應該使用哪個功能單元?

8、ADD .?A5, A7, A7BIT/TI第四講 匯編語言初步194.存儲結(jié)果BIT/TI第四講 匯編語言初步20完整的y=mx+b匯編程序.title lab4.asm/*定義數(shù)據(jù)結(jié)構(gòu)*/.sect myData”m .short 10 x.short 5b.short 2y.short 0/*算法*/.sect myCode/*指針初始化*/init:mvk .s1 m,A0;A0=&mmvkh .s1 m,A0mvk .s1 x,A2 ;A2=&xmvkh .s1 x,A2mvk .s1 b,A4;A4=&bmvkh .s1 b,A4mvk .s1 y,A6 ; A6=&ymvkh .s1 y,A6/*取數(shù)據(jù)*/ldh .d1 *A0,A1 ; A1= mldh .d1 *A2,A3 ; A3=xldh .d1 *A4,A5 ; A5=bnop 4/*核心算法*/start:mpy .m1 A1,A3,A7 ; A7=m

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論