嵌入式系统概论以sc核心为架构.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章 ARM微處理器的指令集 SWP指令 SWP指令的格式為: SWP{條件} 目的暫存器,來源暫存器1,[來源暫存器2] SWP指令用於將來源暫存器2所指向的記憶體中的字元組資料傳送到目的暫存器中,同時將來源暫存器1中的字元組資料傳送到來源暫存器2所指向的記憶體中。顯然,當來源暫存器1和目的暫存器為同一個暫存器時,指令交換該暫存器和記憶體的內容。 SWP指令範例: SWP R0,R1,[R2] ;將R2所指向的記憶體中的字元組資料傳送到R0,同時將R1中的字元組資料傳送到R2所指向的存儲單元。 SWP R0,R0,[R1] ;該指令完成將R1所指向的記憶體中的字元組資料與R0中的字元組資料交換。 SWPEQ R0,R0,[R1] ; 有條件地交換由R1所指向的記憶體中的字元組資料與R0中的字元組資料交換。 P-*/67 3.3.7 資料交換指令 LSL(或ASL)操作 LSL(或ASL)操作的格式為: 通用暫存器Rm,LSL(或ASL) 運算元 LSL(或ASL)可完成對通用暫存器中的內容進行邏輯(或算術)的左移操作,且按運算元所指定的數量向左移位,而低位元則用0值來加以填入。其中,運算元可以是通用暫存器,也可以是立即數值(0~31)。 LSL指令範例: MOV R0, R1, LSL#2 ;將R1中的內容左移兩位元後傳送到R0中。 P-*/67 3.3.8 移位指令 LSR操作 LSR操作的格式為: 通用暫存器Rm,LSR 運算元 LSR可完成對通用暫存器中的內容進行右移的操作,按運算元所指定的數量向右移位,左端用零來填充。其中,運算元可以是通用暫存器,也可以是立即數(0~31)。 LSR指令範例: MOV R0, R1, LSR#2 ;將R1中的內容右移兩位元後傳送到R0中,左端用0值來填充。 P-*/67 3.3.8 移位指令 ARM協同處理器指令包括以下5條: CDP 協同處理器操作指令 LDC 協同處理器資料載入指令 STC 協同處理器資料存回指令 MCR ARM處理器暫存器到協同處理器暫存器的 資料傳送指令 MRC 協同處理器暫存器到ARM處理器暫存器的資 料傳送指令 P-*/67 3.3.9 協同處理器指令 SWI指令 SWI指令的格式為:SWI{條件} 24位元的立即數值 SWI指令用於產生軟體中斷,以便使用者程式能呼叫作業系統的系統常式。作業系統在SWI的例外事件處理程式中提供相應的系統服務,指令中24位元的立即數值指定使用者程式呼叫系統常式的類型,相關參數通過通用暫存器傳遞。當指令中24位元的立即數值被忽略時,使用者程式呼叫系統常式的類型由通用暫存器R0的內容決定,同時,參數通過其他通用暫存器來加以傳遞。 程式範例: SWI 0x02 ;該指令呼叫作業系統編號位元02的系統常式。 P-*/67 3.3.10 例外事件產生指令 BKPT指令 BKPT指令的格式為: BKPT 16位的立即數 BKPT指令產生軟體中斷點中斷,可用於程式的調試。 3.3.10 例外事件產生指令 P-*/67 大綱 3.1 ARM微處理器的指令集概述 3.2 ARM指令的定址方式 3.3 ARM指令集 3.4 Thumb指令及應用 3.5 討論 P-*/67 為相容資料匯流排寬度為16位元的應用系統,ARM系列架構除了支援執行效率很高的32位元ARM指令集以外,同時支援16位元的Thumb指令集。 Thumb指令集是ARM指令集的一個子集,允許指令編碼為16位元的長度。與等價的32位元代碼相比較,Thumb指令集在保留32代碼優勢的同時,大大的節省了系統的記憶體空間。 所有的Thumb指令都有對應的ARM指令,而且Thumb的程式設計模型也對應於ARM的程式設計模型。 在應用程式的編寫過程中,只要遵循一定呼叫的規則,Thumb副程式和ARM副程式就可以互相呼叫。當處理器在執行ARM程式段時,稱ARM處理器處於ARM工作狀態,當處理器在執行Thumb程式段時,稱ARM處理器處於Thumb工作狀態。 P-*/67 3.4 Thumb指令及應用 大綱 3.1 ARM微處理器的指令集概述 3.2 ARM指令的定址方式 3.3 ARM指令集 3.4 Thumb指令及應用 3.5 討論 P-*/67 本章系統的介紹了ARM指令集中的基本指令,以及各指令的應用場合及方法,由基本指令還可以派生出一些新的指令,但使用方法與基本指令類似。與常見的如X86體系結構的彙編指令相比較,ARM指令系統無論是從指令集本身,還是從定址方式上,都相對複雜一些。 Thumb指令集作為ARM指令

文档评论(0)

3388813 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档