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

正文內(nèi)容

arm培訓(xùn)講義提綱-全文預(yù)覽

2025-06-01 22:20 上一頁面

下一頁面
  

【正文】 不存在于指令列表中,同時S=1(用戶頁傳輸)對于LDM 和STM指令,用戶頁中的寄存器被用于傳輸而不是當前相應(yīng)模式下的寄存器。R15存在于指令列表中,同時S=1(模式改變),LDM指令如果指令為LDM,那么在R15被裝入的同時SPSR_mode被轉(zhuǎn)移到CPSR。 如果在W=0的情況下,基址寄存器Rn將保持其初始值0x1000,除非它也存在于寄存器列表中。寄存器列表的傳輸是根據(jù)從低到高的順序來進行的,所以R15(如果在寄存器列表中)總是在最后進行傳輸。依此類推。塊傳輸指令用于裝載(LDM)或存儲(STM) 當前的可以使用的存儲器。有條件,將R0存儲地址中的內(nèi)容半字裝入R11中,并作符號擴展HERE 。{!} 如果出現(xiàn)!寫回基本寄存器(見W位)例子LDRH R1,[R2,R3]! 。如果地址超出范圍,給出出錯信息?!镏噶钪芷谡5腖DR(H、SH、SB)指令占用1S+1N+1I周期,LDR(H、SH、SB) PC占用2S+2N+1I周期,這里,S、N和I分別定義為順序(S周期)、非順序(N周期)和內(nèi)部(I周期)?!飻?shù)據(jù)中止:對存儲器管理系統(tǒng)而言,對合法地址的轉(zhuǎn)移也可能出現(xiàn)問題。注意:地址應(yīng)該是半字對齊的,如果A[0]=1,那么將引起無法預(yù)測的行為。如果A[0]=1,那么ARM920T將導(dǎo)入一個無法預(yù)測的值。BigEndian配置如果提供的地址是以字為邊界,則LDRSB指令期望數(shù)據(jù)總線上裝入的數(shù)據(jù)是31~24這樣的一個字節(jié)數(shù)據(jù);如果一個字地址加1,則通過數(shù)據(jù)總線上裝入23~16,以此類推。這個被選半字被放入目標寄存器的低16位;對于其余的位,LDRSH作符號擴展;LDRH填充0。這個被選字節(jié)被放入目標寄存器的低8位,其余的位作符號擴展。LDRSH指令裝載所選的字節(jié)到目的寄存器中的15 ~ 0 位,同時在高16位進行符號擴展?!镉蟹栕止?jié)和半字裝載S 位控制符號擴展數(shù)據(jù)的裝載。當選擇后索引尋址時,回寫位不應(yīng)該被置為高(即W=1)。偏移量的修改可以在基址寄存器被用于傳輸?shù)刂分埃ㄇ八饕齈=1)或之后(后索引P=0)關(guān)于尋址方式是增加還是減少模式,指令的W位(即D21)給出了可選項。轉(zhuǎn)移的存儲器地址由一個基本寄存器加上或減去一個偏移量計算得到。產(chǎn)生PC相對偏移尋址PLACE.PLACE★★8半字和有符號數(shù)據(jù)轉(zhuǎn)移(LDRH/STRH/LDRSB/LDRSH)該指令僅當條件為真時執(zhí)行。在R2存儲R1,回寫地址R2+R4到R2LDR R1,[R2,16] 。這是一個相對的、預(yù)尋址地址PC。當指定或隱含前索引尋址模式時不允許使用TRd 表示有效寄存器號Rn and Rm 表示寄存器號。直到系統(tǒng)軟件解決這個問題,然后指令重新開始執(zhí)行原程序。例:LDR R0,[R1],R1所以不能使用后尋址的LDR或STR指令,這里Rm是與Rn一樣的寄存器。不能將R15用作寄存器偏置(Rm)。一個字存儲(STR)應(yīng)產(chǎn)生一個字排列地址。但一個字邊界0或2的地址偏置會引起數(shù)據(jù)被循環(huán)進入寄存器,所以偏置地址字節(jié)占用31~24位。參見圖21。一個字存儲(STR)應(yīng)產(chǎn)生一個字排列地址。一個字裝入(LDR)通常使用一個字排列地址。這個被選字節(jié)被放入目標寄存器的底部8個位,并以0填充寄存器的其余位。★字節(jié)和字:該指令級別可用于在ARM920T寄存器和存儲器之間轉(zhuǎn)移一個字節(jié)(B=1)或一個字(B=0)。因此前索引數(shù)據(jù)傳輸總是回寫到已經(jīng)修改的基址寄存器。當U=1時基址寄存器Rn加上偏移量,而U=0時基址寄存器Rn減去偏移量。單數(shù)據(jù)傳輸指令用于裝載或存儲單字節(jié)數(shù)據(jù)或字數(shù)據(jù)。匯編句法表4-7. 匯編程序句法描述這里:{cond} 雙字母條件助記符,見表4-4{S} 如果S出現(xiàn),置位條件碼RdLo, RdHi, Rm, Rs 除R15外的寄存器表達式例UMULL R1,R4,R2,R3 。 如果乘數(shù)操作數(shù)[31:8]位為全0或全1 如果乘數(shù)操作數(shù)[31:8]位為全0或全1N和Z標志根據(jù)結(jié)果來置位(N為結(jié)果的bit63,Z被置位當且僅當全部64位為0時)。 R15不能用作操作數(shù)或目標寄存器。64位結(jié)果的低32位寫入RdLo,結(jié)果的高32位寫入RdHi。指令編碼見下圖4-12。m 執(zhí)行乘法所需的8位乘數(shù)陣列周期數(shù),由Rs指定的乘數(shù)操作數(shù)控制?!顲PSR標志:可任意置位CPSR的標志位,它由指令中S位控制。2)如果操作數(shù)被當作無符號的操作數(shù)A為4294967286,操作數(shù)B為20,結(jié)果為85899345720,即0x13FFFFFF38,所以最低32位為0xFFFFFF38。兩種指令形式均以有符號(兩種獨立)或無符號整數(shù)作操作數(shù)工作。指令編碼見下圖4-11。 SPSR_mode[31:28] Rm[31:28]MSR SPSR_flg,0xC0000000 。 CPSR[31:28] Rm[31:28]MSR CPSR_flg,0x50000000 。 CPSR[31:28] 0xA (set N,C。 MSR – 只將立即數(shù)轉(zhuǎn)移到PSR標志位MSR{cond} psrf,expression應(yīng)當用符號表示分別寫入N、Z、C和V標志的最重要4位的32位數(shù)值。 MRS – 將PSR內(nèi)容轉(zhuǎn)移到寄存器MRS{cond} Rd,psr下列指令對N、Z、C和V標志置位:MSR CPSR_flg,0xF0000000 。復(fù)制CPSRBIC R0,R0,0x1F 。為確保ARM920T和將來處理器之間的最大兼容性,應(yīng)當遵守下列原則: 不能將R15指定為源或目的寄存器。在其它(特許)模式,整個CPSR均可改變。MSR指令允許將通用寄存器的內(nèi)容移入CPSR或SPSR_mode寄存器。從中斷返回,并從SPSR方式保存CPSR★★4PSR轉(zhuǎn)移(MRS、MSR):該指令僅當條件為真時執(zhí)行,參見表4-4。測試R4等于3(S是多余的,由匯編程序自動插入)SUB R4,R5,R7,LSR R2 。 MOV,MVN (單操作數(shù)指令).opcode{cond}{S} Rd,Op2不能使用TEQP指令,它是早期ARM處理器使用的TEQ指令:代替PSR轉(zhuǎn)移操作。如果指令中指定了移位量,PC為前8個字節(jié)。這允許自動存儲PC和CPSR的狀態(tài)改變。這可以產(chǎn)生許多常數(shù),例如2的冪。如果字節(jié)中的值大于等于32,結(jié)果為上面所述移位的邏輯擴展:1. LSL 32結(jié)果為零,進位輸出等于Rm的0位;2. LSL大于32結(jié)果為零,進位為零;3. LSR 32結(jié)果為零,進位輸出等于Rm的31位;4. LSR大于32結(jié)果為零,進位為零;5. ASR大于等于32結(jié)果和進位等于Rm的31位;6. ROR 32結(jié)果等于Rm,進位等于Rm的31位;7. ROR n結(jié)果和進位與ROR n32相同,這里n大于32;因此不斷從n中減去32,直到n值在1~31之間,見前面。 圖4-9: 帶擴展循環(huán)右移★指定偏移量寄存器只有Rs的最低端字節(jié)被用來確定偏移量。循環(huán)右移(ROR)操作是將邏輯右移操作中移出去的位再引入放置在結(jié)果的高端,在邏輯右移中常用零來填充高位。算術(shù)右移(ASR)與邏輯右移類似,不同的是高位被Rm的bit31填充而不是零。邏輯右移(LSR)指令類似,但是Rm的內(nèi)容被移到結(jié)果最不重要的位置。結(jié)果的最不重要位以零填充,Rm的最高位被丟棄,并不映射到結(jié)果中,除非當ALU運算處于邏輯狀態(tài)(見上面)時,丟棄的最不重要的位變?yōu)閟hifter的進位輸出,并可能鎖定CPSR的S位。寄存器要移動的值可包含在指令的立即域中,或者在另一個寄存器(除了R15)。ARM數(shù)據(jù)處理指令見下表4-5表4-5:數(shù)據(jù)處理指令算術(shù)運算(SUB、RSB、ADD、ADC、SBC、RSC、CMN)將每個操作數(shù)都看作是一個32位的整數(shù)(無符號或兩個獨立的符號,兩種情況時一樣的)。確定的運算(TST(OP1與OP2)、TEQ(OP1異或OP2)、CMP(OP1OP2)、CMN(OP1+OP2))不將結(jié)果寫入Rd。圖4-3:數(shù)據(jù)處理指令該指令通過對一或兩個操作數(shù)進行指定的算術(shù)或邏輯運算產(chǎn)生結(jié)果。 跳轉(zhuǎn),調(diào)用子程序ADDS R1,1 。等待,指令匯編成0xEAFFFFFE B there 。如果缺省,R14不受指令影響,即不將舊的PC值存入R14。注意CPSR不保留PC值,R14[1:0]總是清零。超過+/32M字節(jié)的分支必須使用偏置或事先裝入寄存器的絕對目標。圖4-2:B、BL指令格式分支指令包含有一個有符號的2態(tài)補充24位偏移(相當于25根地址線+符號位,即+/32M字節(jié))。分支并變回到ARM狀態(tài),R15(PC):=R0ALIGN 。產(chǎn)生分支目標地址,bit0置位,進入THUMB狀態(tài)BX R0 。當執(zhí)行該指令時,Rn[0]的值決定了是否按照ARM指令還是THUMB指令對指令流進行解碼。下表4-4給出了條件碼概況:表4-4:ARM指令中的條件碼. ARM指令集詳解★★1分支與交換(BX指令,Branch和Exchange指令):該指令僅僅在條件為真時被執(zhí)行,參見表4-4。例如,Branch(B為匯編語言)變?yōu)锽EQ表示“Branch if Equal”,意思是當Z標志被置位時執(zhí)行Branch指令。不應(yīng)使用這些指令,因為它們的作用也許會由未來的ARM執(zhí)行2. ARM指令集表:下面表4-表4-3列出了ARM指令集:表4-2:表4-2:ARM指令集表4-3:表4-3:ARM指令集3. 條件碼:在ARM狀態(tài)下,所有指令都會根據(jù)CPSR條件碼和指令條件域的狀態(tài)被有條件地執(zhí)行。內(nèi)核的結(jié)構(gòu)圖如下所示:下面我們將重點介紹ARM920T的協(xié)處理器CP15和內(nèi)存管理單元MMU. 協(xié)處理器CP15. 內(nèi)存管理單元MMU4. 軟件開發(fā)嵌入式系統(tǒng)的軟件開發(fā)包括:操作系統(tǒng)和應(yīng)用程序開發(fā)兩個方面。全世界各大廠商都采用ARM公司的IP來開發(fā)自己的ARM芯片,主要廠商有:三星、AD、TI、菲利普、Intel、CIRRUS LOGIC等。ARM公司不生產(chǎn)芯片,只是IP供應(yīng)商,只做設(shè)計。1) 處理器:速度、IO 設(shè)計指標、處理器的軟件支持、處理器調(diào)試方式、處理器提供商的信譽度;2) 硬件部件:硬件實現(xiàn)難度、開發(fā)周期、市場前景、供貨情況3) 操作系統(tǒng):產(chǎn)品的適合度、調(diào)試難度、代碼結(jié)構(gòu)、可開發(fā)潛力、移植可行性4) 編程語言:高級語言、低級語言5) 軟件開發(fā)工具:系統(tǒng)調(diào)試功能如何、支持的庫函數(shù)、開發(fā)商的軟件支持3. 嵌入式處理器在以上的講義中我們簡要提到了嵌入式開發(fā)的各方面的問題,接下來我們將從硬件開始講解。2. 嵌入式操作系統(tǒng)嵌入式操作系統(tǒng)作為一種新的系統(tǒng),我們應(yīng)該怎么把握呢?以下我們將簡要介紹一下嵌入式系統(tǒng)。ARM培訓(xùn)講義提綱單 位:西安電子科技大學(xué) 編 寫: 何方勇 編寫日期: 2005年7月1日 1. 緒言本次ARM培訓(xùn)主要使各位受訓(xùn)人員了解嵌入式操作系統(tǒng)的基本概念、軟硬件構(gòu)成框架、以及掌握與嵌入式操作系統(tǒng)相關(guān)的知識。在這幾個熱點技術(shù)的最終實現(xiàn)將被納入系統(tǒng)的概念,其中嵌入式系統(tǒng)將在里面伴有重要的角色。. 怎樣進行嵌入式系統(tǒng)設(shè)計嵌入式系統(tǒng)開發(fā)是本次培訓(xùn)的主要內(nèi)容,那我們應(yīng)該從以下方面入手:處理器、硬件部件、操作系統(tǒng)、編程語言、軟件開發(fā)工具、硬件開發(fā)平臺、軟件組成。其產(chǎn)品廣泛應(yīng)用到移動通信、消費電子、以及嵌入式市場。ARM9系列是當今嵌入式系統(tǒng)應(yīng)用的主流芯片內(nèi)核技術(shù)。. ARM920T內(nèi)核詳解現(xiàn)在基于ARM920T內(nèi)核的芯片逐漸成為嵌入式系統(tǒng)芯片的主流,我們有必要詳解其結(jié)構(gòu);這是進一步學(xué)習(xí)軟件開發(fā)的基礎(chǔ)。. ARM指令格式1. 指令集格式:ARM指令集格式如下表4-1所示: 表4-1:ARM指令集格式注意:某些指令碼沒有定義,但并不導(dǎo)致未定義指令陷阱出現(xiàn),例如一個乘法指令的第6位變?yōu)?。存在著16個可能條件,每種由復(fù)加在指令記憶符后的一個雙字符后綴表示。這意味著不管CPSR的條件碼是什么,指令永遠被執(zhí)行。該指令也允許交換指令集。例:ADR R0, Into_THUMB + 1 。產(chǎn)生分支目標到字排列地址,bit0置低,變回到ARMBX R5 。該指令的編碼如下圖4-2所示。該指令偏置必須考慮預(yù)取操作,它會引起程序計數(shù)器PC超前當前指令2個字(8個字節(jié))。寫入R14的值被調(diào)整到允許預(yù)取,并包含緊跟著“分支與鏈接指令”的指令地址?!飬R編程序語法:{}中的內(nèi)容任意,中的內(nèi)容必須出現(xiàn)B{L}{cond} expression{L} 常用請求帶鏈接分支的指令形式。例here BAL here 。 為零,則跳轉(zhuǎn);反之,繼續(xù)下一個指令BL sub+ROM 。該指令編碼如下圖4-3所示。根據(jù)指令中S位的值,確定該指令的結(jié)果是否可以保護或更新CPSR中的條件碼。如果S位被置位(并且Rd不是R15,見下表),則CPSR中的V標志不受影響,C標志將被置位來執(zhí)行barrel shi
點擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1