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

正文內(nèi)容

第2章armthumb微處理器結(jié)構(gòu)及指令系統(tǒng)-power(完整版)

2025-02-04 16:04上一頁面

下一頁面
  

【正文】 儲(chǔ)字節(jié)數(shù)據(jù)[addressing]← Rd,addressing索引STR{cond}BTSTRH Rd,addressing 存儲(chǔ)半字?jǐn)?shù)據(jù) [addressing] ← Rd,addressing索引STR{cond}H(3). ARM存儲(chǔ)器訪問指令: 單寄存器存儲(chǔ) LDR/STR指令用于對(duì)內(nèi)存變量的訪問、內(nèi)存緩沖區(qū)數(shù)據(jù)的訪問、查表、外圍部件的控制操作等。寄存器方式應(yīng)用舉例:SUB R1, R1, R2 ; R1R2→R1MOV PC, R0 ; PC=R0,程序跳轉(zhuǎn)到指定地址LDR R0, [R1], R2 ; Rl所指存儲(chǔ)器單元 內(nèi)容存人 R0,且 R1 = R1 R2 (1).指令格式: 第 2個(gè)操作數(shù)167。Rm—— 寄存器方式;167。各項(xiàng)的說明如下:opcode:指令助記符; cond: 執(zhí)行條件;S:是否影響 CPSR寄存器的值;Rd:目標(biāo)寄存器; Rn:第 1個(gè)操作數(shù)的寄存器;operand2:第 2個(gè)操作數(shù);216。 (7).堆棧尋址 多寄存器傳送指令用于將一塊數(shù)據(jù)從存儲(chǔ)器的某一位置拷貝到另一位置。滿遞增 :堆棧向上增長,堆棧指針指向內(nèi)含有效數(shù)據(jù)項(xiàng)的最高地址。 單元中 。的內(nèi)容,放入 R2 STR R1,[R0,4]! 。“與 ”操作,結(jié)果放入 R10x55R0R2 0x01(3).寄存器偏移尋址MOV R0,R2,LSL 30x080x08邏輯左移 3位 寄存器間接尋址指令中的地址碼給出的是一個(gè)通用寄存器的編號(hào),所需的操作數(shù)保存在寄存器指定地址的存儲(chǔ)單元中,即寄存器為操作數(shù)的地址指針。 立即尋址指令舉例如下: SUBS R0,R0,1 。第二章 ARM/Thumb微處理器結(jié)構(gòu)及指令系統(tǒng) ARM/THUMB指令系統(tǒng) q1. ARM處理器尋址方式q2. ARM指令集介紹q3. Thumb指令集 尋址方式是 根據(jù)指令中給出的地址碼字段來實(shí)現(xiàn)尋找真實(shí)操作數(shù)地址的方式。R0減 1,結(jié)果放入 R0,并且影響標(biāo)志位MOV R0,0xFF000 。 寄存器間接尋址指令舉例如下: LDR R1,[R2] 。先 R0=R04,然后把 R1的值寄存 。(R0自動(dòng)加 1) 使用多寄存器尋址指令時(shí),寄存器子集的順序是按由小到大的順序排列,連續(xù)的寄存器可用 “- ”連接;否則用 “, ”分隔書寫。指令如 LDMFA、 STMFA等; 167。 如:STMIA R0!,{R1R7} 。存儲(chǔ)指針在保存第一個(gè)值之前增加。 LDR R0, [R1] ;讀取 R1地址上的存儲(chǔ)器單元內(nèi)容,執(zhí)行條件 AL216。Rm,shift—— 寄存器移位方式 ;第 2個(gè)操作數(shù)(1).指令格式: 第 2個(gè)操作數(shù)167。Rm,shift—— 寄存器移位方式 將寄存器的移位結(jié)果作為操作數(shù),但 Rm值保持不變,移位方法如下:操作碼 說明 操作碼 說明ASR n 算術(shù)右移 n位 ROR n 循環(huán)右移 n位LSL n 邏輯左移 n位 RRX 帶擴(kuò)展的循環(huán)右移 1位LSR n 邏輯右移 n位 Type Rs Type為移位的一種類型, Rs為偏移量寄存器,低 8位有效。若使用 LDR指令加載數(shù)據(jù)到 PC寄存器,則實(shí)現(xiàn)程序跳轉(zhuǎn)功能,這樣也就實(shí)現(xiàn)了程序散轉(zhuǎn)。若指令有 T,那么即使處理器是在特權(quán)模式下,存儲(chǔ)系統(tǒng)也將訪問看成是在用戶模式下進(jìn)行的。 167。偏移量格式、尋址方式與加載 /存儲(chǔ)字和無符號(hào)字節(jié)指令相同。 (3). ARM存儲(chǔ)器訪問指令: LDM和 STM指令可以實(shí)現(xiàn)在一組寄存器和一塊連續(xù)的內(nèi)存單元之間傳輸數(shù)據(jù)。216。 使用后綴 “^” 進(jìn)行數(shù)據(jù)傳送且寄存器列表不包含 PC時(shí),加載/存儲(chǔ)的是用戶模式的寄存器,而不是當(dāng)前模式的寄存器。 指令格式如下:SWP{cond}{B} Rd,Rm,[Rn] 其中, B為可選后綴,若有 B,則交換字節(jié),否則交換 32位字;Rd用于保存從存儲(chǔ)器中讀入的數(shù)據(jù); Rm的數(shù)據(jù)用于存儲(chǔ)到存儲(chǔ)器中,若 Rm與 Rn相同,則為寄存器與存儲(chǔ)器內(nèi)容進(jìn)行交換; Rn為要進(jìn)行數(shù)據(jù)交換的存儲(chǔ)器地址, Rn不能與 Rd和 Rm相同。比較指令。R1=R1+1,并影響標(biāo)志位 ADDS R3, R1, R2, LSL 2 。指令格式如下: ADC{cond}{S} Rd,Rn,operand2 (4). ARM數(shù)據(jù)處理指令: 算術(shù)運(yùn)算應(yīng)用示例: ADDS R0,R0,R2 。指令格式如下: AND{cond}{S} Rd,Rn,operand2 (4). ARM數(shù)據(jù)處理指令: 邏輯運(yùn)算指令應(yīng)用示例: ANDS R0,R0,0x01 。結(jié)果保存到 R0,并影響標(biāo)志位 助記符 說明 操作 條件碼位置AND Rd, Rn, operand2 邏輯與操作指令 Rd← Rn operand2 AND{cond}{S}ORR Rd, Rn, operand2 邏輯或操作指令 Rd← Rn | operand2 ORR{cond}{S}EOR Rd, Rn, operand2 邏輯異或操作指令 Rd← Rn ^ operand2 EOR{cond}{S}BIC Rd, Rn, operand2 位清除指令 Rd← Rn (~operand2) BIC{cond}{S} 位清除指令 —— BIC指令將寄存器 Rn的值與 operand2的值的反碼按位作邏輯 “ 與 ” 操作,結(jié)果保存到 Rd中。位。 比較 R0與 R1是否相等 (不影響 V位和 C位)注意 : TEQ指令與 EORS指令的區(qū)別在于 TEQ指令不保存運(yùn)算結(jié)果。指令格式如下:MUL{cond}{S} Rd,Rm,Rs (5).乘法指令應(yīng)用示例 : MUL R1,R2,R3 。 (R R0)=R5R8 助記符 說明 操作 條件碼位置MUL Rd,Rm,Rs 32位乘法指令 Rd← Rm*Rs (Rd≠ Rm) MUL{cond}{S}MLA Rd,Rm,Rs,Rn 32位乘加指令 Rd← Rm*Rs+Rn (Rd≠ Rm) MLA{cond}{S}UMULL RdLo,RdHi,Rm,Rs 64位無符號(hào)乘法指令 (RdLo,RdHi) ← Rm*Rs UMULL{cond}{S}UMLAL RdLo,RdHi,Rm,Rs 64位無符號(hào)乘加指令 (RdLo,RdHi) ← Rm*Rs+(RdLo,RdHi)UMLAL{cond}{S}SMULL RdLo,RdHi,Rm,Rs 64位有符號(hào)乘法指令 (RdLo,RdHi) ← Rm*Rs SMULL{cond}{S}SMLAL RdLo,RdHi,Rm,Rs 64位有符號(hào)乘加指令 (RdLo,RdHi) ← Rm*Rs+(RdLo,RdHi)SMLAL{cond}{S} 64位有符號(hào)乘法指令 —— SMULL指令將 Rm和 Rs中的值作有符號(hào)數(shù)相乘,結(jié)果的低 32位保存到 RdLo中,而高 32位保存到 RdHi中。帶狀態(tài)切換的分支指令 BX。指令格式如下:BL{cond} Label (6). ARM分支指令 應(yīng)用示例 : BL DELAY 。該操作由協(xié)處理器完成,即對(duì)命令的參數(shù)的解釋與協(xié)處理器有關(guān),指令的使用取決于協(xié)處理器。指令格式如下: CDP{cond} coproc,opcode1,CRd,CRn,CRm{,opcode2} 應(yīng)用示例: CDP p7,0,c0,c2,c3,0 。32 MB的范圍內(nèi)。32M字節(jié)地址內(nèi) (ARM指令為字對(duì)齊,最低 2位地址固定為 0)。 (R R2)=R7R6+(R R2)助記符 說明 操作 條件碼位置MUL Rd,Rm,Rs 32位乘法指令 Rd← Rm*Rs (Rd≠ Rm) MUL{cond}{S}MLA Rd,Rm,Rs,Rn 32位乘加指令 Rd← Rm*Rs+Rn (Rd≠ Rm) MLA{cond}{S}UMULL RdLo,RdHi,Rm,Rs 64位無符號(hào)乘法指令 (RdLo,RdHi) ← Rm*Rs UMULL{cond}{S}UMLAL RdLo,RdHi,Rm,Rs 64位無符號(hào)乘加指令 (RdLo,RdHi) ← Rm*Rs+(RdLo,RdHi)UMLAL{cond}{S}SMULL RdLo,RdHi,Rm,Rs 64位有符號(hào)乘法指令 (RdLo,RdHi) ← Rm*Rs SMULL{cond}{S}SMLAL RdLo,RdHi,Rm,Rs 64位有符號(hào)乘加指令 (RdLo,RdHi) ← Rm*Rs+(RdLo,RdHi)SMLAL{cond}{S} 64位有符號(hào)乘加指令 —— SMLAL指令將 Rm和 Rs中的值作有符號(hào)數(shù)相乘, 64位乘積與 RdHi、 RdLo相加,結(jié)果的低 32位保存到 RdLo中,而高 32位保存到 RdHi中。R0=R3R7,同時(shí)影響 CPSR中的 N位和 Z位 助記符 說明 操作 條件碼位置MUL Rd,Rm,Rs 32位乘法指令 Rd← Rm*Rs (Rd≠ Rm) MUL{cond}{S}MLA Rd,Rm,Rs,Rn 32位乘加指令 Rd← Rm*Rs+Rn (Rd≠ Rm) MLA{cond}{S}UMULL RdLo,RdHi,Rm,Rs 64位無符號(hào)乘法指令 (RdLo,RdHi) ← Rm*Rs UMULL{cond}{S}UMLAL RdLo,RdHi,Rm,Rs 64位無符號(hào)乘加指令 (RdLo,RdHi) ← Rm*Rs+(RdLo,RdHi)UMLAL{cond}{S}SMULL RdLo,RdHi,Rm,Rs 64位有符號(hào)乘法指令 (RdLo,RdHi) ← Rm*Rs SMULL{cond}{S}SMLAL RdLo,RdHi,Rm,Rs 64位有符號(hào)乘加指令 (RdLo,RdHi) ← Rm*Rs+(RdLo,RdHi)SMLAL{cond}{S} 32位乘加指令 —— MLA指令將 Rm和 Rs中的值相乘,再將乘積加上第 3個(gè)操作數(shù),結(jié)果的低 32位保存到 Rd中。當(dāng)兩個(gè)數(shù)據(jù)相等時(shí), EQ有效;否則NE有效。指令格式如下: TST{cond} Rn, operand2 (4). ARM數(shù)據(jù)處理指令: 比較指令應(yīng)用示例 : TST R0,0x01 。將 R1的低 4位清零,其它位不變助記符 說明 操作 條件碼位置CMP Rn, operand2 比較指令 標(biāo)志 N、 Z、 C、 V← Rnoperand2 CMP{cond}CMN Rn, operand2 負(fù)數(shù)比較指令 標(biāo)志 N、 Z、 C、V← Rn+operand2 CMN{cond}TST Rn, operand2 位測試指令 標(biāo)志 N、 Z、 C、 V← Rn operand2 TST{cond}TEQ Rn, operand2 相等測試指令 標(biāo)志 N、 Z、 C、 V← Rn ^ operand2 TEQ{cond}(4). ARM數(shù)據(jù)處理指令: 比較指令助記符 說明 操作 條件碼位置CMP Rn, operand2 比較指令 標(biāo)志 N、 Z、 C、 V← Rnoperand2 CMP{cond}CMN Rn, operand2 負(fù)數(shù)比較指令 標(biāo)志 N、 Z、 C、V← Rn+operand2 CMN{cond}TST Rn, operand2 位測試指令 標(biāo)志 N、 Z、 C、 V← Rn operand2 TST{cond}TEQ Rn, operand2 相等測試指令 標(biāo)志 N、 Z、 C、 V← Rn ^ operand2 TEQ{cond} 比較指令 —— CMP指令將寄存器 Rn的值減去 operand2的值,根據(jù)操作的結(jié)果更新 CPSR中的相應(yīng)條件標(biāo)志位,以便后面的指令根據(jù)相應(yīng)的條件標(biāo)志來判斷是否執(zhí)行。R2=R1R3助記符 說明 操作 條件碼位置AND Rd, Rn, operand2 邏輯與操作指令 Rd← Rn operand2 AND{cond}{S}ORR Rd, Rn, operand2 邏輯或操作指令 Rd← Rn | operand2 ORR{cond}{S}EOR Rd, Rn, operand2 邏輯異或操作指令 Rd← Rn ^ operand2 EOR{cond}{S}BIC Rd, Rn, operand2 位清除指令 Rd← Rn (~operand2) BIC{cond}{S} 邏輯或操作指令 —— ORR指令將 operand2的值與寄存器 Rn的值按位作邏輯 “ 或 ” 操作,結(jié)果保存到 Rd中。(R R0)= (R R0)+(RR2)
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1