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

正文內(nèi)容

arm體系結(jié)構(gòu)與指令集-閱讀頁

2025-03-19 12:38本頁面
  

【正文】 operand ( 2) ADC指令舉例 8. ADC指令 SBC( Subtract with Carry)指令用于執(zhí)行操作數(shù)大于 32位時的減法操作。 9. SBC指令 RSC( Reverse Subtract with Carry)指令用于從寄存器 shifter_operand中減去 Rn表示的數(shù)值,再減去寄存器 CPSR中 C條件標志位的反碼[ NOT( Carry Flag)],并將結(jié)果保存到目標寄存器 Rd中,并根據(jù)指令的執(zhí)行結(jié)果設(shè)置 CPSR中相應(yīng)的標志位。條件標志位根據(jù)兩個操作數(shù)做“邏輯與”后的結(jié)果設(shè)置。條件標志位根據(jù)兩個操作數(shù)做“邏輯或”后的結(jié)果設(shè)置。 ( 1)指令的語法格式 TEQ{cond} Rn,shifter_operand ( 2) TEQ指令舉例 12. TEQ指令 CMP( Compare)指令使用寄存器 Rn的值減去 operand2的值,根據(jù)操作的結(jié)果更新 CPSR中相應(yīng)的條件標志位,以便后面的指令根據(jù)相應(yīng)的條件標志來判斷是否執(zhí)行。 ( 1)指令的語法格式 CMN{cond} Rn,shifter_operand ( 2) CMN指令舉例 14. CMN指令 ORR( Logical OR)為邏輯或操作指令,它將第 2個源操作數(shù) shifter_operand的值與寄存器 Rn的值按位做“邏輯或”操作,結(jié)果保存到 Rd中。 ( 1)指令的語法格式 BIC{cond}{S} Rd,Rn,shifter_operand ( 2) BIC指令舉例 16. BIC位清零指令 ARM乘法指令完成兩個數(shù)據(jù)的乘法。在有些ARM的處理器版本中,將乘積的結(jié)果保存到兩個獨立的寄存器中。 乘法指令 表 213 各種形式乘法指令的功能 操作碼[23∶ 21] 助記符 意 義 操 作 000 MUL 乘(保留 32位結(jié)果) Rd: =( Rm Rs) [31∶ 0] 001 MLA 乘 — 累加( 32位結(jié)果) Rd: =( Rm Rs+ Rn) [31∶ 0] 100 UMULL 無符號數(shù)長乘 RdHi: RdLo: =Rm Rs 101 UMLAL 無符號長乘 — 累加 RdHi: RdLo:+ =Rm Rs 110 SMULL 有符號數(shù)長乘 RdHi: RdLo: =Rm Rs 111 SMLAL 有符號數(shù)長乘 — 累加 RdHi: RdLo:+ =Rm Rs MUL( Multiply) 32位乘法指令將 Rm和 Rs中的值相乘,結(jié)果的最低 32位保存到 Rd中。 ( 1)指令的語法格式 MLA{cond}{S} Rd,Rm,Rs,Rn ( 2)指令舉例 2. MLA乘 — 累加指令 UMULL( Unsigned Multiply Long)為 64位無符號乘法指令。 ( 1)指令的語法格式 UMULL{cond}{S} RdLo,RdHi,Rm,Rs ( 2)指令舉例 3. UMULL指令 UMLAL( Unsigned Multiply Accumulate Long)為 64位無符號長乘 — 累加指令。 ( 1)指令的語法格式 UMALL{cond}{S} RdLo,RdHi,Rm,Rs ( 2)指令舉例 4. UMLAL指令 SMULL( Signed Multiply Long)為 64位有符號長乘法指令。 ( 1)指令的語法格式 SMULL{cond}{S} RdLo,RdHi,Rm,Rs ( 2)指令舉例 5. SMULL指令 SMLAL( Signed Multiply Accumulate Long)為 64位有符號長乘 — 累加指令。 ( 1)指令的語法格式 SMLAL{cond}{S} RdLo,RdHi,Rm,Rs ( 2)指令舉例 6. SMLAL指令 Load/Store內(nèi)存訪問指令在 ARM寄存器和存儲器之間傳送數(shù)據(jù)。 Load/Store指令 這些指令在 ARM寄存器和存儲器之間提供更靈活的單數(shù)據(jù)項傳送方式。 1.單寄存器 Load/Store指令( Single Register) 這些指令的靈活性比單寄存器傳送指令差,但可以使大量的數(shù)據(jù)更有效地傳送。 2.多寄存器 Load/Store內(nèi)存訪問指令 這些指令允許寄存器和存儲器中的數(shù)值進行交換,在一條指令中有效地完成 Load/Store操作。它的主要用途是在多處理器系統(tǒng)中實現(xiàn)信號量( Semaphores)的操作,以保證不會同時訪問公用的數(shù)據(jù)結(jié)構(gòu)。 ( 1)指令的語法格式 LDR{cond} Rd,addr_mode ( 2)指令舉例 1. LDR指令 STR指令用于將一個 32位的字數(shù)據(jù)寫入到指令中指定的內(nèi)存單元。 指令的語法格式: LDR{cond}B Rd,addr_mode 3. LDRB指令 STRB指令從寄存器中取出指定的 8位字節(jié)放入寄存器的低 8位,并將寄存器的高位補 0。 如果指令的內(nèi)存地址不是半字節(jié)對齊的,指令的執(zhí)行結(jié)果不可預(yù)知。 指令的語法格式: STR{cond}H Rd,addr_mode 6. STRH指令 多寄存器的 Load/Store內(nèi)存訪問指令 表 215 多寄存器的 Load/Store內(nèi)存訪問指令 指 令 作 用 操 作 LDM 裝載多個寄存器 {Rd}*N←mem32[start address+4*N] STM 保存多個寄存器 {Rd}*N→mem32[start address+4*N] LDM指令將數(shù)據(jù)從連續(xù)的內(nèi)存單元中讀取到指令中指定的寄存器列表中的各寄存器中。 指令的語法格式: LDM{cond}addressing_mode Rn{!}, registers 1. LDM指令 LDM指令將數(shù)據(jù)從連續(xù)的內(nèi)存單元中讀取到指令中指定的寄存器列表中的各寄存器中。主要用于塊數(shù)據(jù)的寫入、數(shù)據(jù)棧操作及進入子程序時保存相關(guān)寄存器的操作。主要用于塊數(shù)據(jù)的寫入、數(shù)據(jù)棧操作及進入子程序時保存相關(guān)寄存器等操作。LDM為加載多個寄存器, STM為存儲多個寄存器。指令格式如下: LDM{cond}模式 Rn{!},regist{?} STM{cond}模式 Rn{!},regist{?} 數(shù)據(jù)傳送指令應(yīng)用 表 216 多寄存器的 Load/Store內(nèi)存訪問指令映射 向 上 生 長 向 下 生 長 滿 空 滿 空 增加 之前 STMIB LDMIB STMFA LDMED 之后 STMIA LDMIA STMEA LDMFD 增加 之前 LDMDB STMDB LDMEA STMFD 之后 LDMDA STMDA LDMFA STMED 交換指令是 Load/Store指令的一種特例,它把一個寄存器單元的內(nèi)容與寄存器內(nèi)容交換。 交換指令如表 217所示。 指令的語法格式: SWP{cond} Rd,Rm,[Rn] 1. SWP字交換指令 SWPB指令用于將內(nèi)存中的一個字節(jié)單元和一個指定寄存器的低 8位值相交換, 指令的語法格式: SWP{cond}B Rd,Rm,[Rn] 2. SWPB字節(jié)交換指令 SWP指令用于將一個內(nèi)存單元(該單元地址放在寄存器 Rn中)的內(nèi)容讀取到一個寄存器Rd中,同時將另一個寄存器 Rm的內(nèi)容寫到該內(nèi)存單元中,使用 SWP可實現(xiàn)信號量操作。 跳轉(zhuǎn)指令 表 218 ARMv5架構(gòu)跳轉(zhuǎn)指令 助記符 說 明 操 作 B 跳轉(zhuǎn)指令 pc←label BL 帶返回的連接跳轉(zhuǎn) pc←label(lr←BL 后面的第一條指令 ) BX 跳轉(zhuǎn)并切換狀態(tài) pc←Rm0xfffffffe, T←Rm1 BLX 帶返回的跳轉(zhuǎn)并切換狀態(tài) pc←lable, T←1 pc←Rm0xfffffffe, T←Rm1 lr←BL 后面的第一條指令 ( 1)指令的語法格式 B{L}{cond} target_address ( 2)程序舉例 1.跳轉(zhuǎn)指令 B及帶連接的跳轉(zhuǎn)指令 BL 帶狀態(tài)切換的跳轉(zhuǎn)指令( BX)使程序跳轉(zhuǎn)到指令中指定的參數(shù) Rm指定的地址執(zhí)行程序,Rm的第 0位復(fù)制到 CPSR中 T位, bit[31∶1] 移入 PC。 2. BX帶狀態(tài)切換的跳轉(zhuǎn)指令 BX ( 1)指令的語法格式 BX{cond} Rm ( 2)指令舉例 帶連接和狀態(tài)切換的跳轉(zhuǎn)指令( Branch with Link Exchange, BLX)使用標號,用于使程序跳轉(zhuǎn)到 Thumb狀態(tài)或從 Thumb狀態(tài)返回。 狀態(tài)操作指令 表 219 程序狀態(tài)寄存器指令 指令 作 用 操 作 MRS 把程序狀態(tài)寄存器的值送到一個通用寄存器 Rd=SPR MSR 把通用寄存器的值送到程序狀態(tài)寄存器或把一個立即數(shù)送到程序狀態(tài)字 PSR[field]=Rm或PSR[field]=immediate MRS指令用于將程序狀態(tài)寄存器的內(nèi)容傳送到通用寄存器中。 ( 1)指令的語法格式 MRS{cond} Rd, PSR ( 2)指令舉例 1. MRS 在 ARM處理器中,只有 MSR指令可以直接設(shè)置狀態(tài)寄存器 CPSR或 SPSR。 【例 26】 禁止 IRQ中斷。 3.程序狀態(tài)寄存器指令的應(yīng)用 ARM體系結(jié)構(gòu)允許通過增加協(xié)處理器來擴展指令集。 ( 1)協(xié)處理器數(shù)據(jù)操作。 ( 3)協(xié)處理器寄存器傳送指令。 異常產(chǎn)生指令 表 221 ARM異常產(chǎn)生指令 助 記 符 含 義 操 作 SWI 軟中斷指令 產(chǎn)生軟中斷,處理器進入管理模式 BKPT 斷點中斷指令 處理器產(chǎn)生軟件斷點 軟件中斷指令( Software Interrupt,SWI)用于產(chǎn)生軟中斷,從而實現(xiàn)從用戶模式變換到管理模式, CPSR保存到管理模式的 SPSR中,執(zhí)行轉(zhuǎn)移到 SWI向量,在其他模式下也可以使用 SWI指令,處理器同樣切換到管理模式。當系統(tǒng)中存在調(diào)試硬件時,該指令被忽略。 演講完畢,謝謝觀看!
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1