<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于Android的ARM匯編語言系列之一:ARM匯編語言開篇

          基于Android的ARM匯編語言系列之一:ARM匯編語言開篇

          作者: 時間:2016-11-09 來源:網(wǎng)絡 收藏
          章節(jié)列表

          之一:ARM匯編語言開篇
          之二:C/C++程序生成ARM匯編程序的過程分析
          之三:ARM匯編語言程序結(jié)構(gòu)
          之四:ARM處理器的尋址方式
          之五:ARM指令集與Thumb指令集
          之六:NEON指令集與VFP指令集

          本文引用地址:http://www.ex-cimer.com/article/201611/317694.htm

          這是博文的開篇文章,這里會先介紹一下ARM處理器的大致分類和作用。

          一 ARM處理器與ARM指令集

          整個ARM處理器被分為三個部分:

          • Classic
          • Embedded
          • Application

          Classic被稱為經(jīng)典系列。

          ARM1~ARM11一直都以數(shù)字來命名,ARM12以后改為用Cortex命名。Cortex有以下幾個分類:

          • Cortex-A:廣泛用于智能手機、上網(wǎng)本、電子書以及數(shù)字電視等。
          • Cortex-M:用于微控制領域,該系列的特點是高能效和低功耗。
          • Cortex-R:用于支持深層嵌入式的餓實時應用,該系列的特點是低功耗、良好的中斷行為、卓越性能以及與現(xiàn)有平臺的高兼容性。

          盡管ARM處理器版本眾多,它是很多型號ARM處理器兼容一套ARM指令集,ARM架構(gòu)與ARM處理器的對應關系如下圖所示:

          上圖涉及的技術,這里也簡單提一下:

          • VFP:為ARM處理器提供了浮點運算功能。
          • Jazelle:允許某些架構(gòu)的硬件上加速運行Java字節(jié)碼。
          • SIMD:多媒體指令集。
          • TrustZone:安全性控制,避免產(chǎn)品受到外部的惡意攻擊。
          • NEON:NEON是SIMD體系結(jié)構(gòu)的擴展,NEON在執(zhí)行上比傳統(tǒng)的SIMD占用更少的指令周期。

          Android最初選擇ARM作為平臺設備的處理器結(jié)構(gòu),并做了專門的優(yōu)化。發(fā)展到Android4.1版本以后,已經(jīng)全面支持ARM、x86和MIPS三種架構(gòu)的處理器。

          二 ARM處理器的工作模式和工作狀態(tài)

          2.1 ARM處理器的工作模式

          ARM處理器共37個32位處理器,其中有31個通用寄存器和6個狀態(tài)寄存器。ARM處理器支持7種運行模式,分別是:

          • 用戶模式(usr):ARM處理器正常的程序運行狀態(tài)。
          • 快速中斷模式(flq):用于高速數(shù)據(jù)傳輸或通道處理。
          • 外部中斷模式(irq):用于通用的中斷處理。
          • 管理模式(svc):操作系統(tǒng)使用的保護模式。
          • 數(shù)據(jù)訪問終止模式(abt):當數(shù)據(jù)或指令預取終止時進入該模式,可用于虛擬存儲以及存儲保護。
          • 系統(tǒng)模式(sys):運行具有特短的操作系統(tǒng)任務。
          • 未定義指令終止模式(und):當未定義的指令執(zhí)行時進入該模式。

          2.2 ARM處理器的工作狀態(tài)

          • ARM狀態(tài):執(zhí)行32位字對齊的ARM指令。
          • Thumb狀態(tài):執(zhí)行16位字對齊的ARM指令。

          Thumb狀態(tài)下的寄存器的命名與ARM有部分差異,它們的對應關系如下所示:

          • Thumb狀態(tài)下的R0~R7與ARM狀態(tài)下的R0~R7相同。
          • Thumb狀態(tài)下的CPSR與ARM狀態(tài)下的CPSR相同。
          • Thumb狀態(tài)下的FP與ARM狀態(tài)下的R11相同。
          • Thumb狀態(tài)下的IP與ARM狀態(tài)下的R12相同。
          • Thumb狀態(tài)下的SP與ARM狀態(tài)下的R13相同。
          • Thumb狀態(tài)下的LR與ARM狀態(tài)下的R14相同。
          • Thumb狀態(tài)下的PC與ARM狀態(tài)下的R15相同。


          關鍵詞: AndroidARM匯編語

          評論


          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();