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

正文內(nèi)容

指令系統(tǒng)與程序編制-展示頁

2025-05-21 00:51本頁面
  

【正文】 子程序返回 END 。跳轉(zhuǎn)到 LOOP ADD_SUB ADDS R0,R0,R1 。設(shè)置參數(shù) MOV R1,10 LOOP BL ADD_SUB 。標識程序入口 CODE32 。說明:使用 ARMulate軟件仿真調(diào)試 AREA Example1,CODE,READONLY 。文件名: 。子程序返回 END 。跳轉(zhuǎn)到 LOOP ADD_SUB ADDS R0,R0,R1 。設(shè)置參數(shù) MOV R1,10 LOOP BL ADD_SUB 。標識程序入口 CODE32 。說明:使用 ARMulate軟件仿真調(diào)試 AREA Example1,CODE,READONLY 。文件名: 。調(diào)用到 SUBR1子程序 BEQ LOOP 。 由程序計數(shù)器 PC提供基準地址 , 指令中的地址碼字段作為偏移量 , 兩者相加后得到的地址即為操作數(shù)的有效地址 。 指令如 LDMED、 STMED等 。 指令如 LDMEA、 STMEA等; ?滿遞減 :堆棧向下增長 , 堆棧指針指向內(nèi)含有效數(shù)據(jù)項的最低地址 。 0x12345678 0x12345678 棧頂 SP? 0x12345678 棧頂 SP? 壓棧 壓棧 成都信息工程學院 3+1創(chuàng)新實驗班 2021/6/14 所以可以組合出四種類型的堆棧方式: ?滿遞增 :堆棧向上增長 , 堆棧指針指向內(nèi)含有效數(shù)據(jù)項的最高地址 。 堆棧尋址是隱含的 , 它使用一個專門的寄存器 (堆棧指針 )指向一塊存儲區(qū)域(堆棧 ), 指針所指向的存儲單元即是堆棧的棧頂 。將寄存器 R2~ R R12的值保存到 R0 。將 R1指向的單元中的數(shù)據(jù)讀出到 。R0=[R1+R2] 成都信息工程學院 3+1創(chuàng)新實驗班 2021/6/14 多寄存器尋址一次可傳送幾個寄存器值 , 允許一條指令傳送 16個寄存器的任何子集或所有寄存器 。后索引基址尋址 。值寄存到保存到 R1指定的存儲單元 ? 尋址方式分類 —— 基址尋址 0x55 R2 R3 0x40000000 0xAA 0x4000000C LDR R2,[R3,0x0C] 0xAA 將 R3+0x0C作為地址裝載數(shù)據(jù) 成都信息工程學院 3+1創(chuàng)新實驗班 2021/6/14 基址尋址指令舉例如下: LDR R0,[R1] ,4 。儲單元的內(nèi)容 , 放入 R2 STR R1,[R0,4]! 。 基址尋址指令舉例如下 (前索引尋址 ): LDR R2,[R3,0x0C] ?;穼ぶ酚糜谠L問基址附近的存儲單元 , 常用于查表 、數(shù)組操作 、 功能部件寄存器訪問等 。將寄存器 R1的值和 R2指定的存 。將 R2指向的存儲單元的數(shù)據(jù)讀出 。然后和 R1相 “ 與 ” 操作 , 結(jié)果放入R1 0x55 R0 R2 0x01 ? 尋址方式分類 —— 寄存器移位尋址 MOV R0,R2,LSL 3 080x08 邏輯左移 3位 成都信息工程學院 3+1創(chuàng)新實驗班 2021/6/14 寄存器間接尋址指令中的地址碼給出的是一個通用寄存器的編號 , 所需的操作數(shù)保存在寄存器指定地址的存儲單元中 , 即寄存器為操作數(shù)的地址指針 。放入 R0, 即是 R0=R2 8 ANDS R1,R1,R2,LSL R3 。 寄存器移位尋址指令舉例如下: MOV R0,R2,LSL 3 。裝入 R0寄存器 0x55 R0 MOV R0,0xFF00 程序存儲 ? 尋址方式分類 —— 立即尋址 MOV R0,0xFF00 0xFF00 從代碼中獲得數(shù)據(jù) 成都信息工程學院 3+1創(chuàng)新實驗班 2021/6/14 寄存器移位尋址是 ARM指令集特有的尋址方式 。并且影響標志位 MOV R0,0xFF000 。 立即尋址指令舉例如下: SUBS R0,R0,1 。將 R1的值減去 R2的值 , 。 寄存器尋址指令舉例如下: MOV R1,R2 。 ; ; ; ; ; ; ; 。成都信息工程學院 3+1創(chuàng)新實驗班 2021/6/14 2 L E C T U R E 指令系統(tǒng)與程序編制 陳子為 成都信息工程學院 3+1創(chuàng)新實驗班 2021/6/14 對本部分的要求 ? 一般采用 C語言開發(fā),應(yīng)重點掌握用 C語言開發(fā)嵌入式系統(tǒng) ? 對于初學者和嵌入式應(yīng)用人才:只需要初步學習和掌握基本的指令系統(tǒng)以及基本的匯編程序設(shè)計技術(shù),能夠達到一邊查找指令手冊、一邊閱讀匯編源代碼的程度即可 ? 一般啟動代碼都是采用匯編語言編寫的,應(yīng)能夠理解和修改啟動代碼 成都信息工程學院 3+1創(chuàng)新實驗班 2021/6/14 1 ARM處理器尋址方式 ? 尋址方式分類 尋址方式是根據(jù)指令中給出的地址碼字段來實現(xiàn)尋找真實操作數(shù)地址的方式 。 ARM處理器具有 8種基本尋址方式 。 成都信息工程學院 3+1創(chuàng)新實驗班 2021/6/14 操作數(shù)的值在寄存器中 , 指令中的地址碼字段指出的是寄存器編號 , 指令執(zhí)行時直接取出寄存器值來操作 。將 R2的值存入 R1 SUB R0,R1,R2 。結(jié)果保存到 R0 0xAA 0x55 R2 R1 ? 尋址方式分類 —— 寄存器尋址 MOV R1,R2 0xAA 成都信息工程學院 3+1創(chuàng)新實驗班 2021/6/14 立即尋址指令中的操作碼字段后面的地址碼部分即是操作數(shù)本身 , 也就是說 , 數(shù)據(jù)就包含在指令當中 , 取出指令也就取出了可以立即使用的操作數(shù) (這樣的數(shù)稱為立即數(shù) )。R0減 1, 結(jié)果放入 R0, 。將立即數(shù) 0xFF000 。當?shù)?2個操作數(shù)是寄存器移位方式時 , 第 2個寄存器操作數(shù)在與第 1個操作數(shù)結(jié)合之前 , 選擇進行移位操作 。R2的值左移 3位 , 結(jié)果 。R2的值左移 R3位 , 。 寄存器間接尋址指令舉例如下: LDR R1,[R2] 。保存在 R1中 SWP R1,R1,[R2] 。儲單元的內(nèi)容交換 0x55 R0 R2 0x40000000 0xAA 0x40000000 ? 尋址方式分類 —— 寄存器間接尋址 LDR R0,[R2] 0xAA 成都信息工程學院 3+1創(chuàng)新實驗班 2021/6/14 基址尋址就是將基址寄存器的內(nèi)容與指令中給出的偏移量 ( 4K) 相加 /減 , 形成操作數(shù)的有效地址 。 寄存器間接尋址是偏移量為 0的基址加偏移尋址 。讀取 R3+0x0C地址上的存 。先 R0=R04, 然后把 R0的 。R0=[R1], R1= R1+ 4 。ARM這種自動索引機制不消耗額外的時間 LDR R0, [R1,R2] 。多寄存器尋址指令舉例如下: LDMIA R1!,{R2R7,R12} 。R2~ R R12中 (R1自動加 4) STMIA R0!,{R2R7,R12} 。 指向的存儲單元中 (R0自動加 4) 0x40000000 R1 R2 0x?? 0x01 0x40000000 0x?? R3 R4 0x?? R6 0x?? 0x02 0x03 0x04 0x40000004 0x40000008 0x4000000C 存儲器 ? 尋址方式分類 —— 多寄存器尋址 LDR R1!,{R2R4,R6} 0102030410成都信息工程學院 3+1創(chuàng)新實驗班 2021/6/14 堆棧是一個按特定順序進行存取的存儲區(qū) , 操作順序為 “ 后進先出 ” 。存儲器堆??煞譃閮煞N: ?向上生長:向高地址方向生長 , 稱為遞增堆棧 ?向下生長:向低地址方向生長 , 稱為遞減堆棧 ? 尋址方式分類 —— 堆棧尋址 成都信息工程學院 3+1創(chuàng)新實驗班 2021/6/14 棧底 棧頂 棧區(qū) SP? 堆棧存儲區(qū) 棧頂 棧底 棧區(qū) ?SP 向下增長 向上增長 0x12345678 0x12345678 堆棧壓棧 堆棧壓棧 低地址 高地址 成都信息工程學院 3+1創(chuàng)新實驗班 2021/6/14 棧頂 SP? 棧頂 SP? 棧底 空堆棧 棧底 滿堆棧 堆棧指針指向最后壓入的堆棧的有效數(shù)據(jù)項 ,稱為 滿堆棧 ;堆棧指針指向下一個待壓入數(shù)據(jù)的空位置 , 稱為 空堆棧 。 指令如 LDMFA、 STMFA等; ?空遞增 :堆棧向上增長 , 堆棧指針指向堆棧上的第一個空位置 。 指令如 LDMFD、 STMFD等; ?空遞減 :堆棧向下增長 , 堆棧指針向堆棧下的第一個空位置 。 成都信息工程學院 3+1創(chuàng)新實驗班 2021/6/14 相對尋址是基址尋址的一種變通 。 相對尋址指令舉例如下: BL SUBR1 。條件跳轉(zhuǎn)到 LOOP標號處 ... LOOP MOV R6,1 ... SUBR1 ... ? 尋址方式分類 —— 相對尋址 成都信息工程學院 3+1創(chuàng)新實驗班 2021/6/14 ARM匯編語言程序結(jié)構(gòu) 。功能:實現(xiàn)兩個寄存器相加 。聲明代碼段 Example1 ENTRY 。聲明 32位 ARM指令 START MOV R0,0 。調(diào)用子程序 ADD_SUB B LOOP 。R0 = R0 + R1 MOV PC,LR 。文件結(jié)束 使用“;”進行注釋 標號頂格寫 實際代碼段 聲明文件結(jié)束 成都信息工程學院 3+1創(chuàng)新實驗班 2021/6/14 。功能:實現(xiàn)兩個寄存器相加 。聲明代碼段 Example1 ENTRY 。聲明 32位 ARM指令 START MOV R0,0 。調(diào)用子程序 ADD_SUB B LOOP 。R0 = R0 + R1 MOV PC,LR 。文件結(jié)束 成都信息工程學院 3+1創(chuàng)新實驗班 2021/6/14 ARM是三地址指令格式 , 指令的基本格式 如下: opcode {cond} {S} Rd ,Rn{,operand2} 其中 號內(nèi)的項是必須的 , {}號內(nèi)的項是可選的 。 所有的 ARM指令都可以條件執(zhí)行 , 而 Thumb指令只有 B( 跳轉(zhuǎn) ) 指令具有條件執(zhí)行 功能 。 成都信息工程學院 3+1創(chuàng)新實驗班 2021/6/14 操作碼 條件助記符 對應(yīng)英文 標志 含義 0000 EQ Equal Z=1 相等 0001 NE Not Equal Z=0 不相等 0010 CS/HS C Set Bit/ Higher Similar C=1 無符號數(shù)大于或等于 0011 CC/LO C Clear Bit/Lower C=0 無符號數(shù)小于 0100 MI Minus N=1 負數(shù) 0101 PL Plus N=0 正數(shù)或零 0110 VS V Set Bit V=1 溢出 0111 VC V Clear Bit V=0 沒有溢出 指令條件碼表 N Z C V — — I M0 M1 M2 M3 M4 T F — . . . 31 30 29 28 27 26 8 7 6 5 4 3 2 1 0 條件代碼標志 Negative Zero Carry oVerflow CPSR 成都信息工程學院 3+1創(chuàng)新實驗班 2021/6/14 操作碼 條件助記符 對應(yīng)英文 標志 含義 1000 HI Higher C=1,Z=0 無符號數(shù)大于 1001 LS Lower or Similar C=0,Z=1 無符號數(shù)小于或等于 1010 GE Great or Equal N=V 有符號數(shù)大于或等于 1011 LT Litter N!=V 有符號數(shù)小于 1100 GT Great Z=0,N=V 有符號數(shù)大于 1101 LE Litter or Equal Z=1,N!=V 有符
點擊復制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1