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

正文內(nèi)容

第8章arm匯編指令-全文預(yù)覽

2025-08-10 13:11 上一頁面

下一頁面
  

【正文】 式 說 明 操 作 MUL{cond}{S} Rd,Rm,Rs 32位乘法 Rd← Rm*Rs MLA{cond}{S} Rd,Rm,Rs,Rn 32位乘加 Rd← Rm*Rs+Rn UMULL{cond}{S} RdLo,RdHi,Rm,Rs 64位無符號乘法 (RdLo,RdHi) ← Rm*Rs UMLAL{cond}{S} RdLo,RdHi,Rm,Rs 64位無符號乘加 (RdLo,RdHi) ← Rm*Rs+(RdLo,RdHi) SMULL{cond}{S} RdLo,RdHi,Rm,Rs 64位有符號乘法 (RdLo,RdHi) ← Rm*Rs SMLAL{cond}{S} RdLo,RdHi,Rm,Rs 64位有符號乘加 (RdLo,RdHi) ← Rm*Rs+(RdLo,RdHi) MUL R1,R2,R3 。R1等于高 32位相加,并加上低位進位 SUBS R0,R0,R2 。R0=R0240 ,并影響標志位 SUBS R2,R1,R2 。 30/95 算術(shù)運算指令 指 令 格 式 說 明 操 作 ADD{cond}{S} Rd,Rn,operand2 加法 Rd← Rn+operand2 SUB{cond}{S} Rd,Rn,operand2 減法 Rd← Rnoperand2 RSB{cond}{S} Rd,Rn,operand2 逆向減法 Rd← operand2Rn ADC{cond}{S} Rd,Rn,operand2 帶進位加法 Rd← Rn+operand2+C SBC{cond}{S} Rd,Rn,operand2 帶進位減法 Rd← Rnoperand2~C RSC{cond}{S} Rd,Rn,operand2 帶進位逆向減法 Rd← operand2Rn~C 可影響 N,Z, C和 V標志位。PC=LR,子程序返回 MVN R1,0xFF 。 29/95 數(shù)據(jù)傳送指令 MOV R11,0xF000000B 。取到 R1中 (高 24位清零 ), 并將 R2的 。若 R0R1, 則 R0=R0+1 ADDLS R1,R1,1 。條件跳轉(zhuǎn)到 LOOP處 ... LOOP MOV R6,1 2022817 18/95 帶條件碼的指令 C代碼: If(a b) a++。 2022817 15/95 堆棧的遞增與遞減 1. 遞增堆棧:向高地址方向生長,即向上生長 2. 遞減堆棧:向低地址方向生長,即向下生長 棧底 棧頂 棧區(qū) SP? 堆棧存儲區(qū) 棧頂 棧底 棧區(qū) ?SP 地址減少 地址增加 0x12345678 0x12345678 遞增堆棧 壓棧 遞減堆棧壓棧 2022817 16/95 棧頂 SP? 棧頂 SP? 棧底 棧底 堆棧的空與滿 1. 空堆棧:堆棧指針 SP指向下一個待壓入數(shù)據(jù)的空位置 2. 滿堆棧:堆棧指針 SP指向最后壓入的堆棧的有效數(shù)據(jù)項 0x12345678 0x12345678 棧頂 SP? 0x12345678 棧頂 SP? 滿堆棧壓棧 空堆棧壓棧 2022817 17/95 相 對 尋 址 1. 操作數(shù)為指令存放地址 。 [SPC] =R3, [SP10]=R2, SP=SP10 0x40000000 SP R2 0x?? 0x01 0x40000000 0x?? R3 R4 0x?? R6 0x?? 0x02 0x03 0x04 0x40000004 0x40000008 0x4000000C 0x010x020x030x040x40000010堆棧單元 Empty Ascending Full Desending 多寄存器 /塊尋址 ARM支持的四種堆棧類型 1. 滿遞增( FA):堆棧向上增長,堆棧指針指向內(nèi)含有效數(shù)據(jù)項的最高地址。 /塊尋址,可完成多個數(shù)據(jù)的入棧和出棧; LDMEA SP!,{R2R4,R6} 。 R4= [R1+8] , R6= [R1+C], R1=R1+10 STMDB R1,{R2R4,R6} 。 {寄存器編號(名)列表 }。R2=[R3+0x0C] LDR R1,[R0,4]! 。 [寄存器編號(名) ]和偏移量 。 (指針)找到相應(yīng)的存儲單元 。 MOV R0, R2, LSL 3 。 R0 = 0xFF00 SUBS R0,R0,1 。 MOV R1, R2 。 標明條件代碼,將默認為無條件( AL)執(zhí)行 ARM指令條件碼 cond 6/95 ARM處理器尋址方式 尋址方式是根據(jù)指令中給出的地址碼字段來實現(xiàn)尋找真實操作數(shù)地址的方式 。移位不消耗額外時間,且 Rm值不變。 opcode:指令助記符; cond: 執(zhí)行條件; S:是否影響 CPSR寄存器的值; Rd:目標寄存器; Rn:第 1個操作數(shù)的寄存器; operand2:第 2個操作數(shù) ( immed_8r、 Rm、 Rm,shift) ; 指令語法 目標寄存器 (Rd) 源寄存器 1(Rn ) 源寄存器 2(Rm) ADD r3,r1,r2 r3 r1 r2 2022817 2/95 ARM指令中的第 2操作數(shù) 0x12 0 0 0 1 0 0 1 0 0x00 0 0 0 0 0 0 0 0 0x00 0 0 0 0 0 0 0 0 0x00 0 0 0 0 0 0 0 0 0x00 0 0 0 0 0 0 0 0 0x00 0 0 0 0 0 0 0 0 0x80 1 0 0 0 0 0 0 0 0x04 0 0 0 0 0 1 0 0 8位常數(shù)循環(huán)右移 10位 常數(shù) immed_8r由一個 8位常數(shù)通過循環(huán)右移偶數(shù)位得到: Rm,shift由 Rm移位得到。R1=R1R2R3 2022817 4/95 ARM機器指令編碼格式 操作碼 條件助記符 標志 含義 0000 EQ Z=1 相等 0001 NE Z=0 不相等 0010 CS/HS C=1 無符號數(shù)大于或等于 0011 CC/LO C=0 無符號數(shù)小于 0100 MI N=1 負數(shù) 0101 PL N=0 正數(shù)或零 0110 VS V=1 溢出 0111 VC V=0 沒有溢出 1000 HI C=1,Z=0 無符號數(shù)大于 1001 LS C=0,Z=1 無符號數(shù)小于或等于 1010 GE N=V 有符號數(shù)大于或等于 1011 LT N!=V 有符號數(shù)小于 1100 GT Z=0,N=V 有符號數(shù)大于 1101 LE Z=1,N!=V 有符號數(shù)小于或等于 1110 AL 任何 無條件執(zhí)行 (指令默認條件 ) 1111 NV 任何 從不執(zhí)行 (不要使用 ) ARM指令都可以條件執(zhí)行,而Thumb指令只有 B(跳轉(zhuǎn))指令具有條件執(zhí)行 功能。 。 2. 指令地址碼部分就是數(shù)據(jù)本身; 3. 取指時就取出了可立即使用的操作數(shù); MOV R0,0xFF00 。 ,再將結(jié)果作為源操作數(shù) 。 [寄存器編號(名) ]。 R1? [R2] 0x55 R0 R1 0x40000000 0xAA 0x40000000 0xAA 內(nèi)存單元 2022817 11/95 基址變址尋址 1. 操作數(shù)存放在內(nèi)存單元中 。 LDR R2,[R3,0x0C] 。R0=[R1+R2] 前索引 后索引 0x55 R2 R3 0x40000000 0xAA 0x4000000C 0xAA 內(nèi)存單元 12/95 多寄存器尋址 /塊復(fù)制尋址 1. 操作數(shù)存放在內(nèi)存單元中 。 R2= [R1] , R3= [R1+4] 。 SP。 [SP4]= R6 , [SP8]=R4 。 4. 空遞減( ED) :堆棧向下增長,堆棧指針向堆棧下的第一個空位置。調(diào)用 SUBR1子程序 BEQ LOOP 。比較 R0( a) 與 R1( b) ADDHI R0,R0,1 。將 R0指向的存儲單元低字節(jié)數(shù)據(jù)讀 。 ? 所有 ARM數(shù)據(jù)處理指令均可選擇使用 S后綴 , 以使指令影響狀態(tài)標志 。R3=R12,并影響標志位 MOV PC,LR 。 ? MVN指令具有取反功能,所以可以裝載范圍更廣的
點擊復(fù)制文檔內(nèi)容
語文相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1