ARM 工作状态切换_第1页
ARM 工作状态切换_第2页
ARM 工作状态切换_第3页
ARM 工作状态切换_第4页
ARM 工作状态切换_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 成绩辽宁工程技术大学上机实验报告课程名称汇编语言程序设计实验题目工作模式和工作状态的切换院系软件学院专业软件工程班级姓名学号实验日期实验目的掌握7种工作模式的切换方法,熟悉各种工作模式卜的寄存器。掌握2种工作状态的切换方法。3掌握工作模式和工作状态切换的程序设计方法。实验准备1实验设备:硬件:PC机软件:ADS1.2集成开发环境2.知识准备:书上第二、三、四章知识内容实验进度本次共有2个练习,完成2个。实验内容一、实验内容1工作模式的切换使用MSR/MRS指令切换工作模式,并初始化各工作模式下的堆栈指针。观察ARM在各种工作模式下的寄存器的区别。观察并记录ARM在各种工作模式间切换时寄存器的

2、变化情况。2.工作状态的切换使用BX指令完成ARM与THUMB状态的切换使用BLX指令完成ARM与THUMB状态的切换成绩3.工作模式和工作状态切换实验流程建立一个新工程。建立一个汇编源程序,并添加到工程中。编译链接工程,设置编译连接控制选项,选择在线仿真模式。使用AXD进行调试。二实验步骤1工作模式的切换启动ADS1.2集成开发环境,建立工程mode,编辑汇编源程序文件为mode_switch.s,添加到工程项目中。要求初始化各模式下的堆栈指针(先定义堆栈长度和堆栈空间),并重新设置各种模式堆栈。工作模式切换顺序为:管理模式IRQ模式FIQ模式f中止模式-未定义模式-系统模式-用户模式。用户

3、模式-系统模式。编译并链接程序,使用寄存器观察,运用单步执行方式调试程序mode_switch.s验证工作模式的切换,观察并记录状态切换时CPSR和SP的变化。随着程序调试过程中在模式间的切换,使用寄存器观察器切换到不同的工作模式下观察SP的变化情况,说明IRQ模式下SP的设置情况。重新修改程序编译调试,在不同模式下对堆栈进行操作,使用内存观察器观察不同的工作模式下SP的位置、堆栈入栈操作后栈中数据的变化情况以及SP指针值的变化情况,说明FIQ模式下进栈操作的情况。2.工作状态的切换启动ADS1.2集成开发环境,建立工程arm_thumb1,编辑汇编源程序文件为statuses,添加到工程项目

4、中。使用BX指令完成ARM与THUMB状态的切换。建立工程arm_thumb2,编辑汇编源程序文件为status2.s,添加到工程项目中。使用BLX指令完成ARM与THUMB状态的切换。调试statuses和status2.s源程序,记录状态切换时LR、PC和CPSR的变化情况。一、七种模式转换1编译并链接程序。使用寄存器观察器,运用单步执行方式调试程序tests验证工作模式切换。实验分析Rgisre-EValueBrirrenr-rroOKODOODOOO?rtOxOOOOflOOOrrzaxODOODOOODKODGODOOCl卜E4DEODOODOOOOeOOOOOOOOrr&nxODO

5、ODOOOLt7DEODODDOOClrtSUeODOODOOO“9OkOOOOD-OOOrrLOaxODOODOGOr-ELleODODODD口“L2000000000nKoaooooookrta0 x00000000FPCrGDODBDD口r-cpfl:rn.zcvqlFr旳CL-apazJizavqirt日SUitr/Systera.1S-TIQIPQ【J田SVC1EljihDrt1H-UzidetE-DebugCwmaChaDDE.TiTffftt|In*pi.|Pl111-与奉AFM7TDMIARM7TDMI-说5巴44戟血卜1阳蓟半己后1LL5r_JTHClt_L2gT:ti.eq

6、uE423_aHck_L=grli.equ322丄4_弓亍n亡&qula1lzl_5Tacl_L-eT:kequ6-1atsr_JTacfc_L=-jJkequ2amd_at!iak_LEa7Jkequ7pr-cstxSear-=azej-e七r匚口dazm-IdjiIjG口I:ryID&1C32冲11日诗mua-v眄tc12ua-vgtc1231SVrlp*1.14iic-ve2p#215ssvr3P|3163E:VE1hHL7ZZT工岀1EES7I:认M193izvr7p203LZVr&p起21izvr9P阳22血汁El!3ril023Hvtl.Lr41124JJivrL2r41225bl

7、Iniwcack27MOEOPlOr#ClSOZEuarcp3T_ci3t,e1ZSMICP3I_aPfl9l-10話=0p砂匸31asropsecr(xdES2mzf3334tldlCbmix35丄nlMxacknz凶senar图1.1初始状态2.随着程序调试过程中在各模式间的切换。MMTTBMI-gistrsEegisterValuEil3*Oirrent:r-rO03000803C:-rl0X00000001“2030000002-r3030000003H-r40 x30000004ir5030000005h-r50 x30000005h-r?0X00000007?-rSOjc?DOOO

8、OOOer-r9030000009:-rLO0 x0000000AH-rllODOOOOOOBPt1203000000ChrL3OxOOOOOCOO?-rL40 x00000000pcOxOOODBOfiC:cparnzcvqlFt_IRQspsrnacvqiftResLtlUser/aysteir.1EHEi;.FI-irq:El-SVCb.fibnrL.GEFttfiHi=fJ1ARN7TDMI-C:4564-heheheasdf.sISmov=*19mov20mnvrSr拠21movr9P#S22movrlOr#10Z3IDDVrllrfll24mov#1225bllnlL3Lack2m

9、rsdIrcpsr27blcrdjraffOxjBO28m3rcrsrKsfPr029mar3par_crtOxdO30mrsrOPcrsr31mjrsp:3E_cr40K.df32hitsrdPcpsr3334haltbhalt3EinitstacknovrOPlrmsrcp3r_cPuxd337ldrspstacksvc3E39use-cpsrcr#0 xd2+40ldr3prsLacKirq4142UiSCCp3r_CP#0XlL43Idrsprst.ackfiq:445tnfdjp1frO45nopHC图1.2IRQ模式psrcrtox-12j凹弊Ll丨3|已|旦也|=|判LEIIrO

10、i闕|呵呼arAJLinTHMI-RegistarsRegi3wrValueEbnarreiiL:.hrOOxOOOOBOSCr-rlOxODOODOOlr-r2OJCODOODQOZr-r30 x00000003.厂20 x00001004rr5OXODOODQOS”工石0 x00000006fE?OkODOODQO?r-rSOXODOODQOOr-r9OjcODOODGOOrlOgmwr-rllOXODOODQOOL-rl2OkODOODGOOOxODOODOOOrL4OJCODOODQOO?口tj.0 x0DOOB074rCP3rn7C7TTt_F7Q-sparnzcvqlft_Res圧

11、卜Usier/5ystez.:.+f-no:1s-ma:.3SVC:fAbort:刃pel吐:.ti1nrjnrtri-LSmnvr6,#6ISmcvn7f#72Qmnvr8H=F821Einv#922mnvrlDr41023mcvrll#1124novrlZr#122Eblinitstack2rnrsrotcpsr21bicr0rrOpfOxSO2Smarqpnjzjtai巧匸。2?msrcp3r_cP#0td030mrsrOrcpsr31Esrcp5r_cP#3.zdf32mrarOcpar獨ARIM7TDML-C:455444heheheasdf.s图1.3FIQ模式RegisterVa

12、lueEJcurr-eiiL1HrOordoooeosc?-rlOxOOCOOCOlIz2OzOOCOCCOSrr3ozooaoooojOrOOaOOD04jrS0 x00COCCOSr-rfiojLOoaaoooflFt70 x000a0007?-reorooaociooeIr90 x00000009FtiooxooaaoooAhrllDiOOOOCiCiDBr-rl2OeOOOOOOOCIzl3ojoooaooooFt14oxoooaoooor-pcOrOOOOSOed!ap;3EnsaTqlFtAbortL-spsrn2Cvqlr_Ee3SUaer/System:JBfiq:IEUQ:!

13、Elw:EBjlbotB-Undz:B1DebugCournCanntpsrcrfOxdlmarDpar_cr40 xd7IDQVIDQV四占inavce.ismavmavclO.tlOmavcll.lllmavc!2,tl2blinitsta匚kJTIE5r0icpsrbiccO.iOCjcGOmsEDpar_GZ3fprOmarDpsr_cpfCxdOmE5匚0,cpsiinsrcp3r_crfCKdrnr-sfcpsrhaleinlLsrackmovrorlrmsrcp3r_cr#0 xl3ldrSPrSLdCkSVCcpsr_cr#Cixd2ldr3pPsLacklraCP3r_Cr#

14、0XlLmrSPrSLSCJild3cndsp!rrOQDPmscp3r_cr#0 xd7|idespr3tackatrCP3r_CP#0XtllDEll,411cpsrc-#U5:3E31m3rcpsrcr#Dzdz32mrsroPcp3r3334haltbha_t3Einitata匚kncvrOPlr胱m3rc3T_Crf*0 xd337IdrjprstaksvcARMTTDMJ-Q456444hehehea&df.sMMin3回IH回國厨囤同|f|7|剖里创创目更|sj|wB-LUfTDDHSGJL3I-Cp31231)FtjicpsrjdlhdOIZ3rO.CfPB:X3!CpS上片訓

15、XdfU3IrCp3E:SflAfWTDMt-C:圉凤+的hehh测謝再fil?5e-irhPrucessorViewsMVinCbwExcpI?)EjistciFalueBjrrtntr.trcDOKOoaaHeIoxoooaam!-e2ouoooaaoazHe3DsnoatiaccGr-F|DsnoadacMHeSOstlflOOOOKf-c6oxaoaaaare?DKQaoaaoarL_jiigouaaoaamr-z9DEDDaoaco?j-Elfl眶auaM他?-e110 x00004006j-rl3oiooafloocrE13DuOOOdLBC!卜山DEQQQQQCWr-jffi-血

16、ooa冊味AcjjmTlEmIFt_bEE:SESZUnEuailihleEOaef/SysieEi|b-hqb.iB-IH2b.i!-.-!S-lbsrt;!田P血二11田宜的二43CbcllDx|.11AW7TM-Btj3ienLilihallLDltStfiEkRDVri)rlt1MTcpsz:_c,0id3l(tr旳丄匚眈轴tctutcpsG?0rd2Idr旳胡e並口富iTUTCP3Z:_C?Wxdll(tr旳胡旧f耳丄口3IEiEdsp!ItlnCpSE_C?|Qld7ldr2pr5tBElabtnar申眈上昶论ldr5pr5tBEhiadIMTCBBE_E3Ol|irlllE3pr

17、SGaxUJI!TE?vptrMJbojctnardcdn3iazj.ai35.CE+(uar_3TdjcL_lar:li-LI*srtsMCi3cdsucaiicie-E+SLactlEgTtL-LlHdcdi33tackspfl.r-+(iisr_sti:kl=gtli-L|J45t4ct:ilcfedWijptjijtjpa吮十(打(_亦冼_1上31卜1|4sr&lati:dfcilsi:i:aiaciBt-E+(ati_suiL_lEgztL-L|HrtsckundckdHnd3tack5pz.z-+(unn._5tAck_l=gth.-l|J4回|頁耳5LOthumbzodem口vc

18、nrc-口dl亡要执行thumb指armccdeeni跳转图2.2翅iRM7TDMl-D:555122456122.emnvalladzbscrOmnvr4r#4mnvr5F#5add工&匚4i5bmainr3r#3r2,r2,r3roriariEcoclsaz-eaex4_53jcederreadDnlyentryjnainadzrCrthimbcode+lbzrdcDdelr2P42r3r#3rzPrz.r3rDrarncodiIDOVadd迁业Lxr?D匚de32iedvc4rf4move5r|Sadd4rr4rrSbmainendareaex4_S3fcodsfreadonLyentr

19、ymainadrrOLhuiit-cole+lEk.rOcode16th-int1匚口dumav图2.1如图2.1,把thumbcode+1值赋给RO,R00位置1,令集。二、两种状态切换Affiinifill-LowLavelSjmalsZlddiesa|SrrbdIO-:0CO8C11arrric口出ikin111Him耐inO-:0CO8CO3H-iunibcDdeARM7TUIMID!555U2.345&123,smrValueBxurrentb1HrOCXOQ0DBO14p-rl0 x00000000hr2CxOOODOOOEl-r30 x00000003卜匸4CxOOODOOCSh

20、r5CK00000005HrfiOxOOODOOOOJh-r7OxQOODOOaOh-rSCmOOODOOQOh-r9CjkOOODOOQOIriaCmOOODOOOCr-rllCjhOOODOOOOhrl2QXOOODOOOOHr.r;fhOOOOOOCOp-rl4CxOOODOOaOpc-OmOOODSOOO:cpiariizcvqIFt_SVC:,-sp3r2匚vqift_EesAffiinifill-RegistersiddrEss|SymbolOkOOOO0O14irnicDdeOkITiOCBOCCiriiainOk11iiii13008thumbcodekJMTTDNI-LowL

21、evelSymbolsEegisterValue3-Curient.;-rO0 x00005009p-rl0 x00000000:-r?0 x00000000i-r3QXDOQOOOQO?-r4CXDOQOOOQO卜匸50 x30000000;-r6OjdJOQOOOCOj-r7CjtDOOOOOCO:-r0 x00000000卜-r90 x30000000e-noQJTDOQOOOQOHeIL0 x30000000krl2OxOOQOOOCOi-rl3CjrDOdOOOCOawoooooooah-pc0 x00008004e-cpsrHZC7TIF3_SVC5-sparnzcviiin;_R

22、e3SlTsei/Syatem3-TIQ.T1I.H1TTDNI-Rc*gictbrc3IDIL1213141516anrcale图2.3进入thumb程序ARM7TDMI-D:55512245&122.5ARM7TDMI-D;55512345&123.s图2.4将arm子程序标号赋给ROJtLHIII1UUI-LLUKL疋丄jyillUU丄STarsetIInaseIFlIssCLassareaejt4_53rcode,re口口丄妙entrymamiadr込tlhujelucpI亡十bxrocodeiamo?addci匚bKrCeiide32mD7r4P44iddvr5pt5addr4Pc4

23、rrSbnainendSymbolarmcademainIhumbmdeAddressOkOODOEOIaOkOODOSOOOaKooDasao9r232r3P*3r2PS22Pr3rOrsiHCDdeare诃ex:i_53Pcd-etreadonlyntrvmamadrrJ,LiiLirr?D(xi-e+ibzrOCCKiElEthunriic&dGmnvRegisterValue曰口匚匚ent:hrOCxooooeooshilCxODOOCOOOhr2CxOOOOCOODCXOOOOOOOOhr4CXOOOOOOOOhr5CXOOOOOOOOhreCXOOOOOOOOhr7Ox?JDOaC

24、OODpreOX?JDOOOOODprSOx?JDOaCOODFrioOX?JDOOOOODk-rllOxtJOOOLLiCJOhrl20 x00000000h-rl3OkOOOOOOOOhrl40 x00000000rTcOxODOOEGOEh-cpsr口!zc:i7qlFT_5VCspsrnacvqiftReaEFUser-/System.l+l“F环:-jWiilTTDMI-KegstarsAddressGimbalOrf)D008D14aimcode05=ODOi:9DOOitoinODOiXiDOSthuirbcodeARJJ7TDNI-LewLwbISynBoLcvalue*El-

25、Current【:-rOoxooocsooar-rl0X00000000r-T20X00000005hr3QscflQQCiOOOa?-r4OieOOOCiOOOOb-e50 x0OC00000pr6OxOOOCOOOOr-r70X00000000严TSoxooaoooooj-r9astooaDooooHrlO0i00000000?-rllOxOOOCOOOOprl20 x00000000r-rlS0X00000000r-rl4OiOOC00000r-pcoxDocioeooE?-cp3rnzavqlFTSVC:hpsz:zizcvqift_RE3SUssz/SYSton0EI-2.1AI-J

26、J7TDFJI-Egi.sfithunbcDdennvz2r#27hotz3rtF38addz2rr2ri39IadrrCfanaode10bxrC11ode3212arreodebqvr4r13mo?r5r#514addr4Fr4Hr515Drain16ni4AfiflTTBMILawLevlSymbolsAddress只血1M0CO3CI4armcadsDOOQODOODmainDoaoeooBihumbc口dmARM7TDMI:-D:555123456123.sLareaexi_53fctniefrea-donlyentrmamadrro?LlminDcclei-LbjcrOcixi-elOhOOOOSDIJOsrOQOOQOOGOwOQOaQDOEOsrOQOOQOOSOkOOGOODOCOwOOOOODOOOkOOOOODOOOkOOOOOOOOOkOOOOODOOOkOOOOODOOOkOOOOODOOOKOOOOODO00KOOOOODOQOKOOOOODO0O

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论