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

正文內(nèi)容

[高等教育]第二講arm指令集(已修改)

2025-02-02 21:12 本頁面
 

【正文】 第 3章 ARM指令集尋址方式 ARM指令尋址方式可分為四大類: 數(shù)據(jù)處理指令尋址 Load/Store指令的尋址 批量 Load/Store指令的尋址 協(xié)處理指令尋址。 內(nèi)容提要 3. 1 ARM指令的編碼格式 3. 2 數(shù)據(jù)處理指令尋址方式 3. 3 Load/Store指令尋址 3. 4 批量 Load/Store指令尋址方式 3. 1 ARM指令的編碼格式 ? 一般編碼格式 ? 指令條件碼 一般編碼格式 ?每條 ARM指令占有 4個字節(jié),其指令長度為 32位 cond( bit[31:28]) 指令執(zhí)行的條件碼; type( bit[27:26]) 指令類型碼 ( ) 指令執(zhí)行的條件碼;( ) 指令類型碼( ) 指令執(zhí)行的條件碼;( ) 指令類型碼( ) 指令執(zhí)行的條件碼;( ) 指令類型碼( ) 指令執(zhí)行的條件碼;( ) 指令類型碼( ) 指令執(zhí)行的條件碼;( ) 指令類型碼cond( bit[31:28]) 指令執(zhí)行的條件碼 type( bit[27:26]) 指令類型碼 I 第二操作數(shù)是立即數(shù)還是移位寄存器 opcode( bit[24:21]) 指令操作碼; S ( bit[20]) 決定指令的操作結(jié)果是否影響 CPSR ; Rn ( bit[19:16]) 包含第一個操作數(shù)的寄存器編碼; Rd ( bit[15:12]) 目標(biāo)寄存器編碼; Operand2( bit[11:0) 指令第二個操作數(shù)。 ARM匯編指令語法格式: opcode{cond}{S}Rd,Rn,operand2 指令條件碼 ? 0000 EQ 相等 Z=1 ? 0001 NE 不相等 Z=0 ? 0010 CS/HS 無符號大于等于 C=1 ? 0011 CC/LO 無等號小于 C=0 ? 0100 MI 負(fù)數(shù) N=1 ? 0101 PL 非負(fù)數(shù) N=0 ? 0110 VS 上溢出 V=1 ? 0111 VC 沒有上溢出 V=0 ? 1000 HI 無符號數(shù)大于 C=1且 Z=0 ? 1001 LS 無符號小于等于 C=0或 Z=1 ? 1010 GE 有符號數(shù)大于等于 N=1且 V=1 或 N=0且 V=0 ? 1011 LT 有符號數(shù)小于 N=1且 V=0 或 N=0且 V=1 ? 1100 GT 有符號數(shù)大于 Z=0且 N=V ? 1101 LE 有符號數(shù)小于 /等于 Z=1或 N!=V ? 1110 AL 無條件執(zhí)行 數(shù)據(jù)處理指令尋址方式 ?數(shù)據(jù)處理指令第 2操作數(shù)的構(gòu)成方式 ?具體尋址類型 =00 數(shù)據(jù)處理指令第 2操作數(shù)的構(gòu)成方式 1. 立即數(shù)方式 ? 每個立即數(shù)由一個 8位的常數(shù)進行 32位循環(huán)右移偶數(shù)位得到,其中循環(huán)右移的位數(shù)由一個 4位二進制的兩倍表示。即: ? immediate=immed_8進行 32位循環(huán)右移( 2*rotate_4)位 數(shù)據(jù)處理指令第 2操作數(shù)的構(gòu)成方式 2. 寄存器方式 ? 操作數(shù)即為寄存器的數(shù)值 如 : MOV R3,R2 ADD R0,R1,R2 數(shù)據(jù)處理指令第 2操作數(shù)的構(gòu)成方式 ? 操作數(shù)為寄存器的數(shù)值做相應(yīng)的移位而得到。在 ARM指令中移位操作包括邏輯左移、邏輯右移、算術(shù)左移、算術(shù)右移、循環(huán)右移和帶擴展的循環(huán)右移 移位類型 算術(shù)右移 填充符號位 具體尋址類型 1.第二操作數(shù)為立即數(shù) ?匯編語法格式: immediate ?立即數(shù)由 8bit的常數(shù)( immed_8)循環(huán)右移4bit數(shù)兩倍位得到: 立即數(shù) =immed_8循環(huán)右移( 2*rotate_4) 具體尋址類型 2.第二操作數(shù)為寄存器 ?匯編語法格式: Rm 具體尋址類型 3.第二操作數(shù)為寄存器移位方式,且移位的位數(shù)為一個 5位的立即數(shù) ?匯編語法格式: Rm,shift shift_amount 移位類型 具體尋址類型 4.第二操作數(shù)為寄存器移位方式,且移位數(shù)值放在寄存器中 ?匯編語法格式: Rm, shift Rs 具體尋址類型 5.第二操作數(shù)為寄存器進行 RRX移位(帶擴展循環(huán)右移)得到 ?匯編語法格式: Rm, RRX Load/Store指令尋址 ?Load/Store指令是對內(nèi)存進行存儲 /加載數(shù)據(jù)操作的指令,根據(jù)訪問的數(shù)據(jù)格式的不同,將這類指令的尋址分為 字、無符號字節(jié)的 Load/Store指令尋址 和 半字、有符號字節(jié) Load/Store指令尋址 兩大類。 地址計算方法 1.寄存器間接尋址 寄存器間接尋址就是以寄存器中的值作為操作數(shù)的地址,而操作數(shù)本身存放在存儲器中。例如以下指令: ? LDR R0, [R1] ; R0 ←[R1] ? STR R0, [R1] ; [R1]← R0 ? 前變址法 :基地址寄存器中的值和地址偏移量先作加減運算,生成的操作數(shù)作為內(nèi)存訪問的地址。 ? 后變址法 :將基地址寄存器中的值直接作為內(nèi)存訪問的地址進行操作,內(nèi)存訪問完畢后基地址寄存器中的值和地址偏移量作加減運算,并更新基地址寄存器。 字、無符號字節(jié)尋址 匯編指令語法格式為: ? LDR {cond}{B}{T}Rd,addressing_mode ? STR {cond}{B}{T}Rd,addressing_mode 1. Addressing_mode中的偏移量為立即數(shù) ?前變址不回寫形式: [Rn, +/immed_offset] ?前變址回寫形式(生成地址寫入基地址) : [Rn, +/immed_offset]! ?后變址回寫形式: [Rn], +/immed_offset 偏移量類型 ?偏移量為立即數(shù)的指令編碼類型 ? W P 匯編語法格式 ? 0 1 [Rn, +/immed_offset] ? 1 0 [Rn], +/immed_offset ? 1 1 [Rn, +/immed_offset]! 2. Addressing_mode中的偏移量為寄存器的值 ?前變址不回寫形式 : [Rn, +/Rm] ?前變址回寫形式: [Rn, +/Rm]! ?后變址回寫形式: [Rn], +/Rm 偏移量類型 ?偏移
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1