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

正文內(nèi)容

嵌入式chappt課件-閱讀頁

2025-05-27 07:53本頁面
  

【正文】 R13_abtR13_svcR13周 立功單片機(jī)寄存器類別寄存器在 匯編中的名稱各模式下 實(shí)際訪問 的寄存器用 戶 系 統(tǒng) 管理 中止 未定 義 中斷 快中斷通用寄存器和程序 計(jì)數(shù)器R0(a1) R0R1(a2) R1R2(a3) R2R3(a4) R3R4(v1) R4R5(v2) R5R6(v3) R6R7(v4) R7R8(v5) R8 R8_fiqR9(SB,v6) R9 R9_fiqR10(SL,v7) R10 R10_fiqR11(FP,v8) R11 R11_fiqR12(IP) R12 R12_fiqR13(SP) R13 R13_svc R13_abt R13_und R13_irq R13_fiqR14(LR) R14 R14_svc R14_abt R14_und R14_irq R14_fiqR15(PC) R15狀 態(tài) 寄存器CPSR CPSRSPSR 無 SPSR_abt SPSR_abt SPSR_und SPSR_irq SPSR_fiq堆棧指針寄存器 R13( SP) 寄存器 R13常作為 堆棧指針 (SP)。但是在 Thumb指令集中存在使用 R13的指令。在每種模式下,模式自身的 R14版本用于保存子程序返回地址;167。周 立功單片機(jī)Lable程序 A 程序 BR14 內(nèi)部寄存器? R14寄存器與子程序調(diào)用BL Lable地址 A ???MOV PC,LRR14(地址 A)??? A執(zhí)行過程中調(diào)用程序 B;操作流程 Lable,執(zhí)行程序 B。區(qū)別在于有些異常有一個小常量的偏移。例如:如果用戶在用戶模式下執(zhí)行程序時發(fā)生了IRQ中斷,用戶模式寄存器不會被破壞。周 立功單片機(jī) 內(nèi)部寄存器? R14寄存器注意要點(diǎn)R14 R14_irq用戶模式下的程序 IRQ模式下的程序 AareturnB...XA地址 A地址 A下的程序; IRQ中斷,硬件將某個地址存入 IRQ模式下的 R14_irq寄存器, 用戶模式下的 R14沒有被破壞 ;3. IRQ服務(wù)程序 A執(zhí)行完畢,將 R14_irq寄存器的內(nèi)容減去某個常量后存入 PC,返回之前被中斷的程序;未被破壞周 立功單片機(jī) 內(nèi)部寄存器? R14寄存器注意要點(diǎn)R14 R14_irq用戶模式下的程序 IRQ模式下的程序 AaB...XA地址 A地址 A下的程序; IRQ中斷,硬件將某個地址存入 IRQ模式下的 R14_irq寄存器, 用戶模式下的 R14沒有被破壞 ;3. IRQ服務(wù)程序 A執(zhí)行完畢,將 R14_irq寄存器的內(nèi)容減去某個常量后存入 PC,返回之前被中斷的程序;未被破壞IRQ模式下的程序 BareturnB...XA地址 B地址 B4. 如果在 IRQ處理程序中打開 IRQ中斷,并且再次發(fā)生 IRQ中斷,或者調(diào)用子程序;5. 硬件將返回地址保存在R14_irq寄存器中, 原來保存的返回地址將被覆蓋,造成錯誤 ;被破壞6. 在程序 B返回到程序 A,然后在返回到用戶模式下被中斷的程序時,發(fā)生錯誤,將不能正確返回; return 解決辦法是確保 R14的對應(yīng)版本在發(fā)生中斷嵌套時不再保存任何有意義的值(將 R14入棧),或者切換到其它處理器模式下??梢哉J(rèn)為它是一個通用寄存器,但是對于它的使用有許多與指令相關(guān)的限制或特殊情況。周 立功單片機(jī) 內(nèi)部寄存器? 讀 R15的限制 正常操作時,從 R15讀取的值是處理器正在取指的地址,即當(dāng)前正在執(zhí)行指令的地址加上 8個字節(jié)(兩條 ARM指令的長度)。LDR R0,PC??????PCPC4PC8 正在執(zhí)行正在譯碼正在取指流水線狀態(tài)地址 程序代碼周 立功單片機(jī) 內(nèi)部寄存器? 讀 R15的限制 當(dāng)使用 STR或 STM指令保存 R15時,會有一個例外。偏移量是 8還是 12取決于具體的 ARM芯片,但是對于一個確定的芯片,這個值是一個常量。周 立功單片機(jī) 內(nèi)部寄存器? 讀 R15的限制計(jì)算偏移量程序代碼:SUB R1,PC,4 。保存 STR指令地址 +偏移量LDR R0,[R0] 。計(jì)算偏移量周 立功單片機(jī) 內(nèi)部寄存器? 寫 R15的限制 正常操作時,寫入 R15 的值被當(dāng)作一個指令地址,程序從這個地址處繼續(xù)執(zhí)行(相當(dāng)于執(zhí)行一次無條件跳轉(zhuǎn))。具體的規(guī)則取決于內(nèi)核結(jié)構(gòu)的版本:167。在 ARM結(jié)構(gòu) V4版及以上版本中,寫入 R15的值的最低兩位為 0,如果不是,結(jié)果將不可預(yù)測。每種異常都有自己的 SPSR,在因?yàn)楫惓J录M(jìn)入異常時它保存 CPSR的當(dāng)前值,異常退出時可通過它恢復(fù) CPSR。周 立功單片機(jī) 內(nèi)部寄存器? Thumb狀態(tài)寄存器 Thumb狀態(tài)寄存器集是 ARM狀態(tài)集的子集,程序員可以直接訪問的寄存器為:167。程序計(jì)數(shù)器( PC);167。鏈接寄存器( LR);167。周 立功單片機(jī)Thumb狀態(tài)各模式下的寄存器CPSRCPSR狀態(tài)寄 存器R15PCR14_fiqR14_irqR14_undR14_abtR14_svcR14LRR13_fiqR13_irqR13_undR13_abtR13_svcR13SPR7R7(v4,wr)R6R6(v3)R5R5(v2)R4R4(v1)R3R3(a4)R2R2(a3)R1R1(a2)R0R0(a1)通用寄存器和程序計(jì)數(shù)器快中斷中斷未定義中止管理系統(tǒng)用戶各模式下實(shí)際訪問的寄存器寄存器在匯編中的名稱寄存器類別注意:括號內(nèi)為 ATPCS中寄存器的命名,可以使用 RN匯編偽指令將寄存器定義多個名字。周 立功單片機(jī)Thumb狀態(tài)下的通用寄存器CPSRCPSR狀態(tài)寄 存器R15PCR14_fiqR14_irqR14_undR14_abtR14_svcR14LRR13_fiqR13_irqR13_undR13_abtR13_svcR13SPR7R7(v4,wr)R6R6(v3)R5R5(v2)R4R4(v1)R3R3(a4)R2R2(a3)R1R1(a2)R0R0(a1)通用寄存器和程序計(jì)數(shù)器快中斷中斷未定義中止管理系統(tǒng)用戶各模式下實(shí)際訪問的寄存器寄存器在匯編中的名稱寄存器類別 在匯編語言中寄存器 R0~ R7為保存數(shù)據(jù)或地址值的通用寄存器。它們是完全通用的寄存器,不會被體系結(jié)構(gòu)作為特殊的用途,并且可用于任何使用通用寄存器的指令。每個異常模式都有其自身的 SP分組版本, SP通常指向各異常模式所專用的堆棧。周 立功單片機(jī)Thumb狀態(tài)下的鏈接寄存器 R14( LR)CPSRCPSR狀態(tài)寄 存器R15PCR14_fiqR14_irqR14_undR14_abtR14_svcR14LRR13_fiqR13_irqR13_undR13_abtR13_svcR13SPR7R7(v4,wr)R6R6(v3)R5R5(v2)R4R4(v1)R3R3(a4)R2R2(a3)R1R1(a2)R0R0(a1)通用寄存器和程序計(jì)數(shù)器快中斷中斷未定義中止管理系統(tǒng)用戶各模式下實(shí)際訪問的寄存器寄存器在匯編中的名稱寄存器類別 鏈接寄存器 LR對應(yīng) ARM狀態(tài)寄存器R14,在結(jié)構(gòu)上有兩個特殊功能,詳見“ ARM狀態(tài)下的鏈接寄存器 LR” 。周 立功單片機(jī) 內(nèi)部寄存器? ARM狀態(tài)和 Thumb狀態(tài)之間寄存器的關(guān)系 Thumb狀態(tài)寄存器與 ARM狀態(tài)寄存器有如下的關(guān)系:167。Thumb狀態(tài) CPSR和 SPSR與 ARM狀態(tài) CPSR和SPSR相同;167。Thumb狀態(tài) LR映射到 ARM狀態(tài) R14;167。周 立功單片機(jī)Thumb狀態(tài)寄存器在 Arm狀態(tài)寄存器上的映射R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R0 堆棧指針 (R13) 連接寄存器 (R14) 程序計(jì)數(shù)器 (R15) 低寄存器高寄存器周 立功單片機(jī) 內(nèi)部寄存器? 在 Thumb狀態(tài)中訪問高寄存器 在 Thumb狀態(tài)中,高寄存器( R8~ R15)不是標(biāo)準(zhǔn)寄存器集的一部分。 可以使用 MOV、 CMP和 ADD指令對高寄存器操作,詳見第 4章。 CPSR反映了當(dāng)前處理器的狀態(tài),其包含:167。2個中斷禁止位,分別控制一種類型的中斷;167。1個用于指示當(dāng)前執(zhí)行指令 (ARM還是 Thumb)的位。 CPSR和 SPSR通過特殊指令進(jìn)行訪問。注意 :如果通過程序修改 CPSR寄存器中的模式位進(jìn)入異常模式,那么硬件將不會把 CPSR保存至 SPSR中。通常如果指令帶 S后綴,則該指令的執(zhí)行會影響條件代碼標(biāo)志;但有一些指令的執(zhí)行總是會影響條件代碼標(biāo)志。通過算術(shù)操作、邏輯操作、 MSR或者 LDM指令可以對這些位進(jìn)行設(shè)置。周 立功單片機(jī) 程序狀態(tài)寄存器? 條件代碼標(biāo)志各標(biāo)志位的含義如下:167。對于有符號二進(jìn)制補(bǔ)碼,結(jié)果為負(fù)數(shù)時 N=1,結(jié)果為正數(shù)或零時 N=0;167。C 當(dāng)進(jìn)行加法運(yùn)算 (包括 CMN指令 ),并且最高位產(chǎn)生進(jìn)位時 C=1,否則 C=0。對于結(jié)合移位操作的非加法 /減法指令, C為從最高位最后移出的值,其它指令 C通常不變; 167。周 立功單片機(jī) 程序狀態(tài)寄存器? 控制位 CPSR的最低 8位為控制位,當(dāng)發(fā)生異常時,這些位被硬件改變。 它們分別是:167。T位;167。周 立功單片機(jī) 程序狀態(tài)寄存器? 控制位216。當(dāng) I位置位時, IRQ中斷被禁止;167。216。當(dāng) T位置位時,處理器正在 Thumb狀態(tài)下運(yùn)行;167。周 立功單片機(jī) 程序狀態(tài)寄存器? 控制位216。注意 :不是所有模式位的組合都定義了有效的處理器模式,如果使用了錯誤的設(shè)置,將引起一個無法恢復(fù)的錯誤。為了提高程序的可移植性,當(dāng)改變 CPSR標(biāo)志和控制位時,請不要改變這些保留位。 周 立功單片機(jī)
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1