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

正文內(nèi)容

arm處理器編程模型與指令系統(tǒng)(文件)

2025-03-21 13:04 上一頁面

下一頁面
 

【正文】 體含義 復位 ( RESET) 當處理器的復位電平有效時,產(chǎn)生復位異常,程序跳轉(zhuǎn)到復位異常處理程序處執(zhí)行??墒褂迷摦惓C制實現(xiàn)系統(tǒng)功能調(diào)用。系統(tǒng)的外設可通過該異常請求中斷服務。因此, ARM提供了 2種返回處理機制 ?第一種機制:返回地址保存在 R14 ; ?第二種機制:異常處理程序把返回地址拷貝到堆棧(在這種情況下, SPSR也和 PC一樣必須保存),可使用一條多寄存器傳送指令來恢復用戶寄存器,并實現(xiàn)返回: ARM的異常 各類異常的具體描述 未定義指令異常( Undefined Instruction ) 軟件中斷異常( Software Interrupt ) 中止異常( Abort ) 快速中斷請求異常( Fast Interrupt Request,F(xiàn)IQ ) 外部中斷請求異常( Interrupt Request,IRQ ) ARM的異常 異常的進入 /退出 異常類型 返回指令 以前的狀態(tài) 注意 ARM R14_x Thumb R14_x BL MOV PC, R14 PC+ 4 PC+ 2 1 UDEF MOVS PC, R14_und PC+ 4 PC+ 2 1 SWI MOVS PC, R14_svc PC+ 4 PC+ 2 1 PABT SUBS PC, R14_abt, 4 PC+ 4 PC+ 4 1 DABT SUBS PC, R14_abt, 8 PC+ 8 PC+ 8 3 FIQ SUBS PC, R14_fiq, 4 PC+ 4 PC+ 4 2 IRQ SUBS PC, R14_irq, 4 PC+ 4 PC+ 4 2 RESET NA - - 4 ARM的異常 異常優(yōu)先級( Exception Priorities) 優(yōu)先級 異 常 1(最高) 復位 2 數(shù)據(jù)中止 3 FIQ 4 IRQ 5 預取指令中止 6(最低) 未定義指令、 SWI 主要內(nèi)容 ? ARM微處理器的工作狀態(tài) ? ARM微處理器的運行模式 ? ARM體系結(jié)構(gòu)的存儲器格式 ? 寄存器組織 ? ARM的異常 ? ARM微處理器的指令系統(tǒng)基礎 ? ARM指令的尋址方式 ? ARM指令集 ? Thumb指令及應用 ARM微處理器的指令系統(tǒng)基礎 指令長度及數(shù)據(jù)類 ?ARM微處理器的指令長度可以是 32位(在 ARM狀態(tài)下) , 也可以為 16位(在Thumb狀態(tài)下) 。 例如以下指令: ADD R0, R0, 1 ; R0←R0 + 1 ADD R0, R0, 0x3f ; R0←R0 + 0x3f ARM指令的尋址方式 寄存器尋址 ?寄存器尋址 就是利用寄存器中的數(shù)值作為操作數(shù),指令中地址碼給出的是寄存器編號。 例如以下指令: LDMIA R0, {R1, R2, R3, R4} ; R1←[R0] ; R2←[R0 + 4] ; R3←[R0 + 8] ; R4←[R0 + 12] 多寄存器 Load和 Store指令的堆棧和塊拷貝對照 遞 增 遞 減 滿 空 滿 空 增值 先增 STMIB STMFA LDMIB LDMED 后增 STMIA STMEA LDMIA LDMFD 減值 先減 LDMDB LDMEA STMDB STMFD 后減 LDMDA LDMFA STMDA STMED ARM指令的尋址方式 堆棧尋址 ?堆棧是一種數(shù)據(jù)結(jié)構(gòu),按先進后出( First In Last Out, FILO)的方式工作,使用一個稱作堆棧指針( SP)的專用寄存器指示當前的操作位置,堆棧指針總是指向棧頂 。 ARM指令的尋址方式 相對尋址 以下程序段完成子程序的調(diào)用和返回,跳轉(zhuǎn)指令 BL采用了相對尋址方式: BL NEXT ;跳轉(zhuǎn)到子程序 NEXT處執(zhí)行 …… NEXT ;子程序入口地址 …… MOV PC, LR ;從子程序返回 主要內(nèi)容 ? ARM微處理器的工作狀態(tài) ? ARM微處理器的運行模式 ? ARM體系結(jié)構(gòu)的存儲器格式 ? 寄存器組織 ? ARM的異常 ? ARM微處理器的指令系統(tǒng)基礎 ? ARM指令的尋址方式 ? ARM指令集 ? Thumb指令及應用 ARM指令集 ? ARM指令集總體分為六大類: 數(shù)據(jù)處理指令; 程序狀態(tài)寄存器訪問指令; Load/Store指令; 跳轉(zhuǎn)指令(轉(zhuǎn)移指令); 異常中斷指令; 協(xié)處理器指令 。 ARM指令集 ? 數(shù)據(jù)處理指令包括: SUB:減法指令 SBC:帶借位減法指令 RSB:逆向減法指令 RSC:帶借位逆向減法指令 AND:邏輯與指令 ORR:邏輯或指令 EOR:邏輯異或指令 BIC:位清除指令 MOV:數(shù)據(jù)傳送指令 MVN:數(shù)據(jù)取反傳送指令 CMP:比較指令 CMN:反值比較指令 TST:位測試指令 TEQ:相等測試指令 ADD:加法指令 ADC:帶進位加法指令 ARM指令集 乘法指令與乘加指令 ?ARM微處理器支持的乘法指令與乘加指令共有 6條,可分為 運算結(jié)果為 32位 和 運算結(jié)果為 64位 兩類,與前面的數(shù)據(jù)處理指令不同, 指令中的所有操作數(shù)、目的寄存器必須為通用寄存器 ,不能對操作數(shù)使用立即數(shù)或被移位的寄存器,同時,目的寄存器和操作數(shù) 1必須是不同的寄存器 。 ARM指令集 ? 常用的 Load/Store指令如下: LDR :字數(shù)據(jù)加載指令; LDRB:字節(jié)數(shù)據(jù)加載指令; LDRH:半字數(shù)據(jù)加載指令; STR:字數(shù)據(jù)存儲指令; STRB:字節(jié)數(shù)據(jù)存儲指令; STRH:半字數(shù)據(jù)存儲指令 ARM指令集 批量數(shù)據(jù)加載 /存儲指令 ARM微處理器所支持批量數(shù)據(jù) Load/Store指令可以一次在一片連續(xù)的存儲器單元和多個寄存器之間傳送數(shù)據(jù),批量加載指令用于將一片連續(xù)的存儲器中的數(shù)據(jù)傳送到多個寄存器,批量數(shù)據(jù)存儲指令則完成相反的操作。 ARM指令集 數(shù)據(jù)交換指令 ARM微處理器所支持數(shù)據(jù)交換指令能在存儲器和寄存器之間交換數(shù)據(jù)。 ARM指令集 ? 協(xié)處理器指令用途: ARM的協(xié)處理器指令主要用于 ARM處理器初始化、 ARM協(xié)處理器的數(shù)據(jù)處理操作,以及在 ARM處理器的寄存器和協(xié)處理器的寄存器之間傳送數(shù)據(jù),和在 ARM協(xié)處理器的寄存器和存儲器之間傳送數(shù)據(jù)。 R 0P C ( R 1 5 )L R ( R 1 4 )S P ( R 1 3 )C P S RL o 寄 存 器R 1R 2R 3R 4R 5R 6R 7R 8R 9R 1 0R 1 1R 1 2H i 寄 存 器有 陰 影 的 寄 存 器訪 問 時 受 到 限 制Thumb編程模型 Thumb指令及應用 Thumb狀態(tài)切換 支持 Thumb指令的 ARM微處理器都可執(zhí)行標準的 32位 ARM指令集。 本章小結(jié) ? 從編程的角度看, ARM微處理器的工作狀態(tài)一般有兩種,并可在這兩種狀態(tài)之間切換。 ? ARM體系結(jié)構(gòu)可以用兩種方法存儲字數(shù)據(jù),稱之為大端格式( bigendian)和小端格式( littleendian)。 本章小結(jié) ? 在 ARM體系結(jié)構(gòu)中,異常中斷用來處理軟件中斷、未定義指令陷阱、系統(tǒng)復位和外部事件。與等價的 32位代碼相比較, Thumb指令集在保留 32代碼優(yōu)勢的同時,大大節(jié)省了系統(tǒng)的存儲空間 。 ? ARM微處理器的指令集可以分為跳轉(zhuǎn)指令、數(shù)據(jù)處理指令、程序狀態(tài)寄存器處理指令、Load/Store指令、協(xié)處理器指令和異常產(chǎn)生指令六大類。但是這些寄存器不能被同時訪問,具體哪些寄存器是可編程訪問的,取決微處理器的工作狀態(tài)及具體的處理器運行模式。 ? ARM微處理器支持 7種運行模式,分別為:用戶模式、快速中斷模式、外部中斷模式、管理模式、數(shù)據(jù)訪問終止模式、系統(tǒng)模式、未定義指令中止模式。 ?若 T置 1,則認為是 16位的 Thumb指令流; ?若 T置 0,則認為是 32位的 ARM指令流。與等價的 32位代碼比較, Thumb指令集在保留 32代碼優(yōu)勢的同時,大大節(jié)省了系統(tǒng)的存儲空間。 例如,數(shù)據(jù)處理指令的第二個操作數(shù)為寄存器時,就可以加入移位操作選項對它進行各種移位操。 ARM指令集 ? ARM指令集中的跳轉(zhuǎn)指令可以完成從當前指令向前或向后的 32MB的地址空間的跳轉(zhuǎn),包括以下 4條指令 : ?B:跳轉(zhuǎn)指令; ?BL:帶返回的跳轉(zhuǎn)指令; ?BLX:帶返回和狀態(tài)切換的跳轉(zhuǎn)指令 。 ARM指令集 程序狀態(tài)寄存器訪問指令 ARM微處理器支持程序狀態(tài)寄存器訪問指令,用于在程序狀態(tài)寄存器和通用寄存器之間傳送數(shù)據(jù)。 ?算術邏輯運算指令 完成常用的算術與邏輯的運算,該類指令不但將運算結(jié)果保存在目的寄存器中,同時更新 CPSR中的相應條件標志位。 ?空堆棧( Empty Stack) :堆棧指針指向下一個將要放入數(shù)據(jù)的空位置 。 例如以下指令: ADD R0, R1, [R2] ; R0←R1 + [R2] LDR R0, [R1] ; R0←[R1] STR R0, [R1] ; [R1]←R0 ARM指令的尋址方式 基址變址尋址 ?基址變址尋址就是將寄存器(該寄存器一般稱作基址寄存器)的內(nèi)容與指令中給出的地址偏移量相加,從而得到一個操作數(shù)的有效地址,用于訪問基址附近的存儲器單元。 ARM微處理器的指令系統(tǒng)基礎 ARM微處理器的指令的分類與格式 ?指令分類簡述 ? ARM微處理器指令集是加載 /存儲型的; ? ARM微處理器的指令集可以分為 跳轉(zhuǎn)指令 、 數(shù)據(jù)處理指令 、 程序狀態(tài)寄存器處理指令 、 Load/Store指令 、 協(xié)處理器指令和 異常產(chǎn)生 指令六大類; ARM微處理器的指令系統(tǒng)基礎 ARM微處理器的指令的分類與
點擊復制文檔內(nèi)容
語文相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1