ARM组合语言程式设计.pptxVIP

  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文档。上传文档
查看更多
ARM組合語言程式設計ARM微處理器指令優點小晶片的面積低功耗ARM架構還採用了一些特別的技術,在性能的前提下儘量縮小晶片的面積,並降低功耗。條件式指令所有的指令都可根據前面的執行結果決定是否被執行,從而提高指令的執行效率。連續存取資料可用載入/存儲指令連續傳輸資料,以提高資料的傳輸效率。同時完成邏輯處理和移位元可在一條資料處理指令中同時完成邏輯處理和移位處理。自動增減迴圈在迴圈處理中使用位址的自動增減來提高執行效率。ARM微處理器的指令ARM兩種指令集ARM指令為32位元的長度,Thumb指令為16位元長度。Thumb指令集為ARM指令集的功能子集,但與等價的ARM程式碼相比較,可節省30%~40%以上的存儲空間。ARM處理器模式ARM架構支援7種處理器模式。模式改變在軟體控制下可以改變模式外部中斷或例外處理也可以引起模式發生改變。大多數應用程式在使用者模式下執行。當處理器工作在使用者模式時,正在執行的程式不能存取某些被保護的系統資源,也不能改變模式,除非例外(exception)發生。ARM支援的7種工作模式處理器模式說明User (usr)正常程式執行模式FIQ (fiq)支援高速資料般移或通道處理IRQ (irq)用於通用中斷處理Supervisor (svc)作業系統保護模式Abort mode (abt)實現虛擬記憶體和/或記憶體保護Undefined (und)支援硬體輔助運算器的軟體仿真System (sys)執行特權作業系統工作ARM微處理器的暫存器結構ARM處理器共有37個暫存器,被分為若干個組(BANK),這些暫存器包括:31個通用暫存器。包括程式計數器(PC指標)。6個程式狀態暫存器用以標識CPU的工作狀態及程式的執行狀態,均為32位元,目前只使用了其中的一部分。ARM處理器有7種不同的處理器模式在每一種處理器模式下均有一組相應的暫存器與之對應。ARM暫存器1)不分組暫存器R0~R7R0~R7是不分組暫存器。這意味著在所有處理器模式下,它們每一個都存取一樣的32位元暫存器。它們是真正的通用暫存器,沒有架構所隱含的特殊用途。2)分組暫存器R8~R14R8~R14是分組暫存器。它們每一個存取的實體暫存器取決於當前的處理器模式。若要存取特定的實體暫存器而不依賴當前的處理器模式,則要使用規定的各字。暫存器R8~R12各有兩組實體暫存器:一組為FIQ模式,另一組為除了FIQ以外的所有模式。暫存器R8~R12沒有任何指定的特殊用途。只是使用R8~R14來簡單地處理中斷。暫存器R13,R14各有6個分組的實體暫存器。1個用於使用者模式和系統模式,其他5個分別用於5種例外模式。暫存器R13通常用做堆疊指標,稱為SP( Stack Pointer),每種例外模式都有自己的R13。暫存器R14用作副程式鏈結暫存器,也稱為LR(。3) 程式計數器R15暫存器R15用做程式計數器 (PC)。ARM暫存器程式狀態暫存器(Program Status Register )有一個Current Program Status Register (CPSR)在所有處理器模式下都可以存取當前的程式狀態暫存器CPSR。CPSR包含條件碼旗標,中斷禁止位元,當前處理器模式以及其他狀態和控制資訊。有五個Saved Program Status Registers (SPSRs)每種例外模式都有一個程式狀態保存暫存器SPSR。SPSR用於保留CPSR的狀態。程式狀態暫存器條件碼旗標 :N,Z,C,V 大多數指令可以測試這些條件碼旗標以決定程式指令如何執行控制位元 :最低8位元 I,F,T和M位元用做控制位元。當例外出現時改變控制位元。當處理器在特權模式下也可以由軟體改變。中斷禁止位元:I 置1則禁止IRQ中斷。F置1則禁止FIQ中斷。T位元:T=0 指示ARM執行。T=1指示Thumb執行。在這些架構系統中,可自由地使用能在ARM和Thumb狀態之間切換的指令。模式位元:M0, M1, M2, M3和M4 (M[4:0]) 是模式位元.這些位元決定處理器的工作模式。PSR Mode位元與可使用暫存器ARM和Thumb之間狀態的切換ARM處理器可在兩種工作狀態之間切換。在Thumb狀態下,程式計數器PC使用位元1選擇另一個半字。ARM和Thumb之間狀態的切換不影響處理器的模式或暫存器的內容。進入Thumb狀態。當運算元暫存器的狀態位元0為1時,執行BX指令進入Thumb狀態。如果處理器在Thumb狀態進入例外,則當例外處理(IRQ,FIQ,Undef,Abort和SWI)返回時,自動切換到Thumb狀態。當運算元暫存器的狀態位元0為0時,執行BX指令進入ARM狀態。處理器進行例外處理(IRQ,FIQ,Undef,Abort和SWI),從例外向量位

文档评论(0)

职教魏老师 + 关注
官方认证
服务提供商

专注于研究生产单招、专升本试卷,可定制

版权声明书
用户编号:8005017062000015
认证主体莲池区远卓互联网技术工作室
IP属地北京
统一社会信用代码/组织机构代码
92130606MA0G1JGM00

1亿VIP精品文档

相关文档