

下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C語(yǔ)芒和匯編語(yǔ)言的混合編程匯編語(yǔ)言編程優(yōu)點(diǎn):可以充分地控制處理器的功能.為人匸映射算法 構(gòu)成放有效的程序缺點(diǎn):編碼效率低、可維護(hù)性和移植能力差 C/C+語(yǔ)言編程優(yōu)點(diǎn)編碼效率高、可維護(hù)性和移植性好缺點(diǎn):速度慢*存儲(chǔ)器利用效率低混合編程以 TMS320C2X/C2XX/C5X 的 C 編 if 器為例 C 涪肓的存儲(chǔ)器模! 2 Cifhi 的竊 17 器訓(xùn)則3C 講肓的函數(shù)調(diào)川規(guī)則 4C 與 71 淚涪普的接口3 M一港咅嶺翼*誇龍関臺(tái)豐整護(hù)奧 1 C語(yǔ)言的存儲(chǔ)器模型C編譯器產(chǎn)生的段段窯稱段內(nèi)容存儲(chǔ)器類地.text可執(zhí)行代円和浮點(diǎn)常穀ROMriRAM0初Milt段.cinit已和始化的個(gè)前變樹和1
2、態(tài)變帛的列衣ROM 4 RAM0.switch用1繆開關(guān)諂卯的跳轉(zhuǎn)列表ROM RAM0 xanst已初始化的宇符瓠全時(shí)常辭和 協(xié)態(tài)常罰ROMt-JiRAM1始化- .bu全卻和靜卷變鹹RAM.stack軟件堆找1RAMt段.system幼態(tài)”儲(chǔ)空間RAM1I.” -*.:-.: U 系統(tǒng)堆棧(軟件堆棧)堆找的作用-分!乩H;堆棧的大小V認(rèn)L小為業(yè)兒 議按時(shí)可用FtMtC込改變!、小堀浄器、瞇搖器顯存規(guī)供檢貯堆規(guī)溼出的力法,堆棧沁出會(huì)碓川二 打環(huán)或*特致榨序尖敢,岡此.翌確保冇足夠K的空間用于堆棧的 擴(kuò)展堆桟的俗理iff段從低地和向高地址堵檢AR1, HtRISH (SP) * SPSfl Ji
3、r向堆棧的F??稍冨a單兀AR0:結(jié)構(gòu)-frame)殆1FP八 指向巧前紡恂的開始蛀隔數(shù) 訓(xùn)IIU4.mt;的局沉變址仝盤3創(chuàng)建Y新的frame.今.:.動(dòng)態(tài)存儲(chǔ)空間(system段)用F運(yùn)If時(shí)為變邙動(dòng)態(tài)分配存儲(chǔ)器*malloc. calloc. reallocfree總是采用間接#址來(lái)訪弧即川指針來(lái)訪問默認(rèn)大小為黃字鏈接時(shí)町用-heap血祈墳變大小6fl! 2C語(yǔ)言的寄存器規(guī)則寄存器使用、保存規(guī)定 編詳器如何使用寄存器 函數(shù)調(diào)用時(shí)如何保護(hù)寄存器(ft需存器ma被調(diào)宙數(shù)保護(hù)ARO結(jié)構(gòu)指針YesAR1堆找指針YesAR2時(shí)部變?cè)b描針NoAR2*AR5我達(dá)式分析NoARB-AR7寄存器變最YesA
4、CC bis表達(dá)氏分析7返回値1Nop農(nóng)達(dá)式分析NoT農(nóng)達(dá)式分析No*狀態(tài)位域::保留值足在進(jìn)入 i 個(gè)函數(shù)或從一個(gè)曲數(shù)返回時(shí)輪 譯器期職的該位域的值瓶橫線衣示編譯器不期瑕個(gè)特定的值被修改欄表明編譯器代碼廣:1-:器是否旳修改該位域域名稱保留值被修改ARP輔助寄存黑指針1YesC進(jìn)位位YesDP數(shù)抑頁(yè)Yes0V溢出位YesOVM溢出摸式0NoPM乘積移位模式0NoSXM符號(hào)擴(kuò)展模式Y(jié)esTC測(cè)試位Yes堆找指針SP 任灌W敢莎祀ARO結(jié)構(gòu)WFP,指向當(dāng)肘緒構(gòu)的丹始處-ppffitMj的品部結(jié)構(gòu)的第個(gè)單尤被njfrri時(shí)仔儲(chǔ)巾 以允許 寄存器必間的數(shù)據(jù)傳輸,II.對(duì)J CFfi數(shù)的亂入出心績(jī)的同
5、部變覽指針LVP* AR2怖強(qiáng)變SlftHLVP所冇存儲(chǔ)在耐部結(jié)構(gòu)中的對(duì)象.包括欝數(shù)都it過(guò)LVP進(jìn)行間 接訪問-T. 1 J 堆棧指針.結(jié)構(gòu)指針和局部變量指針 ”9寄存器變量寄存器婦/足胡部變就位丁誨存器?。ú粓R打捕豁M的編譯器的臨時(shí)變燉編譯器他用這吃寄存器變庭的方式取抉于是否使用了優(yōu) 化器表達(dá)式分析寄存器表達(dá)式分析寄存器用-HlffJi達(dá)式的値并保佯臨吋的結(jié) 果衣達(dá)式分析寄存器的內(nèi)容在被調(diào)甫數(shù)屮不被保護(hù)*任何用于臨時(shí)存儲(chǔ)的我達(dá)式分析甜存器在函數(shù)調(diào)用前被 保存亦局部結(jié)構(gòu)中返回值函數(shù)返回值放巾累加器中 * 3C語(yǔ)言的函數(shù)調(diào)用規(guī)則:#如何產(chǎn)生函數(shù)調(diào)用個(gè)雷數(shù)(父M)伍凋用它函數(shù)(產(chǎn)函數(shù))執(zhí)行以P任
6、務(wù)注意ARP必須設(shè)為11)堂函數(shù)將參數(shù)以傾倒的順序爪入堆棧,右邊聲明的 參數(shù)第一個(gè)壓入堆棧,鈕左邊的參數(shù)戢后一個(gè)壓入堆 棧”即S1A:邊的參數(shù)僅棧頂2)父函數(shù)訓(xùn)用r曲數(shù)3)父函數(shù)假定從獷函數(shù)返回時(shí)、ARP將被置為14)完成調(diào)用幾 父歯數(shù)以SBRK n5 是壓入堆棧的參 數(shù)個(gè)數(shù))將參數(shù)彈出堆棧101)將返冋地恥從硬件堆棧中彈出,并壓入軟杵用拽中2)將原FP壓入軟件堆棧3)分配局部結(jié)構(gòu)4)如果廣晦數(shù)中修改AR6刖或州U,則將它們壓入加棧、H它的任何寄存器可施被無(wú)保f地Ii改5)執(zhí)行該函數(shù)的代碼6)將返回值放入累加器7)設(shè)WARP為AR18)如果AR6ftlMAR7被保存,則恢復(fù)它們9)胖放礙劑結(jié)構(gòu)
7、分配10J恢UISFP11)從轅件堆棧中復(fù)制返冋地址,井斤入砸件堆棧12)返回父甫數(shù)*被調(diào)函數(shù)如何相應(yīng)響應(yīng)被調(diào)函數(shù)(0函數(shù))需要完成以卜任務(wù) 在函數(shù)的入口,ARP假定已經(jīng)設(shè)覽角*9 9 1211*far*L 8 FPAKXJl gF時(shí)trwfff屮伽W/AI-芥*;gW/f/Af ff f J f fJ krtitCdncz:.pr-jMJ曰i5PFft%.“F unpA彷 鞏-,1即郵sjj:.嗣呼iil麗、沖爲(wèi)rJll應(yīng)*:5FT X liiu觀fc. *l-.?J Li :i c U: :trniSli峨宀+A、呵酣Ml*+r礙AT.?:ici ri fui叩斑mi Q1,瞅腳打HE:血
8、:z- iif弒址:紳US *+.網(wǎng)皿SEEmiiJalkocju tr i- politT皿討E啟-*游階*;un td;rf u W盂:fUi.r;rz- -*被調(diào)函數(shù)的特殊情況沒有將祗回地址移到軟件堆棧中如果被調(diào)前數(shù)(子KB)沒仃調(diào)用真它晦數(shù),威只調(diào)用了一 個(gè)迄和支持誦數(shù)* 編譯器知道該函數(shù)不會(huì)超過(guò)8級(jí)iS度的調(diào) 用,即不紐生観件堆犠的港出則就不必將返冋地址從硬 件堆橫中彈Hb丈爪入軟件堆槪中如果沒有M部變孔 也沒右便川由ARO (FP)的訓(xùn)時(shí)存儲(chǔ)凱尤,則不必分配対部結(jié)構(gòu)參數(shù)和局部變量的訪問參數(shù)和局部變鼠通過(guò)LVP(AR2)來(lái)訪問 參數(shù)總是相對(duì)于FP的負(fù)偏移鼠局部變最總是相對(duì)于FP的匸偏
9、移駅獨(dú)立的C和匯編模塊接口在編寫匯編語(yǔ)吉時(shí)必須遵循有關(guān)的寄存器規(guī)則和調(diào)用規(guī) 則,否則可能會(huì)破壞C的運(yùn)fj環(huán)境1在編丐獨(dú)立的匯編程序時(shí).必須注盤以卜.兒點(diǎn):-無(wú)掄是C隔數(shù)邇是譏編函數(shù).罹暑須遵18珞存器使用規(guī)則必預(yù)保護(hù)函數(shù)箜用到的兒個(gè)專用寄仃器,專用寄存!8包扌心ARO(FP), AR1(SP . AR6WAR7丼中* 如!USPiE浦拽用的話.則不必明確加以保護(hù).即只變匯Si諭數(shù)任返冋時(shí)帰出壓入的對(duì)象*實(shí)除上就L1經(jīng)保護(hù)rsp-応它崙器町以門由便用134C語(yǔ)言與匯編語(yǔ)言的接口 15如圾改變了狀憲位域的鍛定值*期鑿數(shù)返回時(shí)必須被恢貳ARP磁碩期1中斷程乍必乘 fi!護(hù)所仃川到的崙右器 匯HHna
10、ifflca*時(shí),kuut/fffiMk件堆棧.頃釵調(diào)用新戸出Hi我-調(diào)川C陶數(shù)叭C的數(shù)只保護(hù)兒ttJHWfriK. C曲數(shù)町能改變?nèi)咚?任何髓存黯的內(nèi)舁長(zhǎng)用創(chuàng)和浮點(diǎn)數(shù)任存餉藕中冷赦的順厚是低位字在低堆址.盛位孑 在高地址如果南數(shù)冇返冋悄.則亟冋苗冷放在眾那儲(chǔ)ACX申匯編程序不能15雙由C產(chǎn)生的xinitgt的內(nèi)容.吉?jiǎng)tM能公町|挖不可預(yù)測(cè)的后果塢誹器在斫冇的C標(biāo)識(shí)符 (函數(shù)名.菱髦珮著)萌加下劃緲因 此住ST中匸編程用時(shí),必池血C用斥蹩的問的對(duì)禦就鋼下J0線 _:例如,ECR序屮述義fSfl世匯中便用時(shí)為臉 航果僅欄編濟(jì)占中使用的標(biāo)識(shí)符.則不必加F劃線任何削匯編程序中定叉的對(duì)象或館數(shù).如梟缶
11、45在匚程I存杠仿間啞調(diào)用*則必織用obal匯編偽指令聲朗: 同憚”心C榨庫(kù)中址義的 對(duì)象或的數(shù).如果隔軽f編程序中訪問或調(diào)用,在兀編程序中也 必狗用8*卅匯編偽術(shù)冷向明14 4 .11*4在C程序中直接嵌入?yún)R編語(yǔ)句在C程序中便用wm語(yǔ)句嵌入單行的匯編語(yǔ)句憂心;簡(jiǎn)也ifcc程障中可以實(shí)無(wú)法實(shí)現(xiàn)的些皎 件控制功能,如修改中斷控制側(cè)暮、中斷的是能或無(wú)燭、 謹(jǐn)取狀態(tài)寄”器和中斷標(biāo)志寄心器零-峽點(diǎn)】容易破壞C環(huán)境*因?yàn)镃編譯器不對(duì)嵌入的匯編訴旬 追疔檢測(cè)和分析注息右C代碼中嵌入跳轉(zhuǎn)講切或標(biāo)訓(xùn)符可能會(huì)產(chǎn)牛無(wú)法預(yù)知的結(jié) 果*不咚吐變C變賈的不薑嵌入jl編偽指令. 釦CfiVmainsfi數(shù)調(diào)用-個(gè)匯編呦r
12、asmfunc*asmfunc-佇M一個(gè)參數(shù)*諛摻數(shù) |疋中的全胡變gvartll加返冋該 結(jié)果extiiiij IK.!, auneunu : j /1dec 1 j.re xtetrjdl JtErm f ilnet L-fin gvM;L defineViiri&blniri ()i nmwtjnc (i I j / cal 1 fwact Ion reDimil ly例中可以不必將遞創(chuàng)地址從魏件堆棧 移到軟件堆棧中. 周為*mftmc函數(shù)沒冇進(jìn)荷別的調(diào)用IOPD*+* I+-WL i-r-f-131TJ -ldrfl45pto C mbacfcARO. 1PF3ARlf*1 G
13、PARO, 1*. SXE 9f rntARO,通:Set up FP *nd SFLOUCgrv*r;FaiffE co qva護(hù)uttelqtADD%辭;Add A-iJ tQ中2*CLJV址 -Sft%1? In尹鼻上LARP AP !i P-T-p off frarre2LARAR% -StGfltor rui4 pointvrI &HDVj Hcve return ddE tcC2x otflck16但可以釁金地讀仟何變量的當(dāng)ink這含破壞匯編話育環(huán)境asm( (Eim4 hmt 118在C代碼中訪問匯編語(yǔ)言變量在匯編器盞中定義變量.變拭名舸加F劃線二便IU.global明為
14、全間變眥農(nóng)C和序中聲明該變墾為外邯你并圧常地對(duì)它訪問17*r亠L(fēng);/* UH th* v%riaitD) )AssrrO h屮.屯*pr沖-i *Note tbe uaa al undaraceraa In th# fallwXng liiiu.bus_vr, ); D*f .1 n* tTi* vttri *hl*ijkitAl_VAf; Dft-1 r* It 4崗】Cprogramffxtern fir .tBine r / Thifi is thr object* /i - sine闿:/* ACCEsi dine a *L亡iial Array/(bi陽(yáng)泅吐站 詒progrwp_S I llrftr甘也:1*1門勺MXf rtl Imli.ne_itabrFMake & separate sect iona me:;i The table tarts here.tlO4E 0 .Q-float 0.015387.float 0.0 214 S在匯編譏書中位川,global聲明為外部蝕I,變?cè)嚸凹?下劃踐
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)業(yè)科技園區(qū)用地購(gòu)置居間
- 項(xiàng)目立項(xiàng)和可行性研究報(bào)告順序
- 新能源汽車充電樁的公司
- 公司日常行為規(guī)范及管理辦法
- 心電監(jiān)護(hù)儀的使用與維護(hù)指南
- 游戲開發(fā)引擎跨平臺(tái)移植指南
- 智能倉(cāng)儲(chǔ)物流項(xiàng)目
- 雨水如何收集系統(tǒng)
- MES系統(tǒng):制造業(yè)智能化管理與流程優(yōu)化的關(guān)鍵
- 美容師中級(jí)考試復(fù)習(xí)測(cè)試卷附答案
- 2025年云南中煙工業(yè)有限責(zé)任公司招聘(430人)筆試參考題庫(kù)附帶答案詳解
- 2022電力工程電纜隧道通風(fēng)及照明安裝施工作業(yè)指導(dǎo)書
- 2025年《中央一號(hào)文件》參考試題庫(kù)資料100題及答案(含單選、多選、判斷題)
- 18 文言文二則 鐵杵成針 教學(xué)設(shè)計(jì)-2023-2024學(xué)年四年級(jí)語(yǔ)文下冊(cè)統(tǒng)編版
- 2024年中小學(xué)思政課“名師工作室”和班主任“名師工作室”建設(shè)實(shí)施方案
- 2024年北京電子科技職業(yè)學(xué)院高職單招語(yǔ)文歷年參考題庫(kù)含答案解析
- DG-TJ 08-2048-2024 民用建筑電氣防火設(shè)計(jì)標(biāo)準(zhǔn)
- 醫(yī)院運(yùn)營(yíng)管理工作制度
- 卵巢囊腫護(hù)理病例討論
- 2024年浙江省強(qiáng)基聯(lián)盟高三12月聯(lián)考 英語(yǔ)試卷(含答案解析)
- 拉薩市2025屆高三第一次聯(lián)考(一模)語(yǔ)文試卷(含答案解析)
評(píng)論
0/150
提交評(píng)論