一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

arm寄存器

 langhuayipian 2010-10-08
ARM處理器共有37個(gè)寄存器。其中包括:31個(gè)通用寄存器,包括程序計(jì)數(shù)器(PC)在內(nèi)。這些寄存器都是32位寄存器。以及6個(gè)32位狀態(tài)寄存器。但目前只使用了其中12位。ARM處理器共有7種不同的處理器模式,在每一種處理器模式中有一組相應(yīng)的寄存器組。任意時(shí)刻(也就是任意的處理器模式下),可見的寄存器包括15個(gè)通用寄存器(R0R14)、一個(gè)或兩個(gè)狀態(tài)寄存器及程序計(jì)數(shù)器(PC)。在所有的寄存器中,有些是各模式共用的同一個(gè)物理寄存器;有一些寄存器是各模式自己擁有的獨(dú)立的物理寄存器。表1列出了各處理器模式下可見的寄存器情況。
1 各種處理器模式下的寄存器
用戶模式
系統(tǒng)模式
特權(quán)模式
中止模式
未定義指令模式
外部中斷模式
快速中斷模式
R0
R0
R0
R0
R0
R0
R0
R1
R1
R1         
R1
R1
R1
R1
R2
R2
R2
R2
R2
R2
R2
R3
R3
R3
R3
R3
R3
R3
R4
R4
R4
R4
R4
R4
R4
R5
R5
R5
R5
R5
R5
R5
R6
R6
R6
R6
R6
R6
R6
R8
R8
R8
R8
R8
R8
R8_fiq
R9
R9
R9
R9
R9
R9
R9_fiq
R10
R10
R10
R10
R10
R10
R10_fiq
R11
R11
R11
R11
R11
R11
R11_fiq
R12
R12
R12
R12
R12
R12
R12_fiq
R13
R13
R13_svc
R13_abt
R13_und
R13_inq
R13_fiq
R14
R14
R14_svc
R14_abt
R14_und
R14_inq
R14_fiq
PC
PC
PC
PC
PC
PC
PC
CPSR
CPSR
CPSR
SPSR_svc
CPSR
SPSR_abt
CPSR
SPSR_und
CPSR
SPSR_inq
CPSR
SPSR_fiq

通用寄存器可以分為下面3類:未備份寄存器(The unbanked registers),包括R0R7。備份寄存器(The banked registers),包括R8R14。程序計(jì)數(shù)器PC,即R15

未備份寄存器

未備份寄存器包括R0R7。 對于每一個(gè)未備份寄存器來說,在所有的處理器模式下指的都是同一個(gè)物理寄存器。在異常中斷造成處理器模式切換時(shí),由于不同的處理器模式使用相同的物理寄存 器,可能造成寄存器中數(shù)據(jù)被破壞。未備份寄存器沒有被系統(tǒng)用于特別的用途,任何可采用通用寄存器的應(yīng)用場合都可以使用未備份寄存器。

備份寄存器

對于備份寄存器R8R12來說,每個(gè)寄存器對應(yīng)兩個(gè)不同的物理寄存器。例如,當(dāng)使用快速中斷模式下的寄存器時(shí),寄存器R8和寄存器R9分別記作R8_fiq、R9_fiq;當(dāng)使用用戶模式下的寄存器時(shí),寄存器R8和寄存器R9分別記作R8_usr、R9_usr等。在這兩種情況下使用的是不同的物理寄存器。系統(tǒng)沒有將這幾個(gè)寄存器用于任何的特殊用途,但是當(dāng)中斷處理非常簡單,僅僅使用R8R14寄存器時(shí),FIQ處理程序可以不必執(zhí)行保存和恢復(fù)中斷現(xiàn)場的指令,從而可以使中斷處理過程非常迅速。對于備份寄存器R13R14來說,每個(gè)寄存器對應(yīng)6個(gè)不同的物理寄存器,其中的一個(gè)是用戶模式和系統(tǒng)模式共用的;另外的5個(gè)對應(yīng)于其他5種處理器模式。采用記號(hào)R13_<mode>來區(qū)分各個(gè)物理寄存器:
其中,<mode>可以是下面幾種模式之一:usr、svcabt、undirqfiq。
寄存器R13ARM中常用作棧指針。在ARM指令集中,這只是一種習(xí)慣的用法,并沒有任何指令強(qiáng)制性的使用R13作為棧指針,用戶也可以使用其他的寄存器作為棧指
針;而在Thumb指令集中,有一些指令強(qiáng)制性地使用R13作為棧指針。
每一種異常模式擁有自己的物理的R13。應(yīng)用程序初始化該R13,使其指向該異常模式專用的棧地址。當(dāng)進(jìn)入異常模式時(shí),可以將需要使用的寄存器保存在R13所指的棧中;當(dāng)退出異常處理程序時(shí),將保存在R13所指的棧中的寄存器值彈出。這樣就使異常處理程序不會(huì)破壞被其中斷程序的運(yùn)行現(xiàn)場。
寄存器R14又被稱為連接寄存器(Link RegisterLR),在ARM體系中具有下面兩種特殊的作用:每一種處理器模式自己的物理R14中存放在當(dāng)前子程序的返回地址。當(dāng)通過BLBLX指令調(diào)用子程序時(shí),R14被設(shè)置成該子程序的返回地址。在子程序中,當(dāng)把R14的值復(fù)制到程序計(jì)數(shù)器PC中時(shí),子程序即返回。
當(dāng)異常中斷發(fā)生時(shí),該異常模式特定的物理R14被設(shè)置成該異常模式將要返回的地址,對于有些異常模式,R14的值可能與將返回的地址有一個(gè)常數(shù)的偏移量。具體的返回方式與上面的子程序返回方式基本相同。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    日韩欧美高清国内精品| 极品熟女一区二区三区| 不卡视频免费一区二区三区| 国产丝袜美女诱惑一区二区| 国产又黄又猛又粗又爽的片| 国产99久久精品果冻传媒| 99少妇偷拍视频在线| 中文字幕91在线观看| 久久三级国外久久久三级| 色婷婷视频国产一区视频| 二区久久久国产av色| 国产超薄黑色肉色丝袜| 日韩精品少妇人妻一区二区| 成人免费高清在线一区二区| 久久精品国产99国产免费| 在线观看国产午夜福利| 久久精品国产亚洲av麻豆尤物| 夜夜躁狠狠躁日日躁视频黑人| 邻居人妻人公侵犯人妻视频| 好吊视频一区二区在线| 一区二区三区亚洲天堂| 国产精品国三级国产专不卡| 国产三级欧美三级日韩三级| 高清不卡视频在线观看| 黄片在线免费看日韩欧美| 人妻偷人精品一区二区三区不卡| 亚洲欧美日韩在线看片| 91国内视频一区二区三区| 男女午夜福利院在线观看| 亚洲最新av在线观看| 欧美胖熟妇一区二区三区| 免费精品一区二区三区| 日本少妇三级三级三级| 老鸭窝老鸭窝一区二区| 国产精品视频久久一区| 国产精品十八禁亚洲黄污免费观看| 亚洲熟妇av一区二区三区色堂| 国产成人一区二区三区久久| 扒开腿狂躁女人爽出白浆av| 中日韩美一级特黄大片| 最近日韩在线免费黄片|