freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

arm微處理器體系結(jié)構(gòu)-文庫(kù)吧

2025-02-27 12:38 本頁(yè)面


【正文】 ① 未分組寄存器 R0~R7 在所有的運(yùn)行模式下,未分組寄存器都指向同一個(gè)物理寄存器,它們未被系統(tǒng)用作特殊的用途,因此,在中斷或異常處理進(jìn)行運(yùn)行模式轉(zhuǎn)換時(shí),由于不同的處理器運(yùn)行模式均使用相同的物理寄存器,可能會(huì)造成寄存器中數(shù)據(jù)的破壞,這一點(diǎn)在進(jìn)行程序設(shè)計(jì)時(shí)應(yīng)引起注意。 ② 分組寄存器 R8~ R14 對(duì)于分組寄存器,它們每一次所訪問的物理寄存器與處理器當(dāng)前的運(yùn)行模式有關(guān)。 對(duì)于 R8~R12,每個(gè)寄存器對(duì)應(yīng)兩個(gè)不同的物理寄存器,當(dāng)使用 fiq模式時(shí),訪問寄存器R8_fiq~R12_fiq;當(dāng)使用除 fiq模式以外的其他模式時(shí),訪問寄存器 R8_usr~R12_usr。 對(duì)于 R1 R14,每個(gè)寄存器對(duì)應(yīng) 6個(gè)不同的物理寄存器,其中一個(gè)是用戶模式與系統(tǒng)模式共用,另外 5個(gè)物理寄存器對(duì)應(yīng)于其他 5種不同的運(yùn)行模式。 采用以下記號(hào)來(lái) 區(qū)分 不同的物理寄存器: R13_mode R14_mode 其中, mode為以下幾種模式之一: usr、fiq、 irq、 svc、 abt、 und。 寄存器 R13在 ARM指令中常用作堆棧指針,但這只是一種習(xí)慣用法,用戶也可使用其他的寄存器作為堆棧指針。而在 Thumb指令集中,某些指令強(qiáng)制性的要求使用 R13作為堆棧指針。 由于處理器的每種運(yùn)行模式均有自己獨(dú)立的物理寄存器 R13,在用戶應(yīng)用程序的初始化部分,一般都要初始化每種模式下的R13,使其指向該運(yùn)行模式的??臻g . 這樣,當(dāng)程序的運(yùn)行進(jìn)入異常模式時(shí),可以將需要保護(hù)的寄存器放入 R13所指向的堆棧,而當(dāng)程序從異常模式返回時(shí),則從對(duì)應(yīng)的堆棧中恢復(fù),采用這種方式可以保證異常發(fā)生后程序的正常執(zhí)行。 R14也稱做子程序連接寄存器 (Subroutine Link Register)或連接寄存器 LR。 當(dāng)執(zhí)行 BL子程序調(diào)用指令時(shí), R14中得到R15(程序計(jì)數(shù)器 PC)的備份。其他情況下,R14用作通用寄存器。 與之類似,當(dāng)發(fā)生中斷或異常時(shí),對(duì)應(yīng)的分組寄存器 R14_svc、 R14_irq、 R14_fiq、R14_abt和 R14_und用來(lái)保存 R15的返回值。 寄存器 R14常用于如下的情況: 在每一種運(yùn)行模式下,都可用 R14保存子程序的返回地址,當(dāng)用 BL或 BLX指令調(diào)用子程序時(shí) ,將 PC的當(dāng)前值復(fù)制給 R14,執(zhí)行完子程序后,又將 R14的值復(fù)制回 PC,即可完成子程序的調(diào)用返回。 以上的描述可用指令完成: ?執(zhí)行以下任意一條指令: MOV PC,LR 或 BX LR ?在子程序入口處使用以下指令將 R14存 入堆棧: STMFD SP! , {Regs, LR} 對(duì)應(yīng)的 ,使用以下指令可以完成子程序返回: LDMFD SP! , {Regs, PC} R14也可作為通用寄存器。 ③ 程序計(jì)數(shù)器 PC(R15) 寄存器 R15用作程序計(jì)數(shù)器 (PC)。在ARM狀態(tài)下,位 [1:0]為 0,位 [31:2]用于保存 PC;在 Thumb狀態(tài)下,位 [0]為 0,位[31:1]用于保存 PC。 雖然可以用作通用寄存器,但是有一些指令在使用 R15時(shí)有一些特殊限制,若不注意,執(zhí)行的結(jié)果將是不可預(yù)料的。 在 ARM狀態(tài)下, PC的 0和 1位是 0,在Thumb狀態(tài)下, PC的 0位是 0。 R15雖然也可用作通用寄存器,但一般不這么使用,因?yàn)閷?duì) R15的使用有一些特殊的限制,當(dāng)違反了這些限制時(shí),程序的執(zhí)行結(jié)果是未知的。 由于 ARM體系結(jié)構(gòu)采用多級(jí)流水線技術(shù),對(duì)于 ARM指令集而言, PC總是指向當(dāng)前指令的下兩條指令的地址,即 PC的值為當(dāng)前指令的地址值加八個(gè)字節(jié)。 在 ARM狀態(tài)下,任一時(shí)刻可以訪問以上所討論的 16個(gè)通用寄存器和 1~2個(gè)狀態(tài)寄存器。在非用戶模式 (特權(quán)模式 ) 下,則可訪問到特定模式分組寄存器,圖 24說(shuō)明在每一種運(yùn)行模式下,哪一些寄存器是可以訪問的。 (2) 寄存器 R16 寄存器 R16用作 CPSR(Current Program Status Register,當(dāng)前程序狀態(tài)寄存器 ), CPSR可在任何運(yùn)行模式下被訪問,它包括條件標(biāo)志位、中斷禁止位、當(dāng)前處理器模式標(biāo)志位,以及其他一些相關(guān)的控制和狀態(tài)位。 每一種運(yùn)行模式下又都有一個(gè)專用的物理狀態(tài)寄存器,稱為 SPSR (Saved Program Status Register,備份的程序狀態(tài)寄存器 ),當(dāng)異常發(fā)生時(shí) ,SPSR用于保存 CPSR的當(dāng)前值 ,從異常退出時(shí)則可由SPSR來(lái)恢復(fù) CPSR。 由于用戶模式和系統(tǒng)模式不屬于異常模式,它們沒有 SPSR,當(dāng)在這兩種模式下訪問 SPSR時(shí),結(jié)果是未知的。 程序狀態(tài)字參見后面說(shuō)明。 2. Thumb狀態(tài)下的寄存器組織 Thumb狀態(tài)下的寄存器集是 ARM狀態(tài)下寄存器集的一個(gè)子集,程序可以直接訪問 8個(gè)通用寄存器 (R7~R0)、程序計(jì)數(shù)器 (PC)、堆棧指針 (SP)、連接寄存器 (LR)和 CPSR。 同時(shí),在每一種特權(quán)模式下都有一組 SP、LR和 SPSR。 圖 24表明 Thumb狀態(tài)下的寄存器組織。
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1