利用跳转表实现程序分支.doc

利用跳转表实现程序分支.doc

ID:56789885

大小:16.00 KB

页数:3页

时间:2020-07-11

利用跳转表实现程序分支.doc_第1页
利用跳转表实现程序分支.doc_第2页
利用跳转表实现程序分支.doc_第3页
资源描述:

《利用跳转表实现程序分支.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验一利用跳转表实现程序分支一、实验目的:1、熟悉ADS1.2开发环境,掌握基本的调试方法;2、熟悉ARM9汇编语言的程序设计方法;3、熟悉ARM9的基本语法。二、实验内容利用跳转表实现具有下述功能的汇编程序:(1)当r0为1时,调用子程序CASE1,完成r1加r2把结果放入r3的计算;(2)当r0为2时,调用子程序CASE2,完成r1减r2把结果放入r3的计算;(3)当r0为3时,调用子程序CASE3,完成r1与r2把结果放入r3的计算;(4)否则,完成r1或r2把结果放入r3的计算。三、实验步骤:安

2、装完ADS1.2后在其安装目录下存在如下两个文件,即CodewarriorforARMDeveloperSuit和AXDDebugger,这两个文件分别是代码编辑文件和调试文件,在实验中我们主要使用这两个文件。运行ARMDeveloperSuitev1.2中的CodewarriorforARMDeveloperSuit文件2、选择File-New将打开新建文件窗口,如图2所示。选择Project标签新建一个ARM可执行的映像文件(ARMExecutableImage),并填入适当的项目名(Project

3、name)及选择合适的存放项目的目录(Location),最后点击确定。3、新建一个*.s文件用于存放我们的实验程序,其建立步骤如下。点File-New将打开新建文件窗口,在新打开的窗口中选择Flie标签,输入文件名。也可以通过工具栏中的按钮实现上述功能。值得注意的是由于在这里我们使用汇编语言编制程序因此文件扩展名一定要存为*.s。4、输入所设的汇编语言并保存,注意扩展名必须为*.s。在输入设计文件时需要注意以下几点:(1)标号必须顶格书写,而指令、伪指令和指示符前必须至少空一格空格,为了使程序格式清晰

4、,通常使用标号必须顶格书写,而指令、伪指令和指示符前必须至少空一格空格,为了使程序格式清晰,通常使用Tab键;(2)指令、伪指令和指示符大小写均可;(3)注释为英文状态下的“;”。5、接下来开始调试所设计的文件,调试文件主要在项目窗口中进行。(1)添加文件到项目。将鼠标指在项目窗口的空白处,点击右键,选择AddFlie…将设计文件添加到项目中。(2)指定调试环境。选择DebugRelSettings打开调试环境设置窗口,在这里可以进行相应的设置,我们只需将LanguageSettings中的ARMAss

5、embler中的Target选为ARM920T即可(系统默认为ARM7TDMI,若只为了实现软件仿真,也可以不改变微处理器,因为ARM920T与ARM7TDMI均使用同一套ARM指令集)。(3)汇编文件。点击Make按钮汇编我们设计的文件,并修正错误。当没有错误时就可以进行调试了。(4)调试文件。在这里我们使用ADS1.2中的AXDDebugger进行程序调试,可以通过选择Debug按钮调用AXDDebugger,其界面如图4所示(若AXD未能打开所调试的程序,可以选择AXDDebugger中的Opti

6、ons

7、Target配置处理器)。四、实验的源程序;利用跳转表实现具有下述功能的程序;ifr0==1thenCALLCASE1(r3=r1+r2);elseifr0==2thenCALLCASE2(r3=r1-r2);elseifr0==3thenCALLCASE3(r3=r1&r2);elseDEFAULT(r3=r1

8、r2);AREAJumpTest,CODE,READONLY;定义代码段CODE32;设置为arm指令集ENTRY;程序入口startMOVr0,#1;初始化程序中使用的寄存器MOVr

9、1,#3MOVr2,#2ADRr4,JumpTable;将跳转表地址送给r4CMPr0,#1;ifr0==1thenCALLCASE1MOVEQr3,#0LDREQpc,[r4,r3,LSL#2]CMPr0,#2;ifr0==2thenCALLCASE2-5-MOVEQr3,#1LDREQpc,[r4,r3,LSL#2]CMPr0,#3;ifr0==3thenCALLCASE3MOVEQr3,#2LDREQpc,[r4,r3,LSL#2]DEFAULT;otherwiseCALLDEFSULTORRr0

10、,r1,r2SWITCHENDMOVr0,#0x18;调用软中断返回操作系统LDRr1,=0x20026SWI0xJumpTable;定义跳转表DCDCASE1DCDCASE2DCDCASE3CASE1;子程序1ADDr3,r1,r2BSWITCHENDCASE2;子程序2SUBr3,r1,r2BSWITCHENDCASE3;子程序3ANDr3,r1,r2BSWITCHENDEND五、实验体会通过这次实验,让我初步了解了嵌入式开发的环境建立

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。