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

正文內(nèi)容

arm培訓(xùn)講義提綱-免費(fèi)閱讀

  

【正文】 restoring processor mode and flags.COPROCESSOR DATA OPERATIONS (CDP)協(xié)處理器數(shù)據(jù)操作The instruction is only executed if the condition is true. The various conditions are defined in Table 32. The instruction encoding is shown in Figure 325.This class of instruction is used to tell a coprocessor to perform some internal operation. No result is municated back to ARM920T, and it will not wait for the operation to plete. The coprocessor could contain a queue of such instructions awaiting execution, and their execution can overlap other activity, allowing the coprocessor and ARM920T to perform independent tasks in parallel.該指令僅當(dāng)條件為真時(shí)執(zhí)行。 Get routine offset.ADR R2,EntryTable 。 Get next character from read stream.SWI WriteI+k” 。如果SWI向量地址從用戶修改方式得到保護(hù)(由外部存儲(chǔ)器管理硬件),就建立起完全受保護(hù)的操作系統(tǒng)。將以R2為地址的字裝入R0,并在R2儲(chǔ)存R1SWPB R2,R3,[R4] 。DATA ABORTS數(shù)據(jù)中止If the address used for the swap is unacceptable to a memory management system, the memory manager can flag the problem by driving ABORT HIGH. This can happen on either the read or the write cycle (or both), and in either case, the Data Abort trap will be taken. It is up to the system software to resolve the cause of the problem, then the instruction can be restarted and the original program continued.INSTRUCTION CYCLE TIMES指令周期Swap instructions take 1S + 2N +1I incremental cycles to execute, where S,N and I are defined as sequential (Scycle), nonsequential, and internal (Icycle), respectively.SWAP指令占用1S+2N+1I周期,這里,S、N和I分別定義為順序(S周期)、非順序(N周期)和內(nèi)部(I周期)。STMED SP!,{R0R3,R14} 。IA, IB, DA, DB 用于堆棧以外的其他LDM/STM操作例:LDMFD SP!,{R0,R1,R2} 。PC總是被寫入的最后一個(gè)寄存器,所以總是被保護(hù)。這種情況出現(xiàn)在多寄存器裝載或存儲(chǔ)中;如果ARM920T被使用在虛擬存儲(chǔ)系統(tǒng)中,則尋址可以重新獲得。在這種機(jī)制下,基址回寫不能使用。圖4-22給出了傳輸?shù)慕Y(jié)果。如bit 0=1,表示對(duì)R0進(jìn)行操作;反之,不對(duì)其進(jìn)行操作。 將R2地址中的有符號(hào)數(shù)據(jù)字節(jié)存入R8中,并回寫R2223 到R2中LDRNESH R11,[R0] 。這是一個(gè)相對(duì)的、預(yù)尋址地址PC。R15 不能被用作移位寄存器 (Rm).當(dāng)R15 被用作一個(gè)半字存儲(chǔ)指令(STRH)的源寄存器 (Rd) 時(shí),存儲(chǔ)地址必須是指令地址加上12。提供地址總是基于半字的邊界。如果A[0]=1,那么ARM920T將導(dǎo)入一個(gè)無(wú)法預(yù)測(cè)的值。LDRSB指令裝載所選的字節(jié)到目的寄存器中的7 ~ 0 位,同時(shí)在高24位進(jìn)行符號(hào)擴(kuò)展。因此,后索引數(shù)據(jù)傳輸總是回寫到已經(jīng)修改的基址寄存器。這些指令用來(lái)裝載或存儲(chǔ)半字?jǐn)?shù)據(jù)也裝載擴(kuò)展符號(hào)字節(jié)或半字?jǐn)?shù)據(jù)。在R2+R4(均為寄存器)存儲(chǔ)R1,回寫地址到R2STR R1,[R2],R4 ?!飬R編程序句法:LDR|STR {cond} {B}{T} Rd, Address這里:LDR 從存儲(chǔ)器調(diào)入寄存器STR 從寄存器存入存儲(chǔ)器{cond} 雙字母助記符,見表4-4{B} 如果出現(xiàn)B則字節(jié)轉(zhuǎn)移,其余字轉(zhuǎn)移{T} 如果出現(xiàn)T則置位后索引尋址指令中的W位,強(qiáng)制轉(zhuǎn)移周期非特許模式。2)中止后,下面的例子代碼很難作為基本寄存器Rn展開,并在中止處理程序開始之前得到更新,有時(shí)無(wú)法計(jì)算初始值。一個(gè)字邊界1或3的地址偏置會(huì)引起數(shù)據(jù)被循環(huán)進(jìn)入寄存器,所以地址字節(jié)占用15~8位。這個(gè)被選字節(jié)被放入目標(biāo)寄存器的底部8個(gè)位,并以0填充寄存器的其余位。外部存儲(chǔ)器系統(tǒng)應(yīng)當(dāng)激活適當(dāng)字節(jié)子系統(tǒng)來(lái)存儲(chǔ)數(shù)據(jù)。但移位量指定的寄存器在本指令級(jí)別中是無(wú)效的,見圖44。圖413: 單數(shù)據(jù)轉(zhuǎn)移指令★偏移量和自動(dòng)索引在指令中,基址寄存器的偏移量既可以是12 bit的無(wú)符號(hào)立即數(shù),也可以是一個(gè)第二寄存器(可能被移位)。 所有其它情況S和I分別代表連續(xù)(S周期)和內(nèi)部(I周期)。其可能值如下:對(duì)有符號(hào)指令SMULL、SMLAL★操作數(shù)限制ConditionallyR1:=R2*R3+R4, Setting condition codes.★★6長(zhǎng)乘和帶累加的長(zhǎng)乘(MULL、MLAL) 該指令僅當(dāng)條件為真時(shí)執(zhí)行,參見表4-4。所有其它寄存器的組合都會(huì)給出正確結(jié)果,當(dāng)需要時(shí)Rd、Rn和Rs可用作同一個(gè)寄存器。帶累加的乘法形式為Rd:=Rm*Rs+Rn,保存了在某些環(huán)境下的一個(gè)外在ADD指令。 SPSR_mode[31:0] Rm[31:0]MSR SPSR_flg,Rm 。 CPSR[31:28] Rm[31:28]MSR CPSR_flg,0xA0000000 。匯編語(yǔ)言句法:例:下列順序完成模式改變:MRS R0,CPSR ?!锊僮鲾?shù)限制: 在用戶模式,CPSR的控制位受保護(hù),所以只有CPSR的條件碼標(biāo)志可以改變。從子程序返回MOVS PC,R14 。匯編程序句法PC值就是指令地址、加上由于指令預(yù)取的8或12個(gè)字節(jié)。該值為擴(kuò)展到32位的零,然后通過在循環(huán)域中的兩倍值服從右移。這個(gè)循環(huán)右移是它使用附加的CPSR的C標(biāo)志來(lái)提供一個(gè)要被移位的 33 位的數(shù)量到Rm內(nèi)容的最高端,參見下圖4-9。與邏輯左移零一樣,邏輯右移零是多余的,所以匯編程序?qū)SR 0(以及ASR 0和ROR 0)轉(zhuǎn)換成LSL 0,并允許指定LSR 32。邏輯左移(LSL)獲取Rm的內(nèi)容并將每一位移動(dòng)指定量到更有意義的位置。如果S位被置位(并且Rd不是R15,見下表),則CPSR中的V標(biāo)志不受影響,C標(biāo)志將被置位來(lái)執(zhí)行barrel shifter(或當(dāng)移位操作為L(zhǎng)SL 0時(shí)保護(hù)),Z標(biāo)志當(dāng)且僅當(dāng)結(jié)果全零時(shí)被置位,N被置為結(jié)果bit31的邏輯值。該指令編碼如下圖4-3所示。例here BAL here 。寫入R14的值被調(diào)整到允許預(yù)取,并包含緊跟著“分支與鏈接指令”的指令地址。該指令的編碼如下圖4-2所示。例:ADR R0, Into_THUMB + 1 。這意味著不管CPSR的條件碼是什么,指令永遠(yuǎn)被執(zhí)行。. ARM指令格式1. 指令集格式:ARM指令集格式如下表4-1所示: 表4-1:ARM指令集格式注意:某些指令碼沒有定義,但并不導(dǎo)致未定義指令陷阱出現(xiàn),例如一個(gè)乘法指令的第6位變?yōu)?。ARM9系列是當(dāng)今嵌入式系統(tǒng)應(yīng)用的主流芯片內(nèi)核技術(shù)。. 怎樣進(jìn)行嵌入式系統(tǒng)設(shè)計(jì)嵌入式系統(tǒng)開發(fā)是本次培訓(xùn)的主要內(nèi)容,那我們應(yīng)該從以下方面入手:處理器、硬件部件、操作系統(tǒng)、編程語(yǔ)言、軟件開發(fā)工具、硬件開發(fā)平臺(tái)、軟件組成。ARM培訓(xùn)講義提綱單 位:西安電子科技大學(xué) 編 寫: 何方勇 編寫日期: 2005年7月1日 1. 緒言本次ARM培訓(xùn)主要使各位受訓(xùn)人員了解嵌入式操作系統(tǒng)的基本概念、軟硬件構(gòu)成框架、以及掌握與嵌入式操作系統(tǒng)相關(guān)的知識(shí)。1) 處理器:速度、IO 設(shè)計(jì)指標(biāo)、處理器的軟件支持、處理器調(diào)試方式、處理器提供商的信譽(yù)度;2) 硬件部件:硬件實(shí)現(xiàn)難度、開發(fā)周期、市場(chǎng)前景、供貨情況3) 操作系統(tǒng):產(chǎn)品的適合度、調(diào)試難度、代碼結(jié)構(gòu)、可開發(fā)潛力、移植可行性4) 編程語(yǔ)言:高級(jí)語(yǔ)言、低級(jí)語(yǔ)言5) 軟件開發(fā)工具:系統(tǒng)調(diào)試功能如何、支持的庫(kù)函數(shù)、開發(fā)商的軟件支持3. 嵌入式處理器在以上的講義中我們簡(jiǎn)要提到了嵌入式開發(fā)的各方面的問題,接下來(lái)我們將從硬件開始講解。全世界各大廠商都采用ARM公司的IP來(lái)開發(fā)自己的ARM芯片,主要廠商有:三星、AD、TI、菲利普、Intel、CIRRUS LOGIC等。不應(yīng)使用這些指令,因?yàn)樗鼈兊淖饔靡苍S會(huì)由未來(lái)的ARM執(zhí)行2. ARM指令集表:下面表4-表4-3列出了ARM指令集:表4-2:表4-2:ARM指令集表4-3:表4-3:ARM指令集3. 條件碼:在ARM狀態(tài)下,所有指令都會(huì)根據(jù)CPSR條件碼和指令條件域的狀態(tài)被有條件地執(zhí)行。下表4-4給出了條件碼概況:表4-4:ARM指令中的條件碼. ARM指令集詳解★★1分支與交換(BX指令,Branch和Exchange指令):該指令僅僅在條件為真時(shí)被執(zhí)行,參見表4-4。產(chǎn)生分支目標(biāo)地址,bit0置位,進(jìn)入THUMB狀態(tài)BX R0 。圖4-2:B、BL指令格式分支指令包含有一個(gè)有符號(hào)的2態(tài)補(bǔ)充24位偏移(相當(dāng)于25根地址線+符號(hào)位,即+/32M字節(jié))。注意CPSR不保留PC值,R14[1:0]總是清零。等待,指令匯編成0xEAFFFFFE B there 。圖4-3:數(shù)據(jù)處理指令該指令通過對(duì)一或兩個(gè)操作數(shù)進(jìn)行指定的算術(shù)或邏輯運(yùn)算產(chǎn)生結(jié)果。ARM數(shù)據(jù)處理指令見下表4-5表4-5:數(shù)據(jù)處理指令算術(shù)運(yùn)算(SUB、RSB、ADD、ADC、SBC、RSC、CMN)將每個(gè)操作數(shù)都看作是一個(gè)32位的整數(shù)(無(wú)符號(hào)或兩個(gè)獨(dú)立的符號(hào),兩種情況時(shí)一樣的)。結(jié)果的最不重要位以零填充,Rm的最高位被丟棄,并不映射到結(jié)果中,除非當(dāng)ALU運(yùn)算處于邏輯狀態(tài)(見上面)時(shí),丟棄的最不重要的位變?yōu)閟hifter的進(jìn)位輸出,并可能鎖定CPSR的S位。算術(shù)右移(ASR)與邏輯右移類似,不同的是高位被Rm的bit31填充而不是零。 圖4-9: 帶擴(kuò)展循環(huán)右移★指定偏移量寄存器只有Rs的最低端字節(jié)被用來(lái)確定偏移量。這可以產(chǎn)生許多常數(shù),例如2的冪。如果指令中指定了移位量,PC為前8個(gè)字節(jié)。 MOV,MVN (單操作數(shù)指令).opcode{cond}{S} Rd,Op2從中斷返回,并從SPSR方式保存CPSR★★4PSR轉(zhuǎn)移(MRS、MSR):該指令僅當(dāng)條件為真時(shí)執(zhí)行,參見表4-4。在其它(特許)模式,整個(gè)CPSR均可改變。 不能將R15指定為源或目的寄存器。復(fù)制CPSRBIC R0,R0,0x1F 。 MRS – 將PSR內(nèi)容轉(zhuǎn)移到寄存器MRS{cond} Rd,psr CPSR[31:28] 0xA (set N,C。 SPSR_mode[31:28] Rm[31:28]MSR SPSR_flg,0xC0000000 。兩種指令形式均以有符號(hào)(兩種獨(dú)立)或無(wú)符號(hào)整數(shù)作操作數(shù)工作。★CPSR標(biāo)志:可任意置位CPSR的標(biāo)志位,它由指令中S位控制。指令編碼見下圖4-12。 R15不能用作操作數(shù)或目標(biāo)寄存器。 如果乘數(shù)操作數(shù)[31:8]位為全0或全1匯編句法表4-7. 匯編程序句法描述這里:{cond} 雙字母條件助記符,見表4-4{S} 如果S出現(xiàn),置位條件碼RdLo, RdHi, Rm, Rs 除R15外的寄存器表達(dá)式例UMULL R1,R4,R2,R3 。當(dāng)U=1時(shí)基址寄存器Rn加上偏移量,而U=0時(shí)基址寄存器Rn減去偏移量?!镒止?jié)和字:該指令級(jí)別可用于在ARM920T寄存器和存儲(chǔ)器之間轉(zhuǎn)移一個(gè)字節(jié)(B=1)或一個(gè)字(B=0)。一個(gè)字裝入(LDR)通常使用一個(gè)字排列地址。參見圖21。一個(gè)字存儲(chǔ)(STR)應(yīng)產(chǎn)生一個(gè)字排列地址。例:LDR R0,[R1],R1所以不能使用后尋址的LDR或STR指令,這里Rm是與Rn一樣的寄存器。當(dāng)指定或隱
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1