錕斤拷5錕斤拷-ARM-Cortex-M3指教學(xué)課件_第1頁
錕斤拷5錕斤拷-ARM-Cortex-M3指教學(xué)課件_第2頁
錕斤拷5錕斤拷-ARM-Cortex-M3指教學(xué)課件_第3頁
錕斤拷5錕斤拷-ARM-Cortex-M3指教學(xué)課件_第4頁
錕斤拷5錕斤拷-ARM-Cortex-M3指教學(xué)課件_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第5章ARMCortex-M3指令系統(tǒng)①cM3指令系統(tǒng)概述②cM3的一些特殊指令1.CM3指令系統(tǒng)概述●從VT4的ARM7TDM開始,ARM處理器一直同時支持兩種獨立的指令集:ARM指令集,在ARM態(tài)執(zhí)行;Thumb指令集,Thum態(tài)執(zhí)行執(zhí)行此兩種指令時,處理器需要在ARM與Thumb兩種狀態(tài)間切換●到了V6,產(chǎn)生了Thumb-2指令集,其是16位Thumb的一個超集,在此指令集中,16位與32位指令首次并存。1.CM3指令系統(tǒng)概述V5ESIMD開始支持v6增強型存儲器DSP指令A(yù)RMThumb指令集和humb-2Thumb問世問世注們采構(gòu)演進圖1.CM3指令系統(tǒng)概述●Cortex-M3是第一個支持Thumb2的處理器,它不支持傳統(tǒng)的ARM指令Thumb-2InstructionSet(32-bitand16-bit)Cortex-M3ThumbInstructions(16-bi1.CM3指令系統(tǒng)概述傳統(tǒng)16位Thumb和32位ARM是兩個獨立的指令集,具有各自的語法,需用各自的編譯器進行編譯。AREAEXample8,CODE,READONLYENTRYCODE32ARMCODEADRROTHUMBCODE+1BXRO跳轉(zhuǎn)并切換處理器狀態(tài)CODE16THUMBCODEMOVRO.#10R0=10MOVRI#20ADDRO.RIRO=RO+RIBEND1.CM3指令系統(tǒng)概述●統(tǒng)一匯編語言語法(UAL)CM3統(tǒng)一匯編語言語法(UAL)統(tǒng)一了Thumb-2指令集中的16位與32位指令的語法格式,允許開發(fā)者以相同的語法格式書寫這兩種不同長度的指令,并且由匯編器來決定是使用16位指令,還是使用32位指令1.CM3指令系統(tǒng)概述●例如原16位Thumb指令A(yù)DDRO,R1ANDRO.R1使用UAL語法后寫為:ADDSRORO.R1ANDSRO,R0,R1使用UAL語法后,其書寫格式與32位指令相同,也必須加S后綴才會更新狀態(tài)寄存器1.CM3指令系統(tǒng)概述●在Thumb-2指令集中,有些操作(如Ro=R0+1)既可以由16位,也可以由32位指令完成。在UAL下,你可以讓匯編器決定用哪個,也可以手工指定是用16位還是32位指令來完成。例如ADDSF0,#1;由匯編器決定(匯編器將為了節(jié)省空間通常會使用16位指令)ADDSNR0,#1;指定使用16位指令(N=Narrow)ADDSWR0,#1;指定使用32位指令(W=Wide1.CM3指令系統(tǒng)概述ANDRdRn:rd&Rn>ANDWRdRn,#imm12:RdRnimm12>ANDWRdRm.Rn:RdRmRn>ORRRd,Rn;RdRnORR.WRd,Rn,#imm12;RdRnimm12>ORR.WRd,Rm,Rn;RdRmRn>BICRdRn:Rd&=Rn>BICWRdRn#imm12:RdeRnvimm12>BICWRdRmRn:Rd=RmRn1.CM3指令系統(tǒng)概述●Thumb-2指令集中既有16位也有32位指令,處理器是如何識別的?根據(jù)Pc指向的指令字的第一個半字的Bts15:11來確定其是16位還是32位指令。若是16位指令,第個半字與第二個半字均為兩條獨立的指令;若是32位指令,將第一個半字與緊鄰的第二個半字一起構(gòu)成一條32位指令。hw1<15:11>FunctionOb11100Thumb16-bitunconditionalbranchinstruction.definedinallThumbarchitectures.OblIIxxThumb32-bitinstructions,definedinThumb-2.seeInstru

溫馨提示

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

評論

0/150

提交評論