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

正文內(nèi)容

嵌入式系統(tǒng)第3章arm尋址方式與指令系統(tǒng)-wenkub.com

2025-05-10 01:07 本頁面
   

【正文】 ? 例如: ? ORR R0,R0,# 5 ? 。 ? 例如: ? AND R0,R0,# 5 ? 。R0= R2 R3的低 32位 +R0 ? 。R0= R2 R3的低 32位 ? 。R0= R2 R3的低 32位 +R0 ? 。R1= R2 R3的高 32位 COMPUTER SCIENCE AND TECHNOLOGY 數(shù)據(jù)處理指令 12 12. SMLAL 64位有符號數(shù)乘加指令 ? 格式: SMLAL{cond}{S} Rdl,Rdh,Rn,op2。 ? 功能: Rdh Rdl= Rn op2 ? Rdh、 Rdl和 op2均為寄存器。 ? 功能: Rd= Rn op2+op3 ? op2和 op3必須為寄存器。 ? 功能: Rd= Rn op2 ? 該指令根據(jù) S標志,決定操作是否影響 CPSR的值;其中 op2必須為寄存器。 ? 功能: 同 SBC指令,但倒換了兩操作數(shù)的前后位置,即 Rd= op2Rn!carry。 ? 例如: ? 第一個 64位操作數(shù)存放在寄存器 R2, R3中; ? 第二個 64位操作數(shù)存放在寄存器 R4, R5中; ? 64位結(jié)果存放在 R0, R1中。R0=R2R1 ? RSB R0,R1,R2,LSL# 5 。R0=R1R2左移 5位 COMPUTER SCIENCE AND TECHNOLOGY 數(shù)據(jù)處理指令 6 6. RSB 反向減法指令 ? 格式: RSB{cond}{S} Rd,Rn,op2。 ? 功能: Rd= Rnop2 ? op2可以是寄存器、被移位的寄存器或立即數(shù)。 ? 例如: ? 第一個 64位操作數(shù)存放在寄存器 R2, R3中; ? 第二個 64位操作數(shù)存放在寄存器 R4, R5中; ? 64位結(jié)果存放在 R0, R1中。R0=R1+R2 ? ADD R0,R1,R2,LSL# 5 。R0=1 COMPUTER SCIENCE AND TECHNOLOGY 數(shù)據(jù)處理指令 3 3. ADD 加法指令 ? 格式: ADD{cond}{S} Rd,Rn,op2。R0=R1 ? MOV R0,R1,LSL# 5 。 COMPUTER SCIENCE AND TECHNOLOGY ARM指令集 6種類型( 53種主要助記符) : ? 數(shù)據(jù)處理指令( 22種主要助記符) ? 跳轉(zhuǎn)指令( 4種主要助記符) ? Load/Store指令( 16種主要助記符) ? 程序狀態(tài)寄存器指令( 2種主要助記符) ? 協(xié)處理器指令( 5種主要助記符) ? 軟件中斷指令 ( 2種主要助記符) COMPUTER SCIENCE AND TECHNOLOGY 數(shù)據(jù)處理指令 1 1. MOV 數(shù)據(jù)傳送指令 ? 格式: MOV{cond}{S} Rd,op1。 ? 實際上是多寄存器尋址的組合。 ? 例 : LDMIA R0, {R1R5} ; R1=[R0],R2=[R0+4],R3=[R0+8] ; R4=[R0+12], R5=[R0+16] ? 指令中 IA表示在執(zhí)行完一次 Load操作后, R0自增4。 R0=[R1+5] LDR R0, [R1,R2] 。 ? 例: ADD R0, R1, R2, ROR # 5 ; R0=R1+ R2循環(huán)右移 5位 MOV R0, R1, LSL R3 ; R0=R1邏輯左移 R3位 ? 移位操作在 ARM指令集中不作為單獨的指令使用 ,ARM指令集共有 5種位移操作 。 COMPUTER SCIENCE AND TECHNOLOGY 寄存器尋址 ? 在寄存器尋址方式下,寄存器的值即為操作數(shù)。 例如,指令 ADDEQS R1, R2,# 5 COMPUTER SCIENCE AND TECHNOLOGY 條件域 cond ? 幾乎所有的 ARM指令都可以根據(jù)當前程序狀態(tài)寄存器 CPSR中標志位的值,有條件地執(zhí)行。跳轉(zhuǎn)到普通中斷服務程序,開始執(zhí)行 COMPUTER SCIENCE AND TECHNOLOGY bootloader源代碼外部中斷處理實例 ? 外部中斷包括的 26種普通中斷的向量空間分配 HandleADC 4 。判斷該中斷在普通中斷向量表中的偏移量,存入 R8 1 ldr r9,=HandleADC 。在非向量 IRQ中斷模式下,這些中斷的中斷服務程序可通過 IRQ的中斷服務程序間接進入 。為中斷向量分配地址空間 SYS_RST_VECTOR 4 。0x00000018 b FIQ_SVC_HANDLER 。0x00000008 b INS_ABT_HANDLER 。 ? 發(fā)生外部中斷請求,處理器自動保存當前狀態(tài)( PC→R14 , CPSR→SPSR ),進入外部中斷模式,執(zhí)行地址 0x00000018處的指令。 ? 外部中斷請求: 外部中斷請求引腳有效,且 CPSR中的 I位為 0時,產(chǎn)生 IRQ異常。 ? 未定義指令: 當前指令未定義時,便產(chǎn)生未定義指令中斷。 M[4:0] M[4:0] 處理器工作模式 可訪問的寄存器 10000 用戶模式 PC, R0~ R14, CPSR 10001 快速中斷模式 PC , R0 ~ R7 ,R8_fiq~R14_fiq,CPSR,SPSR_fiq 10010 外部中斷模式 PC , R0 ~ R12 ,R13_irq~R14_irq,CPSR,SPSR_irq 10011 管理模式 PC , R0 ~ R12 ,R13_svc~R14_svc,CPSR,SPSR_svc 10111 中止模式 PC , R0 ~ R12 ,R13_abt~R14_abt,CPSR,SPSR_abt 11011 未定義指令模式 PC , R0 ~ R12 ,R13_und~R14_und,CPSR,SPSR_und 11111 系統(tǒng)模式 PC, R0~ R14, CPSR COMPUTER SCIENCE AND TECHNOLOGY 異常中斷 ? 異常中斷: 處理器由于外部或內(nèi)部的原因,停止執(zhí)行當前任務,轉(zhuǎn)而處理特定的事件,處理完后返回原程序,繼續(xù)執(zhí)行。 對于包含移位操作的非加 /減運算指令 , C為移出值的最后一位 。發(fā)生異常時, SPSR保存 CPSR的值,格式同 CPSR。匯編語言程序員對它們的訪問受到限制。由于 ARM指令總是以字為單位,所以 R15寄存器的最低兩位總是為 0。 COMPUTER SCIENCE AND TECHNOLOGY R14( LR)的作用 ? 作用: 保存返回地址 ? 例如: ? A執(zhí)行過程中調(diào)用程序 B; ? Lable,執(zhí)行程序 B。 fi i t i t COMPUTER SCIENCE AND TECHNOLOGY 堆棧指針寄存器 R13( SP) 寄存器類別 寄存器在匯編中的名稱 各模式下實際訪問的寄存器 用戶 系統(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 寄存器 R13常作為 堆棧指針( SP)。一個用于除 FIQ模式之外的所有寄存器模式,另一個用于 FIQ模式。它們是完全通用的寄存器,不會被體系結(jié)構(gòu)作為特殊用途,并且可用于任何使用通用寄存器的指令。 ? 有些寄存器是重疊的,有些是工作模式特有的。 ( 2) Thumb狀態(tài): 處理器執(zhí)行 16位的 thumb指令集時,工作在這種狀態(tài)。 系統(tǒng)模式是特權(quán)模式,不受用戶模式的限制。它們除了可以通過程序切換進入外,也可以由特定的異常進入。 COMPUTER SCIENCE AND TECHNOLOGY ARM處理器 7種工作模式 處理器模式 說明 備注 M[4:0] 用戶 (usr) 正常程序執(zhí)行模式 不能直接切換到其它模式 10000 快速中斷 (fiq) 支持高速數(shù)據(jù)傳輸及通道處理 FIQ異常響應時進入此模式 10001 外部中斷 (irq) 用于通用中斷處理 IRQ異常響應時進入此模式 10010 管理 (svc) 操作系統(tǒng)保護模式 系統(tǒng)復位和軟件中斷響應時進入此模式 10011 中止 (abt) 用于支持虛擬內(nèi)存和 /或存儲器保護 在 ARM7TDMI沒有大用處 10111 未定義 (und) 支持硬件協(xié)處理器的軟件仿真 未定義指令異常響應時進入此模式 11011 系統(tǒng) (sys) 運行操作系統(tǒng)的特權(quán)任務 與用戶模式類似,但具有可以直接切換到其它模式等特權(quán) 11111 COMPUTER SCIENCE AND TECHNOLOGY 特權(quán)模式 處理器模式 說明 備注 用戶 (usr) 正常程序工作模式 不能直接切換到其它模式 系統(tǒng) (sys) 用于支持操作系統(tǒng)的特權(quán)任務等 與用戶模式類似,但具有可以直接切換到其它模式等特權(quán) 快中斷 (fiq) 支持高速數(shù)據(jù)傳輸及通道處理 FIQ異常響應時進入此模式 中斷 (irq) 用于通用中斷處理 IRQ異常響應時進入此模式 管理 (svc) 操作系統(tǒng)保護代碼 系統(tǒng)復位和軟件中斷響應時進入此模式 中止 (abt) 用于支持虛擬內(nèi)存和 /或存儲器保護 在 ARM7TDMI沒有大用處 未定義 (und) 支持硬件協(xié)處理器的軟件仿真 未定義指令異常響應時進入此模式 除用戶模式外,其它模式均為特權(quán)模式 。 ? 在特權(quán)模式中,除 系統(tǒng)模式 之外的其余 5種稱為 異常模式 。 機器指令包括 ARM指令集和 Thumb指令集 ; ? 偽指令: 在源程序匯編期間,由匯編編譯器處理。其作用是為匯編程序完成準備工作; ? 宏指令: 在程序中用于調(diào)用宏,宏是一段獨立的程序代碼;在程序匯編時,對宏調(diào)用進行展開,用宏體代替宏指令。 ? 處理器的各種工作模式由當前程序狀態(tài)寄存器CPSR的低 5位 M[4:0]決定。 ARM內(nèi)部寄存器和一些片內(nèi)外設(shè)在硬件設(shè)計上只允許(或者可選為只允許)特權(quán)模式下訪問。當特定的異常出現(xiàn)時,處理器進入相應的模式。操作系統(tǒng)在該模式下訪問用戶模式的寄存器就比較方便,而且操作系統(tǒng)的一些特權(quán)任務可以使用這個模式訪問一些受控的資源。 ? 狀態(tài)切換: 通過跳轉(zhuǎn)指令實現(xiàn)。 ? 在不同的工作模式和處理器狀態(tài)下,程序員可以訪
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1