




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、11C H A P T E RC/匯編匯編語言初步語言初步2提要提要1C語言初步語言初步代碼產生工具代碼產生工具C優化器優化器C的數據類型的數據類型3軟件開發過程及開發工具1建立源程序2C編譯器(C Compiler)3匯編器(Assembler)4連接器(Linker)5調試工具6十六進制轉換公用程序(Hex Conversion Utility) 4TMS320 DSP軟件開發流程5代碼開發流程代碼開發流程6建議的C程序開發流程C程序C程序優化用線性匯編改寫關鍵代碼段7C程序、標準匯編、線性匯編的編譯8一、C的代碼產生工具新9編譯命令編譯器選項編譯器選項CL6x -g file1.c fi
2、le2.asm file.sa file3 -s -as -z .標準匯編直標準匯編直接調用匯編器接調用匯編器-z調用連接器調用連接器線性匯編調用匯編優化器線性匯編調用匯編優化器無擴展名默認為無擴展名默認為C文件文件10CL6x -g -s file.c -z link.cmd -o file.out -l rts6201.lib-z調用連接器調用連接器連接器命令文件連接器命令文件 運行支持庫運行支持庫 輸出文件名輸出文件名連接器選項11常用的編譯、匯編、連接選項選項功能備注-g使能符號調試編譯選項-s在 C 編譯器生成的.asm 文件中,使能 C 語句和匯編指令交叉列表編譯選項-on啟動C優
3、化器的最高級別優化編譯選項-pm與-o3合用,使能程序級優化編譯選項-al生成匯編器列表文件匯編選項-as保留匯編符號,用于調試匯編選項-z啟動連接器連接選項-o可執行輸出文件連接選項-m映射文件名(.map)連接選項-l運行支持庫連接選項12二、C優化器優化選項作用優化級別-o0優化寄存器的使用-o1本地優化-o2或-o全局優化-o3文件級優化低高 經過C優化器的優化,以及其它C語言優化后, C代碼效率可達7080 用優化選項啟動優化器選項13C優化器的使用步驟建議 不帶優化選項進行編譯(功能驗證)cl6x -g -s file.c -z 用優化選項-o2進行編譯(-o2是與符號調試兼容的最
4、高優化級別)cl6x -g o file.c -z 用最高級別優化選項進行編譯cl6x -o3 -pm file.c -z以上每個步驟都需要進行功能驗證注意14C62xx C 數據類型注意15提要提要2匯編語言初步匯編語言初步匯編代碼的結構匯編代碼的結構匯編程序的構成匯編程序的構成編寫簡單算法:編寫簡單算法:y = mx+b16一、匯編代碼的構成label: | cond instruction .unit operand; comment標號:代碼或變量地址條件寄存器條件寄存器指令: 助記符(mnemonic) 偽指令(directive)功能單元功能單元(可選可選)操作數: 寄存器 常量
5、指針注釋 x .int 10 MPY .M1 A1, A3, A7 | ADD .L1 x A2, B2, A5 17常用偽指令匯編指令說明.sect定義一個代碼段或數據段.usect定義一個未初始化數據段.int.long.word定義和初始化32位變量.short.half定義和初始化16位變量.byte定義和初始化8位變量在在C語言里語言里long是是40位,在匯編語言里位,在匯編語言里long是是32位位注意18二、匯編程序的構成二、匯編程序的構成程序數據結構算法程序數據結構算法數據結構數據結構算法算法C程序的數據結構和算法實現19匯編程序數據結構匯編程序數據結構用匯編語言聲明數據結構
6、用匯編語言聲明數據結構20匯編程序算法匯編程序算法用匯編語言編寫算法用匯編語言編寫算法21完整的匯編程序結構.sect “myData”0.sect “myCode”startLD .D1 *A0,A1 . . .ST .D1 A7,*A6 endB endNOP 522三、用匯編指令編寫y=mx+b1.數據取入寄存器:m,x,b存儲器寄存器1a. 初始化數據指針1b. 取數據2.乘法3.加法4.存儲數據:y寄存器存儲器231a.指針初始化指針初始化32位常量位常量MVK .S1m, A0MVKH.S1m, A0; &mA0MVK .S1
7、x, A2MVKH.S1x, A2; &xA2MVK .S1b, A4MVKH.S1b, A4; &bA424指令MVKMVK把一個把一個16位常數放入寄存器位常數放入寄存器251b.取數據LDH .D1*A0, A1; 取取mLDH .D1*A2, A3; 取取xLDH .D1*A4, A5; 取取bNOP426LD/ST指令三種三種Load指令,對應不同長度的數據指令,對應不同長度的數據 LDW取取32位字位字(word) LDH取取16位半字位半字(short) LDB取取8位字節位字節(byte)對無符號數對無符號數(字節、字節、16位半字位半字) LDBU LDHU指
8、令延遲:四個延遲間隙指令延遲:四個延遲間隙三個存儲指令三個存儲指令 STW STH STB數據取入寄存器后進行符號擴展無符號擴展272.乘法MPY .M1 A1, A3, A7NOP 28乘法指令 四種乘法指令四種乘法指令MPY(U/US/SU)16LSB16LSBMPYH(U/US/SU) 16MSB16MSBMPYH(U/S)L(U/S) 16MSB16LSBMPYL(U/S)H(U/S)16LSB16MSB 指令延遲槽:指令延遲槽:1 兩個乘法單元可以在一個周期內做兩次乘法兩個乘法單元可以在一個周期內做兩次乘法293.加法.L1.S1.D1或或ADD.? 應該使用哪個功能單元?應該使用哪
9、個功能單元?ADD .?A5, A7, A7304.存儲結果31完整的y=mx+b匯編程序.title lab.asm/*定義數據結構*/.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/*取數據*/ldh .d1 *A0,A1 ; A1= mldh .d1 *A2,A3 ; A3=xldh .d1 *A
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高中生在線學習互動性與學習效果的關系分析報告論文
- 藝術樓安全管理制度
- 花草魚養護管理制度
- 茶葉成品庫管理制度
- 隔離檢疫場管理制度
- 訪問控制與身份驗證
- 財務英語詞匯
- 2025年煙臺市中考地理試卷真題(含答案及解析)
- 大學生戀愛的常見問題與對策
- 自動監控驗收模版材料
- 2025年甘肅省高考化學試卷真題(含答案解析)
- 叉車工安全考試
- 公安院校公安專業招生考生患病經歷申報表
- (2025)發展對象必考試題與答案
- 第一課-入鄉隨俗《發展漢語-初級綜合2》
- 2025年長春市軌道交通集團有限公司校園招聘(693人)筆試參考題庫附帶答案詳解析版
- 建立健全各項管理制度
- 定期體檢健康管理制度
- 病媒生物試題及答案
- T/CHC 1001-2019植物源高有機硒食品原料
- 農村果園承包合同范本
評論
0/150
提交評論