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

正文內(nèi)容

嵌入式系統(tǒng)備課下學(xué)期-簡化版(上冊)-文庫吧資料

2025-06-27 19:13本頁面
  

【正文】 為向下增長。例: STMIA R0!,{R1R7} ;地址向上變化STMIB R0!,{R1R7} ;地址向上變化STMDA R0!,{R1R7} ;地址向下變化STMDB R0!,{R1R7} ;地址向下變化 說明:將R1R7的數(shù)據(jù)保存在以R0為首址的存儲器中,R0內(nèi)的地址值遞增(地址自動增加,地址向下變化)或遞減(地址自動減小,地址向上變化)。例: STMFD SP!,{R1R7,LR} ;滿遞減,將R1R7,LR壓棧 LDMFD SP!,{R1R7,LR} ;滿遞減,將數(shù)據(jù)彈出棧并保存在R1R7,LR中注意:STM有“壓入、寫入”有含義;LDM有“彈出、讀出”的含義,區(qū)分好STR與LDR。由上面情況進(jìn)行組合后楞有四種類型的堆棧工作方式: 滿遞增堆棧;滿遞減堆棧;空遞增堆棧;空遞減堆棧。堆棧指針的指向也有二種情況:滿堆棧,F(xiàn)ull Stack。 向上生長:向高地址方向生長,Ascending Stack。滿遞增:LDMFA、STMFA空遞增:LDMEA、STMEA滿遞減:LDMFD、STMFD空遞減:LDMED、STMED堆棧是一個(gè)按特定順序進(jìn)行存取的存儲區(qū)。SP指向?qū)⒁獕喝氲挠行?shù)據(jù)位稱為“空堆棧”。(7) 堆棧尋址增 滿減 空所以有四種棧頂棧底第一個(gè)空位置堆棧地址變化的方向小方向,遞減堆棧。例如指令:LDR R2,[R3,4] ;R2←[R3 + 4](將R3中的數(shù)值加4作為地址,取出此地址的數(shù)值保存在R2 中)STR R1,[R0,2] ;[R02] ← R1(將R0中的數(shù)值減2 作為地址,把R1中的內(nèi)容保存到此地址位置)幾個(gè)英語單詞:LD Load 存儲器 M(memory) 增加 I(increas) 升序 A(ascending) ST Set 寄存器 R(register) 減少 D(decreas) 降序 D(descending) 滿 E(empty) 在 之后 A(after)空 F(full) 在 之前 B(before)(6) 多寄存器尋址(注意:操作的方向)采用多寄存器尋址方式,一條指令可以完成多個(gè)寄存器值的傳送,這種尋址方式用一條指令最多可以完成16個(gè)寄存器值的傳送。)指令中的地址碼段給出的是一個(gè)通用寄存器編號,所需要的操作數(shù)保存在寄存器指定地址的存儲單元中,即寄存器為操作數(shù)的地址指針,操作數(shù)存放在存儲器中?!?各移位操作過程如下圖所示?!?ASR:算術(shù)右移,移位過程中保持符號位不變,即如果源操作數(shù)為正數(shù),則字的高端空出的位補(bǔ)0,否則補(bǔ)1● ROR:循環(huán)右移,由字的低端移出的位填入字的高端空出的位。例如指令:MOV R0,R2,LSL 3 ;R2的值左移3位,結(jié)果放入R0,即R0=R2 * 8ANDS R1,R1,R2,LSL R3 ;R2的值左移3位,然后和R1相與操作,結(jié)果放入R1可采用的移位操作如下:● LSL:邏輯左移,寄存器中字的低端空出的位補(bǔ)0。例如指令A(yù)DD R0,R0,1 ;R0←R0 + 1MOV R0,0xff00 ;R0←0xff00(3) 寄存器移位尋址寄存器移位尋址是ARM指令集特有的尋址方式。例如指令MOV R1,R2 ;R1←R2 SUB R0,R1,R2 ;R0←R1 R2(2) 立即尋址在立即尋址指令中數(shù)據(jù)就包含在指令當(dāng)中,立即尋址指令的操作碼字段后面的地址碼段部分就是操作數(shù)本身,取出指令也就取出了可以立即使用的操作數(shù)(也稱為立即數(shù))?!锪⒓磳ぶ? MOV A,34H 指令中有數(shù)據(jù)直接尋址 MOV A,34H 地址在指令中★寄存器尋址 MOV A,R2 寄存器中的內(nèi)容為數(shù)據(jù)★寄存器間接尋址 MOVX A,R0 寄存器中的內(nèi)容為地址★變址尋址 MOVC A,A+DPTR 地址是一個(gè)合成地址★相對尋址 JC 03H(C=1,則PC+3;C=0,不轉(zhuǎn))位對址 SETB 3DH 對規(guī)定的位進(jìn)行操作★堆棧操作 PUSH叫壓棧?(入棧),POP叫出棧(彈出) ARM處理器中的尋址方式。最高優(yōu)先級:;;3. FIQ;4. IRQ;5. 預(yù)取指中止;最低中斷優(yōu)先級:。因?yàn)樵瓉淼腃PSR被自動地保存到了SPSR。注意書上分別進(jìn)行了討論,希望同學(xué)們將二個(gè)過程進(jìn)行綜合考慮,先把下面的圖掌握,課后再看書上的討論。另外,關(guān)于異常類型的含義希望認(rèn)真理解。有可能同時(shí)產(chǎn)生好幾個(gè)異常,如果出現(xiàn)這種情況,就應(yīng)該按優(yōu)先級的順序進(jìn)行處理。 異常(除用戶模式和系統(tǒng)模式外)當(dāng)正常的程序執(zhí)行流程被臨時(shí)中斷時(shí)(可由系統(tǒng)內(nèi)部或系統(tǒng)外部的事件引起),稱為產(chǎn)生了異常(注意異常比中斷的定義范圍大)。(2) 中斷禁止位:I、F位為中斷禁止位(注意:I給IRQ使用,F(xiàn)給FIQ使用,它們是分開使用,不是合起來使用),當(dāng)它們被置1時(shí)可以相應(yīng)地禁止IRQ和FIQ中斷。 控制位(I~M0)的幾種取值情況M[4:0]模式可視的THUNM狀態(tài)寄存器可視的ARM狀態(tài)寄存器10000用戶模式R7~R0, LR, SP PC, CPSRR14~R0, PC, CPSR10001FIQ 模式R7~R0, LR_fiq, SP_fiq PC, CPSR, SPSR_fiqR7~R0, R14_fiq..R8_fiq, PC, CPSR, SPSR_fiq10010IRQ 模式R7~R0, LR_irq, SP_irq PC, CPSR, SPSR_irqR12~R0, R14_irq, R13_irq, PC, CPSR, SPSR_irq10011超級用戶模式R7~R0, LR_svc, SP_svc, PC, CPSR, SPSR_svcR12~R0, R14_svc, R13_svc, PC, CPSR, SPSR_svc10111中止R7~R0, LR_abt, SP_abt, PC, CPSR, SPSR_abtR12~R0, R14_abt, R13_abt, PC, CPSR, SPSR_abt11011未定義模式R7~R0 LR_und, SP_und, PC, CPSR, SPSR_undR12~R0, R14_und, R13_und, PC, CPSR11111系統(tǒng)模式R7~R0, LR, SP PC, CPSRR14~R0, PC, CPSRCPRS的低8位(包括I、F、T和M[4:0])稱為控制位,當(dāng)發(fā)生異常時(shí)這些位會被改變,如果處理器在特權(quán)模式下(非用戶模式)運(yùn)行,這些位也可以由程序修改。它們的內(nèi)容根據(jù)算術(shù)或邏輯運(yùn)算的結(jié)果所改變,并且可用來作為一些指令是否運(yùn)行的檢測條件。IFTM4M3M2M1M0其中處理器的的信息與意義如下:其中:N、Z、C、V稱為條件碼標(biāo)志;D27~D8為保留位;I~M0稱為控制位標(biāo)志。 8 7 6 5 4 3 2 1 0NZCV31 30 29 28 27 26 25 24 23 還可以采用CMP和ADD指令,將高地址寄存器的值與低地址寄存器的值進(jìn)行比較或相加。但是,匯編語言的程序員可以訪問它們并用它們作快速暫存。系統(tǒng)和用戶FIQ超級用戶異常中止IRQ未定義R0R0R0R0R0R0R1R1R1R1R1R1R2R2R2R2R2R2R3R3R3R3R3R3R4R4R4R4R4R4R5R5R5R5R5R5R6R6R6R6R6R6R7R7R7R7R7R7SP▲SP_fiq▲SP_svc▲SP_abt▲SP_und▲SP_fiqLR▲LR_fiq▲LR_svc▲LR_abt▲LR_und▲LR_fiqPCPCPCPCPCPCThumb狀態(tài)下的狀態(tài)寄存器CPSRCPSRCPSRCPSRCPSRCPSR空▲SPSR_fiq▲SPSR_svc▲SPSR_abt▲SPSR_irq▲SPSR_und圖 Thumb狀態(tài)下的寄存器集 ARM和Thumb狀態(tài)寄存器間的關(guān)系(1) Thumb下R0R7和ARM狀態(tài)下R0R7是等同的 ;(2) Thumb狀態(tài)的CPSR和SPSR跟ARM 狀態(tài)的CPSR和SPSR是等同的;(3)Thumb 狀態(tài)下的SP映射在ARM狀態(tài)下的R13上;(4) Thumb狀態(tài)下的LR映射在ARM狀態(tài)下的R14上;(5)Thumb 狀態(tài)下的程序計(jì)數(shù)器映射在ARM狀態(tài)下的程序計(jì)數(shù)器上(R15)。注意:不是通用寄存器 系統(tǒng)和用戶FIQ超級用戶異常中止IRQ未定義1 R0R0R0R0R0R02 R1R1R1R1R1R13 R2R2R2R2R2R24 R3R3R3R3R3R35 R4R4R4R4R4R46 R5R5R5R5R5R57 R6R6R6R6R6R68 R7R7R7R7R7R79 R81 ▲R8_fiqR8R8R8R810 R92 ▲R9_fiqR9R9R9R911 R103 ▲R10_fiqR10R10R10R1012 R114 ▲R11_fiqR11R11R11R1113 R125 ▲R12_fiqR12R12R12R1214 R136 ▲R13_fiq8 ▲R13_svc10 ▲R13_abt12 ▲R13_irq14 ▲R13_und15 R147 ▲R14_fiq9 ▲R14_svc11 ▲R14_abt13 ▲R14_irq15 ▲R14_und16 R15(PC)R15(PC)R15(PC)R15(PC)R15(PC)R15(PC)RAM狀態(tài)下的狀態(tài)寄存器1 CPSRCPSRCPSRCPSRCPSRCPSR空1 ▲SPSR_fiq2 ▲SPSR_svc3 ▲SPSR_abt4 ▲SPSR_irq5 ▲SPSR_und圖 RAM狀態(tài)下寄存器集 Thumb狀態(tài)下的寄存器 (1) Thumb狀態(tài)寄存器是ARM狀態(tài)寄存器的一個(gè)子集。(3) 寄存器CPSR是當(dāng)前程序狀態(tài)寄存器;寄存器SPSR是備用狀態(tài)寄存器。 ARM狀態(tài)下的寄存器(分三類問題進(jìn)行總結(jié))(1) 在ARM狀態(tài)下,任何時(shí)刻都可以看到16個(gè)通用寄存器,1或2個(gè)狀態(tài)寄存器。 寄存器組織重要總結(jié):ARM共有37個(gè)32位的寄存器(每個(gè)4個(gè)字節(jié),共占用148個(gè)字節(jié)長37*4=148,即94H個(gè)單元),其中31個(gè)是通用寄存器(16個(gè)通用+15個(gè)私用=31個(gè)),6個(gè)是狀態(tài)寄存器(1當(dāng)前+5個(gè)備用,共計(jì)37個(gè))。大多數(shù)應(yīng)用程序都是在用戶模式下運(yùn)行。注意:指令長度和數(shù)據(jù)長度 操作模式 ARM920T支持7種操作模式: (認(rèn)真看書P29中)● 用戶模式(user模式); ● 快速中斷模式(fig模式);● 中斷模式(irq模式);● 超級用戶模式(svc模式);● 異常中斷模式(abt模式);● 系統(tǒng)模式(sys模式);● 未定義模式(und模式)。 存儲空間的格式 ARM920T將存儲器空間視為從地址為0開始,單元由字節(jié)組成的線性存儲集合,一個(gè)字占用4個(gè)字節(jié)的存儲空間,ARM可尋址范圍有4GB空間(因?yàn)榈刂酚?2位長),ARM處理器有的帶有指令Cache和數(shù)據(jù)Cache,但不帶有片內(nèi)RAM和片內(nèi)ROM(與8位機(jī)的區(qū)別),系統(tǒng)所需的RAM和ROM(包括Flash)都通過總線外接。下面的介紹均以ARM920T(即ARM9)為例,典型產(chǎn)品如Samsung(三星)公司的S3C2410A(學(xué)校實(shí)驗(yàn)室的實(shí)驗(yàn)箱就是使用這種處理器)處理工作狀態(tài) 從程序員的角度上看,ARM920T可以工作在下面兩種工作狀態(tài)下的一種: ● ARM狀態(tài):執(zhí)行32位ARM指令(本學(xué)期重點(diǎn)要掌握); ● Thumb狀態(tài):執(zhí)行16位半字的Thumb指令(一般了解)。CPUA7A6A5A4A3A2A1A074LS139G/ Y3B Y2A Y1 Y0CE/61XXCS/8255CE/27XX地址的確定:27XX:0010000000111111 20H3FH 61XX:0100000001011111 40H5FH
點(diǎn)擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1