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

正文內(nèi)容

嵌入式系統(tǒng)第3章arm尋址方式與指令系統(tǒng)-閱讀頁

2025-05-28 01:07本頁面
  

【正文】 異常中斷的優(yōu)先級 異常類型 優(yōu)先級 復(fù)位 1(最高優(yōu)先級) 數(shù)據(jù)中止 2 FIQ 3 IRQ 4 預(yù)取中止 5 未定義指令 6 SWI 6(最低優(yōu)先級) 優(yōu)先級降低 COMPUTER SCIENCE AND TECHNOLOGY 復(fù)位 ? 當 nRESET信號由低變?yōu)楦唠娖綍r, ARM處理器執(zhí)行下列操作: 1. 強制 CPSR中的 M[4:0]變?yōu)?b10011(管理模式); 2. 置位 CPSR中的 I和 F位; 3. 清零 CPSR中的 T位; 4. 強制 PC從地址 0x00開始對下一條指令進行取指; 5. 返回到 ARM狀態(tài)并恢復(fù)執(zhí)行 。 ? 發(fā)生外部中斷請求,處理器自動保存當前狀態(tài)( PC→R14 , CPSR→SPSR ),進入外部中斷模式,執(zhí)行地址 0x00000018處的指令。0x00000000 b UDF_INS_HANDLER 。0x00000008 b INS_ABT_HANDLER 。0x00000010 b . 。0x00000018 b FIQ_SVC_HANDLER 。 ? IRQ_SVC_Vector為外部中斷請求的中斷向量。為中斷向量分配地址空間 SYS_RST_VECTOR 4 。IsrIRQ為中斷服務(wù)程序的入口地址 ldr r1,=IsrIRQ 。在非向量 IRQ中斷模式下,這些中斷的中斷服務(wù)程序可通過 IRQ的中斷服務(wù)程序間接進入 。讀出中斷寄存器 I_ISPR的值,存入 R9中 mov r8,0x0 0 movs r9,r9,lsr 1 bcs %F1 add r8,r8,4 。判斷該中斷在普通中斷向量表中的偏移量,存入 R8 1 ldr r9,=HandleADC 。起始地址 +偏移地址=實際的中斷向量地址 ldr r9,[r9] 。跳轉(zhuǎn)到普通中斷服務(wù)程序,開始執(zhí)行 COMPUTER SCIENCE AND TECHNOLOGY bootloader源代碼外部中斷處理實例 ? 外部中斷包括的 26種普通中斷的向量空間分配 HandleADC 4 。 COMPUTER SCIENCE AND TECHNOLOGY ARM指令的編碼格式 ? 實際指令語法格式為: ADDEQS R0,R1,R2。 例如,指令 ADDEQS R1, R2,# 5 COMPUTER SCIENCE AND TECHNOLOGY 條件域 cond ? 幾乎所有的 ARM指令都可以根據(jù)當前程序狀態(tài)寄存器 CPSR中標志位的值,有條件地執(zhí)行。 cond CPSR中標志位 含 義 EQ Z置位 相等 NE Z清零 不相等 CS C置位 無符號數(shù)大于或等于 CC C清零 無符號數(shù)小于 MI N置位 負數(shù) PL N清零 正數(shù)或零 VS V置位 溢出 VC V清零 未溢出 HI C置位 Z清零 無符號數(shù)大于 LS C清零 Z置位 無符號數(shù)小于或等于 GE N等于 V 帶符號數(shù)大于或等于 LT N不等于 V 帶符號數(shù)小于 GT Z清零且( N等于 V) 帶符號數(shù)大于 LE Z置位或( N不等于 V) 帶符號數(shù)小于或等于 AL 忽略 無條件執(zhí)行 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 依版本不同,定義不同 COMPUTER SCIENCE AND TECHNOLOGY 尋址方式 9種: ? 立即數(shù)尋址 ? 寄存器尋址 ? 寄存器移位尋址 ? 寄存器間接尋址 ? 基址變址尋址 ? 相對尋址 ? 多寄存器尋址 ? 塊拷貝尋址 ? 堆棧尋址 COMPUTER SCIENCE AND TECHNOLOGY 立即數(shù)尋址 ? 在立即數(shù)尋址中,操作數(shù)本身直接在指令中給出,取出指令也就獲得了操作數(shù),這個操作數(shù)也稱為立即數(shù)。 COMPUTER SCIENCE AND TECHNOLOGY 寄存器尋址 ? 在寄存器尋址方式下,寄存器的值即為操作數(shù)。 ? 例: ADD R0, R1, R2 ; R0=R1+ R2 MOV R0, R1 ; R0=R1 COMPUTER SCIENCE AND TECHNOLOGY 寄存器移位尋址 ? 寄存器移位尋址的操作數(shù)由寄存器的數(shù)值做相應(yīng)移位而得到。 ? 例: ADD R0, R1, R2, ROR # 5 ; R0=R1+ R2循環(huán)右移 5位 MOV R0, R1, LSL R3 ; R0=R1邏輯左移 R3位 ? 移位操作在 ARM指令集中不作為單獨的指令使用 ,ARM指令集共有 5種位移操作 。 ? 例: STR R0, [R1] ; [R1]=R0 LDR R0, [R1] ; R0=[R1] COMPUTER SCIENCE AND TECHNOLOGY 基址變址尋址 ? 將寄存器(稱為基址寄存器)的值與指令中給出的偏移地址量相加,所得結(jié)果作為操作數(shù)的物理地址。 R0=[R1+5] LDR R0, [R1,R2] 。 ? 例: BEQ process1 …… process1 …… COMPUTER SCIENCE AND TECHNOLOGY 多寄存器尋址 ? 在多寄存器尋址方式中,一條指令可實現(xiàn)一組寄存器值的傳送。 ? 例 : LDMIA R0, {R1R5} ; R1=[R0],R2=[R0+4],R3=[R0+8] ; R4=[R0+12], R5=[R0+16] ? 指令中 IA表示在執(zhí)行完一次 Load操作后, R0自增4。 COMPUTER SCIENCE AND TECHNOLOGY 塊拷貝尋址 ? 塊拷貝尋址可實現(xiàn)連續(xù)地址數(shù)據(jù)從存儲器的某一位置拷貝到另一位置。 ? 實際上是多寄存器尋址的組合。 ? 當 數(shù)據(jù)寫入和讀出內(nèi)存的順序不同時,使用堆棧尋址可以很好的解決這問題。 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。 ? 例如: ? MOV R0,# 5 。R0=R1 ? MOV R0,R1,LSL# 5 。 ? 功能: 將 op1表示的值傳送到目的寄存器 Rd中,但該值在傳送前被按位取反,即 Rd=!op1; ? op1可以是寄存器、被移位的寄存器或立即數(shù)。R0=1 COMPUTER SCIENCE AND TECHNOLOGY 數(shù)據(jù)處理指令 3 3. ADD 加法指令 ? 格式: ADD{cond}{S} Rd,Rn,op2。 ? 例如: ? ADD R0,R1,# 5 。R0=R1+R2 ? ADD R0,R1,R2,LSL# 5 。 ? 功能: Rd= Rn+op2+carry ? op2可以是寄存器、被移位的寄存器或立即數(shù);carry為進位標志值。 ? 例如: ? 第一個 64位操作數(shù)存放在寄存器 R2, R3中; ? 第二個 64位操作數(shù)存放在寄存器 R4, R5中; ? 64位結(jié)果存放在 R0, R1中。低 32位相加, S表示結(jié)果影響條件標志位的值 ? ADC R1,R3,R5 。 ? 功能: Rd= Rnop2 ? op2可以是寄存器、被移位的寄存器或立即數(shù)。R0=R15 ? SUB R0,R1,R2 。R0=R1R2左移 5位 COMPUTER SCIENCE AND TECHNOLOGY 數(shù)據(jù)處理指令 6 6. RSB 反向減法指令 ? 格式: RSB{cond}{S} Rd,Rn,op2。 ? 例如: ? RSB R0,R1,# 5 。R0=R2R1 ? RSB R0,R1,R2,LSL# 5 。 ? 功能: Rd= Rnop2!carry ? op2可以是寄存器、被移位的寄存器或立即數(shù)。 ? 例如: ? 第一個 64位操作數(shù)存放在寄存器 R2, R3中; ? 第二個 64位操作數(shù)存放在寄存器 R4, R5中; ? 64位結(jié)果存放在 R0, R1中。 低 32位相減, S表示結(jié)果影響條件標志位的值 ? SBC R1,R3,R5。 ? 功能: 同 SBC指令,但倒換了兩操作數(shù)的前后位置,即 Rd= op2Rn!carry。 低 32位相減, S表示結(jié)果影響寄存器 CPSR的值 ? RSC R1,R5,R3。 ? 功能: Rd= Rn op2 ? 該指令根據(jù) S標志,決定操作是否影響 CPSR的值;其中 op2必須為寄存器。 ? 例如: ? MULS R0,R1,R2 。 ? 功能: Rd= Rn op2+op3 ? op2和 op3必須為寄存器。 ? 例如: ? MLA R0,R1,R2,R3 。 ? 功能: Rdh Rdl= Rn op2 ? Rdh、 Rdl和 op2均為寄存器。 ? 例如: ? SMULL R0,R1,R2,R3 ? 。R1= R2 R3的高 32位 COMPUTER SCIENCE AND TECHNOLOGY 數(shù)據(jù)處理指令 12 12. SMLAL 64位有符號數(shù)乘加指令 ? 格式: SMLAL{cond}{S} Rdl,Rdh,Rn,op2。 Rn和 op2的值為 32位的有符號數(shù), Rdh Rdl的值為 64位的加數(shù)。R0= R2 R3的低 32位 +R0 ? 。 ? 功能: 同 SMULL指令,但指令中 Rn和 op2的值為32位的無符號數(shù)。R0= R2 R3的低 32位 ? 。 ? 功能: 同 SMLAL指令,但指令中 Rn, op2的值為32位的無符號數(shù), Rdh Rdl的值為 64位無符號數(shù)。R0= R2 R3的低 32位 +R0 ? 。 ? 功能: Rd= Rn AND op2 ? op2可以是寄存器,被移位的寄存器或立即數(shù)。 ? 例如: ? AND R0,R0,# 5 ? 。 ? 功能: Rd= Rn OR op2 ? op2可以是寄存器、被移位的寄存器或立即數(shù)。 ? 例如: ? ORR R0,R0,# 5
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1