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

正文內(nèi)容

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

 

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