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

正文內(nèi)容

匯編及嵌入式c語言—第二章(更新版)

2025-03-02 00:05上一頁面

下一頁面
  

【正文】 fiq R9(SB,v6) R9 R9_fiq R10(SL,v7) R10 R10_fiq R11(FP,v8) R11 R11_fiq R12(IP) R12 R12_fiq R13(SP) R13 R13_svc R13_abt R13_und R13_irq R13_fiq R14(LR) R14 R14_svc R14_abt R14_und R14_irq R14_fiq R15(PC) R15 狀態(tài)寄存器 CPSR CPSR SPSR 無 SPSR_abt SPSR_abt SPSR_und SPSR_irq SPSR_fiq 寄存器 R15為 程序計數(shù)器 ( PC),它指向正在取指的地址。 寄存器類別 寄存器在匯編中的名稱 各模式下實際訪問的寄存器 用戶 系統(tǒng) 管理 中止 未定義 中斷 快中斷 通用寄存器和程序計數(shù)器 R0(a1) R0 R1(a2) R1 R2(a3) R2 R3(a4) R3 R4(v1) R4 R5(v2) R5 R6(v3) R6 R7(v4) R7 R8(v5) R8 R8_fiq R9(SB,v6) R9 R9_fiq R10(SL,v7) R10 R10_fiq R11(FP,v8) R11 R11_fiq R12(IP) R12 R12_fiq R13(SP) R13 R13_svc R13_abt R13_und R13_irq R13_fiq R14(LR) R14 R14_svc R14_abt R14_und R14_irq R14_fiq R15(PC) R15 狀態(tài)寄存器 CPSR CPSR SPSR 無 SPSR_svc SPSR_abt SPSR_und SPSR_irq SPSR_fiq R14為 鏈接寄存器 ( LR),在結(jié)構(gòu)上有兩個特殊功能: ?在每種模式下,模式自身的 R14版本用于保存子程序返回地址; ?當(dāng)發(fā)生異常時,將 R14對應(yīng)的異常模式版本設(shè)置為異常返回地址(有些異常有一個小的固定偏移量)。它們所對應(yīng)的物理寄存器取決于當(dāng)前的處理器模式,幾乎所有允許使用通用寄存器的指令都允許使用分組寄存器 寄存器類別 寄存器在匯編中的名稱 各模式下實際訪問的寄存器 用戶 系統(tǒng) 管理 中止 未定義 中斷 快中斷 通用寄存器和程序計數(shù)器 R0(a1) R0 R1(a2) R1 R2(a3) R2 R3(a4) R3 R4(v1) R4 R5(v2) R5 R6(v3) R6 R7(v4) R7 R8(v5) R8 R8_fiq R9(SB,v6) R9 R9_fiq R10(SL,v7) R10 R10_fiq R11(FP,v8) R11 R11_fiq R12(IP) R12 R12_fiq R13(SP) R13 R13_svc R13_abt R13_und R13_irq R13_fiq R14(LR) R14 R14_svc R14_abt R14_und R14_irq R14_fiq R15(PC) R15 狀態(tài)寄存器 CPSR CPSR SPSR 無 SPSR_svc SPSR_abt SPSR_und SPSR_irq SPSR_fiq 9_fiq 寄存器 R8~ R12有兩個分組的物理寄存器。 ? 寄存器被安排成部分重疊的組。 未定義 ) 中止 (abt) 管理 (svc) 中斷 (irq) 快中斷 (fiq) 系統(tǒng)處理器模式 說明 備注 用戶 (usr) 正常程序工作模式 不能直接切換到其它模式 系統(tǒng) (sys) 用于支持操作系統(tǒng)的特權(quán)任務(wù)等 與用戶模式類似,但具有可以直接切換到其它模式等特權(quán) 快中斷 (fiq) 支持高速數(shù)據(jù)傳輸及通道處理 FIQ異常響應(yīng)時進(jìn)入此模式 中斷 (irq) 用于通用中斷處理 IRQ異常響應(yīng)時進(jìn)入此模式 管理 (svc) 操作系統(tǒng)保護(hù)代碼 系統(tǒng)復(fù)位和軟件中斷響應(yīng)時進(jìn)入此模式 中止 (abt) 當(dāng)數(shù)據(jù)或指令預(yù)取中止時進(jìn)入該模式 未定義 (und) 當(dāng)未定義的指令執(zhí)行時進(jìn)入該模式 未定義指令異常響應(yīng)時進(jìn)入此模式 未定義 (und) 中止 (abt) 管理 中斷 (irq) 快中斷 (fiq) 這五種模式稱為 異常模式 。 ? Thumb狀態(tài)和 ARM狀態(tài)切換的實現(xiàn) : BX Rn Rn可以是寄存器 R0— R15中的任意一個,指令可以通過將寄存器 Rn的內(nèi)容拷貝到程序計數(shù)器PC來完成在 4Gbyte地址空間中的絕對跳轉(zhuǎn),而狀態(tài)切換是由寄存器 Rn的最低位來指定的,如果操作數(shù)寄存器的狀態(tài)位 Bit0=0,則進(jìn)入 ARM狀態(tài),如果 Bit0=1,則進(jìn)入 Thumb狀態(tài) 。其指令的 格式與使用方式與 ARM指令集類似,而且使用并不頻繁, Thumb指令集作一般了解。 ? 只能使用 ARM指令的場合 : , ARM指令在寬存儲器中會提供更高的性能; ARM指令來實現(xiàn),比如:訪問 CPSR寄存器來使能 /禁止中斷或者改變處理器工作模式;訪問協(xié)處理器 CP15;執(zhí)行 C代碼不支持的 DSP算術(shù)指令; (Exception)處理。作為 32位的微處理器, ARM體系結(jié)構(gòu)所支持的最大尋址空間為 4GB。每種異常模式都有一些獨立的寄存器,以避免異常退出時用戶模式的狀態(tài)不可靠。 寄存器類別 寄存器在匯編中的名稱 各模式下實際訪問的寄存器 用戶 系統(tǒng) 管理 中止 未定義 中斷 快中斷 通用寄存器和程序計數(shù)器 R0(a1) R0 R1(a2) R1 R2(a3) R2 R3(a4) R3 R4(v1) R4 R5(v2) R5 R6(v3) R6 R7(v4) R7 R8(v5) R8 R8_fiq R9(SB,v6) R9 R9_fiq R10(SL,v7) R10 R10_fiq R11(FP,v8) R11 R11_fiq R12(IP) R12 R12_fiq R13(SP) R13 R13_svc R13_abt R13_und R13_irq R13_fiq R14(LR) R14 R14_svc R14_abt R14_und R14_irq R14_fiq R15(PC) R15 狀態(tài)寄存器 CPSR CPSR SPSR 無 SPSR_svc SPSR_abt SPSR_und SPSR_irq SPSR_fiq 寄存器類別 寄存器在匯編中的名稱 各模式下實際訪問的寄存器 用戶 系統(tǒng) 管理 中止 未定義 中斷 快中斷 通用寄存器和程序計數(shù)器 R0(a1) R0 R1(a2) R1 R2(a3) R2 R3(a4) R3 R4(v1) R4 R5(v2) R5 R6(v3) R6 R7(v4) R7 R8(v5) R8 R8_fiq R9(SB,v6) R9 R9_fiq R10(SL,v7) R10 R10_fiq R11(FP,v8) R11 R11_fiq R12(IP) R12 R12_fiq R13(SP) R13 R13_svc R13_abt R13_und R13_irq R13_fiq R14(LR) R14 R14_svc R14_abt R14_und R14_irq R14_fiq R15(PC) R15 狀態(tài)寄存器 CPSR CPSR SPSR 無 SPSR_svc SPSR_abt SPSR_und SPSR_irq SPSR_fiq 所有的 37個寄存器,分成兩大類: ?31個通用 32位寄存器; ?6個狀態(tài)寄存器。 寄存器類別 寄存器在匯編中的名稱 各模式下實際訪問的寄存器 用戶 系統(tǒng) 管理 中止 未定義 中斷 快中斷 通用寄存器和程序計數(shù)器 R0(a1) R0 R1(a2) R1 R2(a3) R2 R3(a4) R3 R4(v1) R4 R5(v2) R5 R6(v3) R6 R7(v4) R7 R8(v5) R8 R8_fiq R9(SB,v6) R9 R9_fiq R10(SL,v7) R10 R10_fiq R11(FP,v8) R11 R11_fiq R12(IP) R12 R12_fiq R13(SP) R13 R13_svc R13_abt R13_und R13_irq R13_fiq R14(LR) R14 R14_svc R14_abt R14_und R14_irq R14_fiq R15(PC) R15 狀態(tài)寄存器 CPSR CPSR SPSR 無 SPSR_svc SPSR_abt SPSR_und SPSR_irq SPSR_fiq 寄存器 R1 R14分別有 6個分組的物理寄存器。區(qū)別在于有些異常有一個小常量的偏移。 讀 R15的限制 ? 正常操作時,從 R15讀取的值是處理器正在取指的地址,即當(dāng)前正在執(zhí)行指令的地址加上 8個字節(jié)(兩條 ARM指令的長度)。保存 STR指令地址 +偏移量 LDR R0,[R0] 。 SPSR: 備份程序狀態(tài)字,保存異常事件發(fā) 生之前的 CPSR. 每個異常模式帶有一個備份程序狀態(tài)寄存器 , 用于保存在異常事件發(fā)生之前的 CPSR; CPSR和 SPSR通過特殊指令進(jìn)行訪問 。 最低 8位為控制位,當(dāng)發(fā)生異常時,這些位被硬件改變。如果同時發(fā)生兩個或更多異常,那么將按照固定的順序來處理異常,詳見“異常優(yōu)先級”部分。 IRQ01BackAddr JumpAddr return SYS 1 ? 0 . . . ? ? ? ? BackAddr4 “?”表示對該位不關(guān)心 退出異常的過程 ? 快速中斷請求( FIQ) : 快速中斷請求 (FIQ)適用于對一個突發(fā)事件的快速響應(yīng),這得益于在 ARM狀態(tài)中,快中斷模式有 8個專用的寄存器可用來滿足寄存器保護(hù)的需要(這可以加速上下文切換的速度)。 在修復(fù)產(chǎn)生中止的原因后,不管處于哪種處理器操作狀態(tài),處理程序都必須執(zhí)行下面的返回指令 : SUBS PC,R14_abt,8 ? 軟件中斷( SWI) 軟件中斷 (SWI)指令用于進(jìn)入管理模式,通常用于請求執(zhí)行特定的管理功能。它有如下的形式: – immed_8r—— 常數(shù)表達(dá)式; – Rm—— 寄存器方式; – Rm , shift—— 寄存器移位方式; ? 第 2個操作數(shù) ▲ immed_8r—— 常數(shù)表達(dá)式; 該常數(shù)必須對應(yīng) 8位位圖,即一個 8位的常數(shù) 通過循環(huán)右移 偶數(shù)位 得到。 所有的 ARM指令都可以條件執(zhí)行,而Thumb指令只有 B(跳轉(zhuǎn))指令具有條件執(zhí)行功能。指令格式如下: LDR{cond}{T} Rd,地址 。寄存器中的數(shù)值可以加到基址寄存器,也可以從基址寄存器中減去?;芳拇嫫髦械臄?shù)值和地址偏移量做加或減的運算,生成操作數(shù)的地址,指令執(zhí)行后,生成的操作數(shù)地址被寫入到基址寄存器。存儲半字?jǐn)?shù)據(jù),要存儲的數(shù)據(jù)在 Rd,最低 16位有效 說明:帶符號位半字 /字節(jié)加載是指符號位 擴(kuò)展到 32位;無符號位半字加載是指零擴(kuò) 展到 32位 舉例如下: LDRSB R1,[R0,R3] ; R1 ← [R0+R3]字節(jié)數(shù)據(jù) ,高 24位用符號位擴(kuò)展 LDRSH R1,[R9] ; R0 ← [R9]半字?jǐn)?shù)據(jù) , 高 16位用符號位擴(kuò)展 LDRH R6,[R2], 2 ; R6 ← [R2]半字?jǐn)?shù)據(jù) ,高 16位用零擴(kuò)展, R2=R2+2 STRH R1,[R0,2]! ; [R0+2] ← R1,只存儲低 2位字節(jié)數(shù)據(jù) , R0=R0+2 ? 這類 LDR/STR指令可以 加載 /存儲兩個相鄰的寄存器, 64位雙字 。它們主要用于現(xiàn)場保護(hù)、數(shù)據(jù)復(fù)制、常數(shù)傳遞等。 批量 Load/Store指令的尋址方式 數(shù)據(jù)塊傳送指令操作過程如下圖所示 ,其中 R1為指令執(zhí)行前的基址寄存器 , R1’則為指令執(zhí)行后的基址寄存器 。指令格式如下: B{cond} Label 應(yīng)用示例: B WAITA 。比較指令 CMP、
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1