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

正文內(nèi)容

第三講arm編程模型,異常處理(2課時)(文件)

2024-10-21 15:52 上一頁面

下一頁面
 

【正文】 SR_Exception_Mode = CPSR :保存當前狀態(tài) CPSR[4:0] = Exception Mode Number :設(shè)置進入異常模式 CPSR[5] = 0 ;當運行于 ARM工作狀態(tài)時 If Exception_Mode == Reset or FIQ then 當響應(yīng) FIQ異常時,禁止新的 FIQ異常 ? CPSR[6] = 1 ? CPSR[7] = 1 PC = Exception Vector Address 執(zhí)行異常處理程序,還需要保存其他 用戶寄存器到 R13指定的堆棧中 No. 33 2022 異常處理中寄存器的使用 ? 在異常發(fā)生時處理器模式的改變意味著異常處理程序至少需要訪問下列寄存器: ?堆棧指針寄存器( SP_mode) ?連接寄存器( LR_mode) ?程序狀態(tài)保存寄存器( SPSR_mode) ?在 FIQ異常處理中, 5個其他的通用寄存器( r8_FIQ到 r12_FIQ) ?其他的寄存器可以和發(fā)生異常之前的模式共用 ? 異常處理程序必須確保其他的寄存器在退出異常處理程序時恢復到進入異常之前的值。 ? Thumb 指令集不包括協(xié)處理器,因而不需要這種指令仿真機制。 ?響應(yīng)過程 R14_IRQ= 產(chǎn)生數(shù)據(jù)異常的指令后面的第二條指令 SPSR_IRQ = CPSR CPSR[4:0] = 0b10010 :進入未定義指令模式 CPSR[5] = 0 : 切換到 ARM工作狀態(tài)時 CPSR[7] = 1 : 禁止 IRQ 中斷 PC = 0000018或者 0xFFFF0018 No. 41 2022 Vector Table Vector table may be placed at 0xFFFF0000 on ARM720T and ARM9/10 family devices FIQ IRQ (Reserved) Data Abort Prefetch Abort Software Interrupt Undefined Instruction Reset 0x1C 0x18 0x14 0x10 0x0C 0x08 0x04 0x00 異常處理 ? When an exception occurs, the ARM: ? Copies CPSR into SPSR_mode ? Sets appropriate CPSR bits ? If core currently in Thumb state then ?ARM state is entered. ? Mode field bits ? Interrupt disable bits (if appropriate) ? Stores the return address in LR_mode ? Sets PC to vector address ? To return, exception handler needs to: ? Restore CPSR from SPSR_mode ? Restore PC from LR_mode ? This can only be done in ARM state. No. 42 2022 從異常的返回 ?異常處理完畢之后, ARM微處理器會執(zhí)行以下幾步操作從異常返回: 將連接寄存器 LR的值減去相應(yīng)的偏移量后送到 PC中。 No. 43 2022 SWI和未定義指令異常的返回 ? SWI和未定義指令異常是由當前執(zhí)行的指令產(chǎn)生的 ,當 SWI和未定義指令異常產(chǎn)生時,程序計數(shù)器 PC的值還未更新,它指向當前指令后面第 2條指令: ?SWI pc- 8 異常在這條指令處發(fā)生 ?Xxx pc- 4 LR= PC4 ?Yyy pc ? 返回指令: MOV PC , LR 將寄存器 LR中的值復制到程序計數(shù)器 PC中 同時 將 SPSR_mode寄存器內(nèi)容復制到當前程序狀態(tài)寄存 器 CPSR中。 產(chǎn)生異常 返回地址 PC地址 LR地址 No. 45 2022 指令預取中止異常處理程序的返回 ? 當發(fā)生指令預取中止異常時, 程序要返回到該有問題的指令處 ,重新讀取并執(zhí)行該指令。 產(chǎn)生異常 返回地址 PC地址 LR地址 No. 46 2022 數(shù)據(jù)訪問中止異常處理器的返回 ? 數(shù)據(jù)訪問中止異常是由數(shù)據(jù)訪問指令產(chǎn)生的, 返回時候要重新執(zhí)行。 產(chǎn)生異常 返回地址 PC地址 LR地址 No. 47 2022 ARM 編程模式和異常處理的總結(jié) ?編程模式的概念:對程序員而言 ?ARM有 7種模式 ?對應(yīng)的寄存器組 ?R13,R14,R15(PC), CPSR等關(guān)鍵寄存器 ?異常的概念 ?ARM的 7種異常及其優(yōu)先級 ?進入異常的流程 ?從異常返回的流程 下一節(jié)課: ARM指令集和匯編編程 參考書: 《 ARM體系結(jié)構(gòu)與編程 》 清華大學出版社 杜春雷編著 。 ? ARM ? pc- 12 數(shù)據(jù)訪問中止異常發(fā)生于此 ? Xxx pc- 8 ? Yyy pc- 4 lr=下一條指令 ? Zzz pc ? 返回指令是 SUBS PC , LR , # 8 。 ? pc- 8 預取指令異常發(fā)生于此 ? Xxx pc- 4 lr=下一條指令 ? Yyy pc ? 返回指令是 SUBS PC , LR ,# 4。 ? pc- 12 這條指令執(zhí)行過程中發(fā)生中斷 ?Xxx pc- 8 ?Yyy pc- 4 LR=下一條指令 ?Zzz pc pc ? ? 返回指令是 SUBS PC , LR ,# 4 。 若在進入異常處理時設(shè)置了中斷禁止位,要在此清除。在ARM狀態(tài)下,系統(tǒng)有足夠的私有寄存器,從而可以避免對寄存器保存的需求,并減小了系統(tǒng)上下文切換的開銷。 No. 34 2022 復位異常 ? 復位異常在系統(tǒng)加電或復位時執(zhí)行,它將進行一些初始化工作,具體內(nèi)容與具體系統(tǒng)相關(guān),然后程序控制權(quán)交給應(yīng)用程序,因而復位異常處理程序不需要返回。都可以通過 CPSR中的相應(yīng)位來屏蔽。處理器允許多個異常同時發(fā)生,它們將會按固定的優(yōu)先級進行處理。 ? R0- R12寄存器 ? R13(堆棧指針, SP)和 R14(連接寄存器) ?程序計數(shù)器, R15( PC
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1