mooc课程精选,成品人片观看入口众乐乐,久久久久人妻一区精品性色av,苍兰诀大结局是什么,白丝美女被狂躁免费视频网站

當(dāng)前位置:首頁(yè) > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 講師博文 > Thumb 編程模型

Thumb 編程模型 時(shí)間:2018-09-21      來(lái)源:未知

所有的 Thumb 指令都是16 位的。它們都是ARM 指令重新編碼得到的,所以繼承了ARM 指令集的許多

特點(diǎn):

① 有數(shù)據(jù)處理、數(shù)據(jù)傳送和流控制的指令結(jié)構(gòu)。

② 支持8 位字節(jié)、16 位半字和32 位字?jǐn)?shù)據(jù)類型,半字以兩字節(jié)邊界對(duì)齊,字以4 字節(jié)邊界對(duì)齊。

③ 32 位的無(wú)分段存儲(chǔ)器(unsegmented memory)。

Thumb 指令集除了繼承了ARM 指令集的一些特點(diǎn)外,與ARM 指令集存在以下一些差異。

① 大多數(shù)Thumb 指令為無(wú)條件執(zhí)行指令(所有ARM 指令都是條件執(zhí)行的)。

② 許多Thumb 數(shù)據(jù)處理指令采用了2 地址格式(目的寄存器與源寄存器相同)。而ARM 指令中除64 位 乘法指令外,其余指令均采用3 地址模式。

③ Thumb 指令格式減少了很多ARM 指令格式的限制,使Thumb 指令編寫的代碼密度大大提高。

無(wú)論處理器處于什么狀態(tài),所有的異常都使處理器返回到ARM 狀態(tài),并完成異常處理。但異常發(fā)生時(shí), CPSR 狀態(tài)寄存器在進(jìn)入異常時(shí)被保存到相應(yīng)的SPSR 中,當(dāng)異常處理結(jié)束后,處理器將恢復(fù)到異常發(fā)生 前的狀態(tài),并按照發(fā)生異常時(shí)處理器的狀態(tài)繼續(xù)執(zhí)行ARM 或Thumb 指令。

應(yīng)該注意的是,ARM 異常返回指令需要根據(jù)ARM 流水線的行為對(duì)返回地址進(jìn)行調(diào)整。由于Thumb 指令 是2 字節(jié)長(zhǎng),而ARM 指令是4 字節(jié)長(zhǎng),所以由Thumb 執(zhí)行狀態(tài)進(jìn)入異常時(shí)其自然偏移量應(yīng)與ARM 不同 (ARM 狀態(tài)下,拷貝到鏈接寄存器的值PC-4)。為了減少編程的復(fù)雜性,ARM 體系結(jié)構(gòu)中設(shè)置了硬件 邏輯,以實(shí)現(xiàn)Thumb 狀態(tài)的自動(dòng)地址偏移調(diào)整,使ARM 和Thumb 狀態(tài)編程一致。

表中列出了Thumb 狀態(tài)下發(fā)生異常時(shí)LR 的值。

 

上一篇:gdb使用流程

下一篇:關(guān)于linux中非局部跳轉(zhuǎn)的簡(jiǎn)單使用

熱點(diǎn)文章推薦
華清學(xué)員就業(yè)榜單
高薪學(xué)員經(jīng)驗(yàn)分享
熱點(diǎn)新聞推薦
前臺(tái)專線:010-82525158 企業(yè)培訓(xùn)洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠(yuǎn)見(jiàn)科技集團(tuán)有限公司 版權(quán)所有 ,京ICP備16055225號(hào)-5京公海網(wǎng)安備11010802025203號(hào)

回到頂部