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

正文內(nèi)容

第2章armthumb微處理器結(jié)構(gòu)及指令系統(tǒng)-power-展示頁(yè)

2025-01-17 16:04本頁(yè)面
  

【正文】 Rd, [Rn, 0x04]167。 指令舉例如下:指令舉例如下:LDR R1, [R0, 0x12] ;將;將 R0+0x12地地址處的數(shù)據(jù)讀出,保存到址處的數(shù)據(jù)讀出,保存到 Rl中中 (R0的值不變的值不變 )LDR R1, [R0, 0x12] ;將;將 R00x12地地址處的數(shù)據(jù)讀出,保存到址處的數(shù)據(jù)讀出,保存到 R1中中 (R0的值不變的值不變 ) 指令舉例如下:指令舉例如下:, , R2] ;將;將 R0+R2地址處的數(shù)地址處的數(shù)據(jù)讀出,保存到據(jù)讀出,保存到 R1中中, , R2] ;將;將 R0R2地址處的數(shù)地址處的數(shù)據(jù)讀出,保存到據(jù)讀出,保存到 R1中中指令舉例如下:指令舉例如下:LDR R1, [R0, R2, LSL 2] ;將;將R0+R24地址處的數(shù)據(jù)讀出,保存到地址處的數(shù)據(jù)讀出,保存到 R1中中 (R0、 R2的值不變的值不變 )LDR R1, [R0, R2, LSL 2];將;將 R0R24地址處的數(shù)據(jù)讀出,保存到地址處的數(shù)據(jù)讀出,保存到 R1中中 (R0、 R2的值的值不變不變 ) (3). ARM存儲(chǔ)器訪問(wèn)指令: 單寄存器存儲(chǔ) 從尋址方式的地址計(jì)算方法分,加載 /存儲(chǔ)指令有以下 4種格式: 167。 167。 167。立即數(shù): 立即數(shù)可以是一個(gè)無(wú)符號(hào)的數(shù)值。(3). ARM存儲(chǔ)器訪問(wèn)指令: 單寄存器存儲(chǔ)?LDR和 STR—— 字和無(wú)符號(hào)字節(jié)加載 /存儲(chǔ)指令編碼指令執(zhí)行的條件碼I為 0時(shí),偏移量為 12位立即數(shù),為 1時(shí),偏移量為寄存器移位P表示前 /后變址U表示加 /減B為 1表示字節(jié)訪問(wèn),為 0表示字訪問(wèn)W表示回寫(xiě)為指令的尋址方式Rd為源 /目標(biāo)寄存器Rn為基址寄存器L用于區(qū)別加載( L為 1)或存儲(chǔ)( L為 0)(3). ARM存儲(chǔ)器訪問(wèn)指令: 單寄存器存儲(chǔ)?LDR和 STR—— 字和無(wú)符號(hào)字節(jié)加載 /存儲(chǔ)指令 LDR/STR指令尋址非常靈活,它由兩部分組成,其中一部分為一個(gè)基址寄存器,可以為任一個(gè)通用寄存器;另一部分為一個(gè)地址偏移量。若指令有 T,那么即使處理器是在特權(quán)模式下,存儲(chǔ)系統(tǒng)也將訪問(wèn)看成是在用戶(hù)模式下進(jìn)行的。將指定地址上的字節(jié)數(shù)據(jù)讀入 Rd STR{cond}B{T} Rd,地址 。將指定地址上的字?jǐn)?shù)據(jù)讀入 Rd STR{cond}{T} Rd,地址 。?LDR和 STR—— 字和無(wú)符號(hào)字節(jié)加載 /存儲(chǔ)指令 LDR指令用于從內(nèi)存中讀取單一字或字節(jié)數(shù)據(jù)存入寄存器中, STR指令用于將寄存器中的單一字或字節(jié)數(shù)據(jù)保存到內(nèi)存。若使用 LDR指令加載數(shù)據(jù)到 PC寄存器,則實(shí)現(xiàn)程序跳轉(zhuǎn)功能,這樣也就實(shí)現(xiàn)了程序散轉(zhuǎn)。 存儲(chǔ)器訪問(wèn)指令分為 單寄存器操作指令 和 多 寄存器操作指令 。操作碼 條件助記符 標(biāo)志 含義0000 EQ Z=1 相等0001 NE Z=0 不相等0010 CS/HS C=1 無(wú)符號(hào)數(shù)大于或等于0011 CC/LO C=0 無(wú)符號(hào)數(shù)小于0100 MI N=1 負(fù)數(shù)0101 PL N=0 正數(shù)或零0110 VS V=1 溢出0111 VC V=0 沒(méi)有溢出1000 HI C=1,Z=0 無(wú)符號(hào)數(shù)大于1001 LS C=0,Z=1 無(wú)符號(hào)數(shù)小于或等于1010 GE N=V 有符號(hào)數(shù)大于或等于 1011 LT N!=V 有符號(hào)數(shù)小于 1100 GT Z=0,N=V 有符號(hào)數(shù)大于 1101 LE Z=1,N!=V 有符號(hào)數(shù)小于或等于 1110 AL 任何 無(wú)條件執(zhí)行 (指令默認(rèn)條件 ) 1111 NV 任何 從不執(zhí)行 (不要使用 ) ? 指令條件碼表(3). ARM存儲(chǔ)器訪問(wèn)指令 ARM處理器是典型的 RISC處理器,對(duì)存儲(chǔ)器的訪問(wèn)只能使用加載和存儲(chǔ)指令實(shí)現(xiàn)。 所有的 ARM指令都可以條件執(zhí)行,而 Thumb指令只有 B(跳轉(zhuǎn))指令具有條件執(zhí)行 功能。Rm,shift—— 寄存器移位方式 將寄存器的移位結(jié)果作為操作數(shù),但 Rm值保持不變,移位方法如下:操作碼 說(shuō)明 操作碼 說(shuō)明ASR n 算術(shù)右移 n位 ROR n 循環(huán)右移 n位LSL n 邏輯左移 n位 RRX 帶擴(kuò)展的循環(huán)右移 1位LSR n 邏輯右移 n位 Type Rs Type為移位的一種類(lèi)型, Rs為偏移量寄存器,低 8位有效。Rm—— 寄存器方式 在寄存器方式下,操作數(shù)即為寄存器的數(shù)值。 167。循環(huán)右移 10位0x120 0 0 1 0 0 1 00x000 0 0 0 0 0 0 00x000 0 0 0 0 0 0 00x000 0 0 0 0 0 0 00x000 0 0 0 0 0 0 00x000 0 0 0 0 0 0 00x801 0 0 0 0 0 0 00x040 0 0 0 0 1 0 08位常數(shù)(1).指令格式: 第 2個(gè)操作數(shù) 合法常量: 0x3FC、 0、 0xF0000000、 200、0xF0000001。Rm,shift—— 寄存器移位方式 ;第 2個(gè)操作數(shù)(1).指令格式: 第 2個(gè)操作數(shù)167。immed_8r—— 常數(shù)表達(dá)式;167。 0x10=R1,影響 CPSR寄存器 (S)指令格式舉例如下:(1).指令格式: 靈活的使用第 2個(gè)操作數(shù) “operand2”能夠提高代碼效率。 ADDS R1, R1, 1 ;加法指令, R1+1= R1,影響 CPSR  ;寄存器 (S)216。 LDR R0, [R1] ;讀取 R1地址上的存儲(chǔ)器單元內(nèi)容,執(zhí)行條件 AL216。 ARM指令的基本格式如下:(1).指令格式opcode {cond} {S} Rd ,Rn{,operand2} 其中 號(hào)內(nèi)的項(xiàng)是必須的, {}號(hào)內(nèi)的項(xiàng)是可選的。 相對(duì)尋址指令舉例如下:BL SUBRl ;調(diào)用到 SUBRl子程序. . .SUBR1…MOV PC,R14 ;返回(7). 相對(duì)尋址2. ARM指令集介紹(1).指令格式(2).條件碼(3).ARM存儲(chǔ)器訪問(wèn)指令(4). ARM數(shù)據(jù)處理指令(5).乘法指令(6). ARM分支指令(7).協(xié)處理器指令(8).雜項(xiàng)指令(9).偽指令2. ARM指令集介紹n ARM7TDMI(S)的指令集,包括ARM指令集Thumb指令集 。 (8).塊拷貝尋址 增加 之前 STMIBSTMFALDMIBLDMED 之后 STMIASTMEALDMIALDMFD 減少 之前 LDMDBLDMEASTMDBSTMFD 之后 LDMDALDMFASTMDASTMED 向上生長(zhǎng) 向下生長(zhǎng) 滿(mǎn) 空 滿(mǎn) 空 增長(zhǎng)的方向增長(zhǎng)的先后多寄存器傳送指令映射 相對(duì)尋址是基址尋址的一種變通。存儲(chǔ)指針在保存第一個(gè)值之前增加。將 R1~ R7的數(shù)據(jù)保存到存儲(chǔ)器中。增長(zhǎng)方向?yàn)橄蛏显鲩L(zhǎng)。 如:STMIA R0!,{R1R7} 。指令如 LDMED、 STMED等。指令如 LDMFD、 STMFD等;167。指令如 LDMEA、 STMEA等; 167。指令如 LDMFA、 STMFA等; 167。 (7).堆棧尋址0x123456780x12345678棧頂SP? 0x12345678棧頂SP?壓棧 壓棧所以可以組合出四種類(lèi)型的堆棧方式:167。向上生長(zhǎng) : 向高地址方向生長(zhǎng),稱(chēng)為遞增堆棧167。堆棧尋址是隱含的,它使用一個(gè)專(zhuān)門(mén)的寄存器(堆棧指針 )指向一塊存儲(chǔ)區(qū)域 (堆棧 ),指針?biāo)赶虻拇鎯?chǔ)單元即是堆棧的棧頂。(R0自動(dòng)加 1) 使用多寄存器尋址指令時(shí),寄存器子集的順序是按由小到大的順序排列,連續(xù)的寄存器可用 “- ”連接;否則用 “, ”分隔書(shū)寫(xiě)。存到 R0指向的存儲(chǔ) 。R2~ R R12中 (R1自動(dòng)加 1) STMIA R0!,{R2R7,R12} 。 多寄存器尋址指令舉例如下: LDMIA R1!,{R2R7,R12} 。先 R0=R04,然后把 R1的值寄存 。讀取 R3+0x0C地址上的存儲(chǔ)單元 。單元的內(nèi)容交換 0x55R0R2 0x400000000xAA0x40000000(4).寄存器間接尋址LDR R0,[R2]0xAA 基址尋址就是將基址寄存器的內(nèi)容與指令中給出的偏移量相加,形成操作數(shù)的有效地址。保存在 R1中 SWP R1,R1,[R2] 。 寄存器間接尋址指令舉例如下: LDR R1,[R2] 。R2的值左移 R3位,然后和 R1相 。R2的值左移 3位,結(jié)果放入 R0, 。當(dāng)?shù)?2個(gè)操作數(shù)是寄存器移位方式時(shí),第 2個(gè)寄存器操作數(shù)在與第 1個(gè)操作數(shù)結(jié)合之前,選擇進(jìn)行移位操作。R0減 1,結(jié)果放入 R0,并且影響標(biāo)志位MOV R0,0xFF000 。將 R1的值減去 R2的值,結(jié)果保存到 R0 0xAA0x55R2(1).寄存器尋址MOV R1,R20xAA 立即尋址指令中的操作碼字段后面的地址碼部分即是操作數(shù)本身,也就是說(shuō),數(shù)據(jù)就包含在指令當(dāng)中,取出指令也就取出了可以立即使用的操作數(shù) (這樣的數(shù)稱(chēng)為立即數(shù) )。 寄存器尋址指令舉例如下: MOV R1,R2 。(1).寄存器尋址; (2).立即尋址;(3).寄存器偏移尋址; (4).寄存器間接尋址;(5).基址尋址; (6).多寄存器尋址;(7).堆棧尋址; (8).塊拷貝尋址;(9).相對(duì)尋址。第二章 ARM/Thumb微處理器結(jié)構(gòu)及指令系統(tǒng) ARM/THUMB指令系統(tǒng) q1. ARM處理器尋址方式q2. ARM指令集介紹q3. Thumb指令集 尋址方式是 根據(jù)指令中給出的地址碼字段來(lái)實(shí)現(xiàn)尋找真實(shí)操作數(shù)地址的方式。 ARM處理器具有 9種基本尋址方式。 操作數(shù)的值在寄存器中,指令中的地址碼字段指出的是寄存器編號(hào),指令執(zhí)行時(shí)直接取出寄存器值來(lái)操作。將 R2的值存入 R1 SUB R0,R1,R2 。 立即尋址指令舉例如下: SUBS R0,R0,1 。將立即數(shù) 0xFF000裝入 R0寄存器 0x55R0MOV R0,0xFF00程序存儲(chǔ)(2).立即尋址MOV R0,0xFF000xFF00從代碼中獲得數(shù)據(jù) 寄存器移位尋址是 ARM指令集特有的尋址方式。 寄存器移位尋址指令舉例如下:MOV R0,R2,LSL 3 。即是 R0=R28 ANDS R1,R1,R2,LSL R3 ?!芭c ”操作,結(jié)果放入 R10x55R0R2 0x01(3).寄存器偏移尋址MOV R0,R2,LSL 30x080x08邏輯左移 3位 寄存器間接尋址指令中的地址碼給出的是一個(gè)通用寄存器的編號(hào),所需的操作數(shù)保存在寄存器指定地址的存儲(chǔ)單元中,即寄存器為操作數(shù)的地址指針。將 R2指向的存儲(chǔ)單元的數(shù)據(jù)讀出。將寄存器 R1的值和 R2指定的存儲(chǔ)?;穼ぶ分噶钆e例如下: LDR R2,[R3,0x0C] 。的內(nèi)容,放入 R2 STR R1,[R0,4]! 。到保存到 R0指定的存儲(chǔ)單元 (5).基址尋址0x55R2R3 0x400000000xAA0x4000000CLDR R2,[R3,0x0C]0xAA將 R3+0x0C作為地址裝載數(shù)據(jù) 多寄存器尋址一次可傳送幾個(gè)寄存器值,允許一條指令傳送 16個(gè)寄存器的任何子集或所有寄存器。將 R1指向的單元中的數(shù)據(jù)讀出到 。將寄存器 R2~ R R12的值保 。 單元中 。(6).多寄存器尋址0x40000000R1R2 0x?? 0x01 0x400000000x??R3R4 0x??R6 0x??0x020x030x040x400000040x400000080x4000000C存儲(chǔ)器LDMIA R1!,{R2R4,R6} 0x400000100x010x020x030x04 堆棧是一個(gè)按特定順序進(jìn)行存取的存儲(chǔ)區(qū),操作順序?yàn)?“后進(jìn)先出 ” 。 存儲(chǔ)器堆??煞譃閮煞N: 167。向下生長(zhǎng) : 向低地址方向生長(zhǎng),稱(chēng)為遞減堆棧(7).堆棧尋址(7).堆棧尋址棧底棧頂棧區(qū)SP?堆棧存儲(chǔ)區(qū)棧頂棧底棧區(qū)?SP向下增長(zhǎng)向上增長(zhǎng)0x123456780x12345678堆棧壓棧堆棧壓棧棧頂SP?棧頂SP?棧底空堆棧棧底滿(mǎn)堆棧
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1