資料介紹
所有的Thumb指令都是16位的。它們都是ARM指令重新編碼得到的,所以繼承了ARM指令集的許多特點。
?、?有數(shù)據處理、數(shù)據傳送和流控制的指令結構。
?、?支持8位字節(jié)、16位半字和32位字數(shù)據類型,半字以兩字節(jié)邊界對齊,字以4字節(jié)邊界對齊。
?、?32位的無分段存儲器(unsegmented memory)。
Thumb指令集除了繼承了ARM指令集的一些特點外,與ARM指令集存在以下一些差異。
?、?大多數(shù)Thumb指令為無條件執(zhí)行指令(所有ARM指令都是條件執(zhí)行的)。
?、?許多Thumb數(shù)據處理指令采用了2地址格式(目的寄存器與源寄存器相同)。而ARM指令中除64位乘法指令外,其余指令均采用3地址模式。
?、?Thumb指令格式減少了很多ARM指令格式的限制,使Thumb指令編寫的代碼密度大大提高。
無論處理器處于什么狀態(tài),所有的異常都使處理器返回到ARM狀態(tài),并完成異常處理。但異常發(fā)生時,CPSR狀態(tài)寄存器在進入異常時被保存到相應的SPSR中,當異常處理結束后,處理器將恢復到異常發(fā)生前的狀態(tài),并按照發(fā)生異常時處理器的狀態(tài)繼續(xù)執(zhí)行ARM或Thumb指令。
應該注意的是,ARM異常返回指令需要根據ARM流水線的行為對返回地址進行調整。由于Thumb指令是2字節(jié)長,而ARM指令是4字節(jié)長,所以由Thumb執(zhí)行狀態(tài)進入異常時其自然偏移量應與ARM不同(ARM狀態(tài)下,拷貝到鏈接寄存器的值PC-4)。為了減少編程的復雜性,ARM體系結構中設置了硬件邏輯,以實現(xiàn)Thumb狀態(tài)的自動地址偏移調整,使ARM和Thumb狀態(tài)編程一致。
表11.2列出了Thumb狀態(tài)下發(fā)生異常時LR的值。
表11.2 Thumb狀態(tài)異常返回指令
異 常異常鏈接寄存器值返 回 指 令
Reset不可預知的值-
未定義指令未定義指令地址+2MOV PC,r14
SWISwi指令地址+2MOV PC,r14
預取異常預取異常指令+4MOV PC,r14,#4
數(shù)據異常產生預取異常指令地址+8MOV PC,r14,#8
IRQ下一條將被執(zhí)行的指令地址+4MOV PC,r14,#4
FIQ下一條將被執(zhí)行的指令地址+4MOV PC,r14,#4
?
?、?有數(shù)據處理、數(shù)據傳送和流控制的指令結構。
?、?支持8位字節(jié)、16位半字和32位字數(shù)據類型,半字以兩字節(jié)邊界對齊,字以4字節(jié)邊界對齊。
?、?32位的無分段存儲器(unsegmented memory)。
Thumb指令集除了繼承了ARM指令集的一些特點外,與ARM指令集存在以下一些差異。
?、?大多數(shù)Thumb指令為無條件執(zhí)行指令(所有ARM指令都是條件執(zhí)行的)。
?、?許多Thumb數(shù)據處理指令采用了2地址格式(目的寄存器與源寄存器相同)。而ARM指令中除64位乘法指令外,其余指令均采用3地址模式。
?、?Thumb指令格式減少了很多ARM指令格式的限制,使Thumb指令編寫的代碼密度大大提高。
無論處理器處于什么狀態(tài),所有的異常都使處理器返回到ARM狀態(tài),并完成異常處理。但異常發(fā)生時,CPSR狀態(tài)寄存器在進入異常時被保存到相應的SPSR中,當異常處理結束后,處理器將恢復到異常發(fā)生前的狀態(tài),并按照發(fā)生異常時處理器的狀態(tài)繼續(xù)執(zhí)行ARM或Thumb指令。
應該注意的是,ARM異常返回指令需要根據ARM流水線的行為對返回地址進行調整。由于Thumb指令是2字節(jié)長,而ARM指令是4字節(jié)長,所以由Thumb執(zhí)行狀態(tài)進入異常時其自然偏移量應與ARM不同(ARM狀態(tài)下,拷貝到鏈接寄存器的值PC-4)。為了減少編程的復雜性,ARM體系結構中設置了硬件邏輯,以實現(xiàn)Thumb狀態(tài)的自動地址偏移調整,使ARM和Thumb狀態(tài)編程一致。
表11.2列出了Thumb狀態(tài)下發(fā)生異常時LR的值。
表11.2 Thumb狀態(tài)異常返回指令
異 常異常鏈接寄存器值返 回 指 令
Reset不可預知的值-
未定義指令未定義指令地址+2MOV PC,r14
SWISwi指令地址+2MOV PC,r14
預取異常預取異常指令+4MOV PC,r14,#4
數(shù)據異常產生預取異常指令地址+8MOV PC,r14,#8
IRQ下一條將被執(zhí)行的指令地址+4MOV PC,r14,#4
FIQ下一條將被執(zhí)行的指令地址+4MOV PC,r14,#4
?
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- ARM處理器的尋址方式和指令集介紹 33次下載
- ARM和Thumb-2的指令集快速參考卡 21次下載
- Thumb指令集之Thumb跳轉指令 1次下載
- Thumb數(shù)據處理指令 0次下載
- Thumb指令的特點及實現(xiàn) 0次下載
- Thumb指令集之多寄存器數(shù)據傳送指令解析 0次下載
- Thumb指令集之ARM和Thumb的混合編程 1次下載
- 未定義的指令空間 0次下載
- Thumb指令集之Thumb指令應用 0次下載
- Thumb指令集之異常中斷產生指令解析 0次下載
- ARM和Thumb-2指令集快速參考卡 22次下載
- arm7指令集
- ARM指令集詳解
- ARM/THUMB指令系統(tǒng)
- ARM/THUMB微處理器結構及指令系統(tǒng)
- RISC-V開源指令集全面指南與解析 1.9k次閱讀
- 現(xiàn)代處理器的主要指令集架構 6.3k次閱讀
- NB-IOT常用AT指令集簡介 5k次閱讀
- 什么指令集支持原子操作 2.1k次閱讀
- 總結20個超好用的 Unix/Linux 命令指令集 3.4k次閱讀
- Thumb指令、Thumb-2指令、Thumb-2EE 指令區(qū)別是什么 1.5w次閱讀
- 嵌入式處理器的體系架構與內核 3.8k次閱讀
- 詳解CPU功耗的方法與技巧 6.3k次閱讀
- PLC編程入門基礎技術知識(plc原理和指令集及編程規(guī)則) 7.1w次閱讀
- Cortex-M系列處理器指令集_指令集特性比較總結 8.9k次閱讀
- risc指令集是什么_有哪些 2.1w次閱讀
- mips指令集指的是什么 1.5w次閱讀
- mips匯編指令集功能的介紹 2.5w次閱讀
- esp8266 at指令集詳解 14.8w次閱讀
- thumb指令集是什么_thumb指令集與arm指令集的區(qū)別 1.9w次閱讀
下載排行
本周
- 1冷柜-電氣控制系統(tǒng)講解
- 13.68 MB | 4次下載 | 10 積分
- 2安川A1000變頻器中文版說明書
- 20.16 MB | 3次下載 | 3 積分
- 3直流電路的組成和基本定律
- 1.67 MB | 2次下載 | 免費
- 4丹佛斯2800系列變頻器說明書
- 8.00 MB | 1次下載 | 5 積分
- 5PC8011同步開關型降壓3.5A單節(jié)鋰電池充電管理電路技術手冊
- 0.74 MB | 1次下載 | 免費
- 6ES7243E+ES8311音頻錄制與播放電路資料
- 0.06 MB | 1次下載 | 5 積分
- 7SDM02 激光測距模塊產品手冊
- 0.43 MB | 1次下載 | 免費
- 8SDFM 激光測距模塊模組手冊
- 0.54 MB | 1次下載 | 免費
本月
- 1CH341編程器軟件NeoProgrammer_2.2.0.10
- 20.47 MB | 170次下載 | 1 積分
- 22025智能家居傳感器市場分析及創(chuàng)新應用
- 3.11 MB | 43次下載 | 免費
- 3RV1126B系列開發(fā)板產品資料
- 4.19 MB | 18次下載 | 免費
- 4CH341編程軟件下載
- 2.50 MB | 16次下載 | 5 積分
- 5全志系列-米爾基于T153核心板開發(fā)板 四核異構、3路千兆網,賦能多元化工業(yè)場景
- 3.05 MB | 12次下載 | 免費
- 6【開源】60余套STM32單片機、嵌入式Linux、物聯(lián)網、人工智能項目案例及入門學習資源包
- 10.55 MB | 8次下載 | 免費
- 7冷柜-電氣控制系統(tǒng)講解
- 13.68 MB | 4次下載 | 10 積分
- 8特斯拉MODEL S車載充電機主電路回路原理圖
- 0.81 MB | 4次下載 | 3 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233094次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191448次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183356次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81604次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73824次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評論