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

正文內(nèi)容

arm體系結(jié)構(gòu)與指令集-資料下載頁

2025-03-09 12:38本頁面
  

【正文】 LDR{cond} Rd,addr_mode ( 2)指令舉例 1. LDR指令 STR指令用于將一個(gè) 32位的字?jǐn)?shù)據(jù)寫入到指令中指定的內(nèi)存單元。 ( 1)指令的語法格式 STR{cond} Rd,addr_mode ( 2)指令舉例 2. STR指令 LDRB指令根據(jù) addr_mode所確定的地址模式將一個(gè) 8位字節(jié)讀取到指令中的目標(biāo)寄存器 Rd。 指令的語法格式: LDR{cond}B Rd,addr_mode 3. LDRB指令 STRB指令從寄存器中取出指定的 8位字節(jié)放入寄存器的低 8位,并將寄存器的高位補(bǔ) 0。 指令的語法格式: STR{cond}B Rd,addr_mode 4. STRB指令 LDRH指令用于從內(nèi)存中將一個(gè) 16位的半字讀取到目標(biāo)寄存器。 如果指令的內(nèi)存地址不是半字節(jié)對(duì)齊的,指令的執(zhí)行結(jié)果不可預(yù)知。 指令的語法格式: LDR{cond}H Rd,addr_mode 5. LDRH指令 STRH指令從寄存器中取出指定的 16位半字放入寄存器的低 16位,并將寄存器的高位補(bǔ)0。 指令的語法格式: STR{cond}H Rd,addr_mode 6. STRH指令 多寄存器的 Load/Store內(nèi)存訪問指令 表 215 多寄存器的 Load/Store內(nèi)存訪問指令 指 令 作 用 操 作 LDM 裝載多個(gè)寄存器 {Rd}*N←mem32[start address+4*N] STM 保存多個(gè)寄存器 {Rd}*N→mem32[start address+4*N] LDM指令將數(shù)據(jù)從連續(xù)的內(nèi)存單元中讀取到指令中指定的寄存器列表中的各寄存器中。 當(dāng) PC包含在 LDM指令的寄存器列表中時(shí),指令從內(nèi)存中讀取的字?jǐn)?shù)據(jù)將被作為目標(biāo)地址值,指令執(zhí)行后程序?qū)哪繕?biāo)地址處開始執(zhí)行,從而實(shí)現(xiàn)了指令的跳轉(zhuǎn)。 指令的語法格式: LDM{cond}addressing_mode Rn{!}, registers 1. LDM指令 LDM指令將數(shù)據(jù)從連續(xù)的內(nèi)存單元中讀取到指令中指定的寄存器列表中的各寄存器中。 指令的語法格式: LDM{cond}addressing_mode Rn, registers_without_pc?? STM指令將指令中寄存器列表中的各寄存器數(shù)值寫入到連續(xù)的內(nèi)存單元中。主要用于塊數(shù)據(jù)的寫入、數(shù)據(jù)棧操作及進(jìn)入子程序時(shí)保存相關(guān)寄存器的操作。 指令的語法格式: STM{cond}addressing_mode Rn{!}, registers 2. STM指令 STM指令將指令中寄存器列表中的各寄存器數(shù)值寫入到連續(xù)的內(nèi)存單元中。主要用于塊數(shù)據(jù)的寫入、數(shù)據(jù)棧操作及進(jìn)入子程序時(shí)保存相關(guān)寄存器等操作。 指令的語法格式: STM{cond}addressing_mode Rn, registers ? LDM/STM批量加載 /存儲(chǔ)指令可以實(shí)現(xiàn)在一組寄存器和一塊連續(xù)的內(nèi)存單元之間傳輸數(shù)據(jù)。LDM為加載多個(gè)寄存器, STM為存儲(chǔ)多個(gè)寄存器。允許一條指令傳送 16個(gè)寄存器的任何子集或所有寄存器。指令格式如下: LDM{cond}模式 Rn{!},regist{?} STM{cond}模式 Rn{!},regist{?} 數(shù)據(jù)傳送指令應(yīng)用 表 216 多寄存器的 Load/Store內(nèi)存訪問指令映射 向 上 生 長 向 下 生 長 滿 空 滿 空 增加 之前 STMIB LDMIB STMFA LDMED 之后 STMIA LDMIA STMEA LDMFD 增加 之前 LDMDB STMDB LDMEA STMFD 之后 LDMDA STMDA LDMFA STMED 交換指令是 Load/Store指令的一種特例,它把一個(gè)寄存器單元的內(nèi)容與寄存器內(nèi)容交換。交換指令是一個(gè)原子操作( Atomic Operation),也就是說,在連續(xù)的總線操作中讀 /寫一個(gè)存儲(chǔ)單元,在操作期間阻止其他任何指令對(duì)該存儲(chǔ)單元的讀 /寫。 交換指令如表 217所示。 單數(shù)據(jù)交換指令 表 217 交換指令 SWP 指 令 作 用 操 作 SWP 字交換 tmp=men32[Rn] mem32[Rn]=Rm Rd=tmp SWPB 字節(jié)交換 tmp=men8[Rn] mem8[Rn]=Rm Rd=tmp SWP指令用于將內(nèi)存中的一個(gè)字單元和一個(gè)指定寄存器的值相交換。 指令的語法格式: SWP{cond} Rd,Rm,[Rn] 1. SWP字交換指令 SWPB指令用于將內(nèi)存中的一個(gè)字節(jié)單元和一個(gè)指定寄存器的低 8位值相交換, 指令的語法格式: SWP{cond}B Rd,Rm,[Rn] 2. SWPB字節(jié)交換指令 SWP指令用于將一個(gè)內(nèi)存單元(該單元地址放在寄存器 Rn中)的內(nèi)容讀取到一個(gè)寄存器Rd中,同時(shí)將另一個(gè)寄存器 Rm的內(nèi)容寫到該內(nèi)存單元中,使用 SWP可實(shí)現(xiàn)信號(hào)量操作。 指令的語法格式: SWP{cond}B Rd,Rm,[Rn] 3.交換指令 SWP應(yīng)用 跳轉(zhuǎn)( B)和跳轉(zhuǎn)連接( BL)指令是改變指令執(zhí)行順序的標(biāo)準(zhǔn)方式。 跳轉(zhuǎn)指令 表 218 ARMv5架構(gòu)跳轉(zhuǎn)指令 助記符 說 明 操 作 B 跳轉(zhuǎn)指令 pc←label BL 帶返回的連接跳轉(zhuǎn) pc←label(lr←BL 后面的第一條指令 ) BX 跳轉(zhuǎn)并切換狀態(tài) pc←Rm0xfffffffe, T←Rm1 BLX 帶返回的跳轉(zhuǎn)并切換狀態(tài) pc←lable, T←1 pc←Rm0xfffffffe, T←Rm1 lr←BL 后面的第一條指令 ( 1)指令的語法格式 B{L}{cond} target_address ( 2)程序舉例 1.跳轉(zhuǎn)指令 B及帶連接的跳轉(zhuǎn)指令 BL 帶狀態(tài)切換的跳轉(zhuǎn)指令( BX)使程序跳轉(zhuǎn)到指令中指定的參數(shù) Rm指定的地址執(zhí)行程序,Rm的第 0位復(fù)制到 CPSR中 T位, bit[31∶1] 移入 PC。若 Rm的 bit[0]為 1,則跳轉(zhuǎn)時(shí)自動(dòng)將CPSR中的標(biāo)志位 T置位,即把目標(biāo)地址的代碼解釋為 Thumb代碼;若 Rm的位 bit[0]為 0,則跳轉(zhuǎn)時(shí)自動(dòng)將 CPSR中的標(biāo)志位 T復(fù)位,即把目標(biāo)地址代碼解釋為 ARM代碼。 2. BX帶狀態(tài)切換的跳轉(zhuǎn)指令 BX ( 1)指令的語法格式 BX{cond} Rm ( 2)指令舉例 帶連接和狀態(tài)切換的跳轉(zhuǎn)指令( Branch with Link Exchange, BLX)使用標(biāo)號(hào),用于使程序跳轉(zhuǎn)到 Thumb狀態(tài)或從 Thumb狀態(tài)返回。 ( 1)語法格式 BLX target_add ( 2)指令的使用 3. BLX帶狀態(tài)切換的連接跳轉(zhuǎn)指令 BLX ARM指令集提供了兩條指令,可直接控制程序狀態(tài)寄存器( Program State Register,PSR)。 狀態(tài)操作指令 表 219 程序狀態(tài)寄存器指令 指令 作 用 操 作 MRS 把程序狀態(tài)寄存器的值送到一個(gè)通用寄存器 Rd=SPR MSR 把通用寄存器的值送到程序狀態(tài)寄存器或把一個(gè)立即數(shù)送到程序狀態(tài)字 PSR[field]=Rm或PSR[field]=immediate MRS指令用于將程序狀態(tài)寄存器的內(nèi)容傳送到通用寄存器中。 在 ARM處理器中,只有 MRS指令可以將狀態(tài)寄存器 CPSR或 SPSR讀出到通用寄存器中。 ( 1)指令的語法格式 MRS{cond} Rd, PSR ( 2)指令舉例 1. MRS 在 ARM處理器中,只有 MSR指令可以直接設(shè)置狀態(tài)寄存器 CPSR或 SPSR。 ( 1)指令的語法格式 MSR{cond} PSR_field,immed_8r MSR{cond} PSR_field,Rm ( 2)指令舉例 2. MSR 【 例 25】 使能 IRQ中斷。 【例 26】 禁止 IRQ中斷。 【例 27】 堆棧指令初始化。 3.程序狀態(tài)寄存器指令的應(yīng)用 ARM體系結(jié)構(gòu)允許通過增加協(xié)處理器來擴(kuò)展指令集。 ARM協(xié)處理器指令可分為以下 3類。 ( 1)協(xié)處理器數(shù)據(jù)操作。 ( 2)協(xié)處理器數(shù)據(jù)傳送指令。 ( 3)協(xié)處理器寄存器傳送指令。 協(xié)處理器指令 表 220 協(xié)處理器指令 助 記 符 操 作 CDP 協(xié)處理器數(shù)據(jù)操作 LDC 裝載協(xié)處理器寄存器 MCR 從 ARM寄存器傳數(shù)據(jù)到協(xié)處理器寄存器 MRC 從協(xié)處理器寄存器傳送數(shù)據(jù)到 ARM寄存器 STC 存儲(chǔ)協(xié)處理器寄存器 ARM指令集中提供了兩條產(chǎn)生異常的指令,通過這兩條指令可以用軟件的方法實(shí)現(xiàn)異常。 異常產(chǎn)生指令 表 221 ARM異常產(chǎn)生指令 助 記 符 含 義 操 作 SWI 軟中斷指令 產(chǎn)生軟中斷,處理器進(jìn)入管理模式 BKPT 斷點(diǎn)中斷指令 處理器產(chǎn)生軟件斷點(diǎn) 軟件中斷指令( Software Interrupt,SWI)用于產(chǎn)生軟中斷,從而實(shí)現(xiàn)從用戶模式變換到管理模式, CPSR保存到管理模式的 SPSR中,執(zhí)行轉(zhuǎn)移到 SWI向量,在其他模式下也可以使用 SWI指令,處理器同樣切換到管理模式。 1.軟件中斷指令 ( 1)指令的語法格式 SWI{cond} immed_24 ( 2)指令舉例 斷點(diǎn)中斷指令 ( BreakPoint, BKPT)產(chǎn)生一個(gè)預(yù)取異常( Prefetch Abort),它常被用來設(shè)置軟件斷點(diǎn),在調(diào)試程序時(shí)十分有用。當(dāng)系統(tǒng)中存在調(diào)試硬件時(shí),該指令被忽略。 指令格式如下: BKPT immediate 2.?dāng)帱c(diǎn)中斷指令 本 章 小 結(jié) 本章對(duì) ARM處理器的體系結(jié)構(gòu)、寄存器組織、流水線、 ARM存儲(chǔ)、異常、 ARM處理器的尋址方式、 ARM處理器的指令集等內(nèi)容進(jìn)行了介紹,這些內(nèi)容是 ARM處理器理論的基本內(nèi)容,是系統(tǒng)軟硬件設(shè)計(jì)的基礎(chǔ)。 演講完畢,謝謝觀看!
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1