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

正文內(nèi)容

下載ppt文檔-(存儲版)

2024-11-26 20:53上一頁面

下一頁面
  

【正文】 B 。 89 ? 90 BL指令示例: … BL func ADD R1,R2,2 … func … ;子程序 … ;子程序代碼 MOV R15, R14 ; 跳轉(zhuǎn)到子程序 子程序調(diào)用完返回后執(zhí)行的語句,返回地址 復制返回地址到 PC,實現(xiàn)子程序的返回 91 BX 帶狀態(tài)切換的分支指令 指令格式: BX {cond} Rm 功能: BX( Branch and optionally eXchange)指令跳轉(zhuǎn)到 Rm指定的地址處執(zhí)行程序,若Rm[0]為 1,則跳轉(zhuǎn)時自動將 CPSR中的標志 T置位,即把目標地址的代碼解釋為 Thumb代碼;若 Rm [0]為 0,則跳轉(zhuǎn)時自動將 CPSR中的標志 T清零,即把目標地址的代碼解釋為ARM代碼。 ? fields: 用于設置狀態(tài)寄存器中需要操作的位, 32位的狀態(tài)寄存器可分為 4個域: ? [31:24]: 條件標志位域 , 用 f表示; ? [23:16]: 狀態(tài)位域 , 用 s表示; ? [15: 8]: 擴展位域 , 用 x表示; ? [ 7: 0]: 控制位域 , 用 c表示; MSR CPSR_c, 0xD3 。 軟中斷指令,后面用 24位立即數(shù)表示軟中斷類型, cpu遇到這條指令會跳轉(zhuǎn)到中斷向量表中軟中斷指令處,然后根據(jù)那條指令跳轉(zhuǎn)到 swi handler,在 swi handler中需要通過 LR寄存器,用指令 LDR R0,[LR,4]。 偽指令可以像其它 ARM指令一樣使用 , 但在編譯時這些指令將被等效的 ARM指令代替 。 ? 對于基于 PC相對偏移的地址值時,給定范圍是相對當前指令地址后兩個字處 Start MOV r0, 0x10 ADR R1,start 在匯編編譯器處理源程序時替換為 SUB R1,pc,0xc 108 例:使用 ADR偽指令加載地址,實現(xiàn)查表功能。又因為 SWI指令的低 24位保存了指令的操作數(shù) (如: 0x98),所以再執(zhí)行 BIC R0, R0,0xFF000000語句,就可以獲得immed_24操作數(shù)的實際內(nèi)容。 102 指令格式: SWI {cond} immed_24 功能: SWI( SoftWare Interrupt)指令用于產(chǎn)生軟中斷,引起 SWI異常,使得處理器模式從用戶模式切換到管理模式,因此也稱為“監(jiān)控調(diào)用”;在切換時, CPSR寄存器內(nèi)容將被保存到管理模式的 SPSR中,同時程序跳轉(zhuǎn)到 SWI異常向量入口處。其中,狀態(tài)寄存器是指 CPSR或 SPSR,一般指當前工作模式下的狀態(tài)寄存器。若要從分支返回調(diào)用處,可以通過重新把 R14的內(nèi)容裝載到 R15中來實現(xiàn), ARM處理器返回到這個分支指令之后的下一條指令處繼續(xù)執(zhí)行。 85 TEQ 相等測試指令 指令格式: TEQ {cond} Rn, operand2 功能: TEQ( Test EQuivalence)指令將寄存器 Rn的值與 operand2進行按位邏輯 ? 異或 ?操作,根據(jù)運算的結(jié)果更新 CPSR中的相應條件標志位。程序 Fun 1 的入口地址 DCD Fun2 。 相等測試指令 81 CMP 比較指令 指令格式: CMP {cond} Rn, operand2 功能: CMP( CoMPare)指令把 Rn寄存器的數(shù)據(jù)與數(shù)據(jù) operand2進行試減比較,比較后的結(jié)果影響CPSR寄存器中的相應條件標志位,不保存試減的結(jié)果。 即: Rd=Rn AND (!operand2) ? operand2可以看作一個 32位的 掩碼 ,如果在掩碼中設置了某一位,則清除 Rn中相應的位。 分析: ARM處理器字長 32bit,可用 2個寄存器為一組表示一個 64bit數(shù)據(jù)。 ADD指令示例: ADD R0, R1, R2; R0 = R1 + R2 ADD R0, R1, 5; R0 = R1 + 5 ADD R0, R1, R2, LSL 2; R0 = R1 +R2*4 69 SUB 減法指令 指令格式: SUB {cond} {S} Rd, Rn, operand2 功能:本指令用 Rn中的值減去 operand2,結(jié)果保存到目標寄存器( Rd)。 指令格式: SWP{cond}{B} Rd, Rm, [Rn] 63 3. ARM數(shù)據(jù)處理指令 ? 數(shù)據(jù)處理指令對存放在寄存器中的數(shù)據(jù)進行操作,分為 數(shù)據(jù)傳送指令、算術邏輯運算指令和比較指令 。匯編程序中,通常直接使用語句標號指定訪問單元。這個地址偏移量可以加到基址寄存器,也可以從基址寄存器中減去這個數(shù)值。 例如: SUBNES R0, R1, 0x10 其中操作碼為 SUB,條件域 cond為 NE, S表示該指令的執(zhí)行影響 CPSR寄存器的值, 目的寄存器 Rd為 R0, 第一個操作數(shù)寄存器 Rn為 R1, 第二個操作數(shù) OP2為立即數(shù) 0x10 。 條件后綴和 S后綴的區(qū)別? 45 第 3章 目錄 ?1. ARM7TDMI編程模型 ?2. ARM7TDMI的尋址方式 ?3. ARM7TDMI指令的條件執(zhí)行 ?4. ARM指令集 ?5. Thumb指令集 46 ARM指令集 A R M核 心內(nèi) 存A R M 協(xié) 處 理 器加 載 指 令( L D R 等 )存 儲 指 令( S T R 等 )通 用 寄 存 器數(shù) 據(jù) 處 理 指 令狀 態(tài) 寄 存 器狀 態(tài) 寄 存 器訪 問 指 令協(xié) 處 理 器 指 令P C跳 轉(zhuǎn) 指 令乘 法 器乘 法 指 令同一個體系的ARM內(nèi)核的指令集是相同的 ,但是每條指令運行的時間可能不同 。 實現(xiàn):將 R1的值和 R2的值相加并存入 R4,運算結(jié)果不影響 CPSR狀態(tài)值 指令 ② 的執(zhí)行也不受條件標志的影響,但是由于附帶了后綴 S,這條指令執(zhí)行的結(jié)果將影響CPSR中條件標志位的值。 指令如 LDMED、 STMED等 。 當堆棧指針 指向最后壓入堆棧的數(shù)據(jù)時 ,稱為滿堆棧( Full Stack),而當堆棧指針 指向下一個將要放入數(shù)據(jù)的空位置時 ,稱為 空堆棧( Empty Stack)。 將 R1所指向的存儲器區(qū)域中的內(nèi)容依次加載到 R2~ R R12(每傳送一個寄存器值后, R1的值自動加 4并保存 ) STMIA R0!, {R2R7, R12} 。 加載到 R0中 STR R0, [R1, R2, LSL 1] 。 注意:“!”表示數(shù)據(jù)傳輸完畢后,更新基址寄存器的值,但基址寄存器不能為 R15—PC。 32) 。R3← R1*128 ? ADD R1, R1, R1, LSL 3 。R5←R3+R1*4 ? ADD R5, R3, R1, LSL R4 。 ? RRX 。R5←R3+R1*2R4 ? 將寄存器的移位結(jié)果作為操作數(shù),但 Rm值保存不變,移位方法如下: ? ASR n 。無溢出時,即是 R0=R1 8 MOV R0, R1, ROR R2 。 指令。 非法的 8位圖數(shù)據(jù): 0x1FE、 51 0xFFFF、 0x10 0xF0000010。), 例如: MOVEQ R0, R1。 ? Operand2:第 2操作數(shù)。1 第 3章 ARM7TDMI指令系統(tǒng) 2 第 3章 目錄 ?1. ARM7TDMI編程模型 ?2. ARM7TDMI的尋址方式 ?3. ARM7TDMI指令的條件執(zhí)行 ?4. ARM指令集 ?5. Thumb指令集 3 第 3章 目錄 ?1. ARM7TDMI編程模型 ?2. ARM7TDMI的尋址方式 ?3. ARM7TDMI指令的條件執(zhí)行 ?4. ARM指令集 ?5. Thumb指令集 4 1. ARM7TDMI編程模型 編程模型就是程序員看到的計算機工作模型。 ? Rn:包含第一個操作數(shù)的寄存器編碼。 ? 書寫時,條件碼的位置在指令助記符的后面(因此也稱為條件后綴。 合法的 8位圖數(shù)據(jù): 0x3FC(0xFF2)、 0xF0000000(0xF024)、 200(0xC8)、 0xF0000001(0x1F28)。 13 ? 指令①: AND R1,R2,0xff 當處理器處理這條指令的第二操作數(shù) 0xff時,因為 0xff為 8位二進制數(shù),所以處理器就將其直接放進 8位“基本”數(shù)中,而 4位“移位”數(shù)則為 0. 指令②: AND R1,R2,0x104 當處理器處理這條指令的第二操作數(shù) 0x104時,因為此時 0x104已經(jīng)超過了 8位二進制數(shù),所以處理器就要將其“改造”一下,我們先把 0x104轉(zhuǎn)換成二進制 0000 0000 0000 0000 0000 0001 0000 0100,我們可以看到,這個數(shù)是 0000 0000 0000 0000 0000 0000 0100 0001通過循環(huán)右移 30位得到的,因此改造后的結(jié)果是 8位“基本”數(shù)中存放 0100 0001,而“移位”數(shù)為 15。 R1的值邏輯左移 3位,結(jié)果放入 R0, 。R5←R3+R1*4 ADD R5, R3, R1, LSL R4 。循環(huán)右移 n位 (1≤n≤31)。 ? ADD R5, R3, R1, LSL 2 。 ? 例如 MOVS R3, R1, LSL 7 。R11= R12⊕ (R3247。 在第二條指令中,將寄存器 R1 的內(nèi)容加上 4 形成操作數(shù)的有效地址,從而取得操作數(shù)存入寄存器 R0 中,然后, R1 的內(nèi)容自增 4 個字節(jié)。 將 R1+R2指向的存儲器單元內(nèi)容 。 LDMIA R1!, {R2R7, R12} 。從子程序中返回 33 ARM的尋址模式 7 堆棧尋址 堆棧是一種數(shù)據(jù)結(jié)構(gòu) ,按 先進后出 ( First In Last Out,F(xiàn)ILO)的方式工作,使用一個稱作 堆棧指針 的專用寄存器 指示當前的操作位置,堆棧指針總是指向棧頂 。 指令如 LDMFD、 STMFD等; ?空遞減 :堆棧向下增長 , 堆棧指針向堆棧下的第一個空位置 。 42 ① ADD R0, R1, R2 ② ADDS R0, R1, R2 ③ ADDEQS R0, R1, R2 指令 ① 不帶條件標志 (無條件 AL),指令的執(zhí)行 不受條件標志位的影響。 ( 3)條件后綴要測試的是執(zhí)行前的標志位,而 S后綴是依據(jù)指令的結(jié)果改變條件標志。 ? Operand2 第 2個操作數(shù),用于指定參與運算的第 2個操作數(shù)。如: LDR R0, [R1, R2] LDR R0, [R1, R2] 地址偏移量有如下幾種表示形式: 52 ( 3)寄存器及移位常數(shù) 這種格式由一個通用寄存器和一個立即數(shù)組成,寄存器中的數(shù)值可以根據(jù)指令中的移位標志以及移位常數(shù)作一定的移位操作,生成一個地址偏移量。 不能使用后綴“ !”。 61 LDM/STM各種后綴尋址方式的比較 增長的方向 增長的先后 向上生長 向下生長 滿 空 滿 空 地址增加 指令執(zhí)行之前 STMIB STMFA LDMIB LDMED 指令執(zhí)行之后 STMIA STMEA LDMIA LDMFD 地址減少 指令執(zhí)行之前 LDMDB LDMEA STMDB STMFD 指令執(zhí)行之后 LDMDA LDMFA STMDA STMED 62 SWP —(單一數(shù)據(jù))寄存器和存儲器交換指令 ? SWP( SWaP data between registers and memory)指令用于將寄存器 Rn指向的存儲器單元的內(nèi)容讀取到寄存器 Rd中,同時將寄存器 Rm的內(nèi)容寫入到該存儲器單元中, Rd和 Rm可以是同
點擊復制文檔內(nèi)容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1