


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ARM嵌入式汇编语言程序设计重点实验目的l 熟悉ARM微处理器指令系统;l 学习ARM嵌入式汇编程序设计的编程重点。实验设备l 硬件:PC机。l 软件:ADS1.2集成开发环境,Windows 2000/XP/2003。实验内容l 了解多分支程序的编写方法;l 掌握ARM程序的运行和调试。实验原理(1)Arm 体系结构3种执行流程1 顺序执行:在正常执行过程中,每执行一条ARM指令,程序计数器(PC)的值加4个字节;每执行一条Thumb指令,程序计数器 (PC)加2个字节。整个过程按顺序执行。2 跳转执行:程序可以跳转到特定的地址标号处执行,或者跳转到特定的子程序处执行。3 异常中断执行:在进入异常中断处理程序时,要保存被中断程序的执行现场,从异常中断处理程序退出时,要恢复被中断程序的执行现场。 (2)跳转表多分支结构是程序中常见的结构,若给出调用号来调用子程序,一般用查表方法,查到子程序的地址,转到相应子程序。注意:读跳转表时不要超过表的末端,检查超限是必需的。例如:BL JUMPTABLEJUMPTABLE ADR R1,SUBTABLE CMP R0,#SUBMAX ;检查超限 BHI stop ;若超限,则程序结束 LDR PC,R1,R0,LSL #2;否则跳转到表中stop MOV R0,#0X18 LDR R1,=0X20026SWI 0x123456SUBTABLE DCD SUB0 ;子程序表入口 DCD SUB1 DCD SUB2实验参考程序利用跳转表实现多分支转移。AREA JUMP,CODE,READONLY;设置本段程序的名称(JUMP)及属性num EQU 2 ;跳转表中的子程序个数 ENTRY ;程序执行的入口点START ;设置3个参数,然后调用子程序arithfunc,进行算术运算 MOV R0,#0 MOV R1,#3 MOV R2,#2 BL arithfunc ;调用子程序arithfuncSTOP ;调用angel_SWIreason_ReportException,从应用程序中退出 MOV R0,#0X18 LDR R1,=0X20026 SWI 0x123456arithfunc ;子程序arithfunc入口点 CMP R0,#num;判断选择子程序的参数是否在有效范围之内 MOVHS PC,LR ADR R3,JumpTable;读取跳转表的基地址 LDR PC,R3,R0,LSL #2;根据参数R0的值跳转到相应的子程序;跳转表JumpTable中保存了各个子程序的地址, 在这里有两个子程序DoAdd和DoSub;当参数R0为0时上面的代码将选择DoAdd;当参数R0为1时上面的代码将选择DoSubJumpTable DCD DoAdd DCD DoSubDoAdd ;子程序DoAdd执行加法操作 ADD R0,R1,R2 MOV PC,LRDoSub 子程序DoSub执行减法操作 SUB R0,R1,R2 MOV PC,LR END;结束汇编实验思考题1. 修改下列C程序段代码为ARM汇编程序段代码。 do x-; while(x0); 这里设x存放在R0 中(x为无符号整数)DOWHILE_L1 ADD R0,R0,#-1 ; 循环体,x-DOWHILE_L2 MOVS R0,R0 ; R0 = R0,并影响条件码标志 BNE DOWHILE_L1 ; 若R0不为0(即x不为0),则继续循环DOWHILE_END NOP 2. 编写一简单ARM汇编程序段,实现1+2+100的运算。 AREA EXAMPLE1, CODE,READONLY ;定义一个代码段,名称为EXAMPLE1 ENTRY ;入口 MOV R0,#0 ;给R0赋值为0 MOV R1,#0 ;用R1来存放1100的总和,初始化为0START ADD R0,R0,#1 ;用来判断终止的,每次加1 ADD R1,R1,R0 ;从1加到100 CM
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全培训课件戴兴华
- 重庆对外经贸学院《医学影像诊断学(Ⅰ)》2023-2024学年第一学期期末试卷
- 网络课程建设培训
- 值班组长管理技能提升
- 语文教育案例分析
- 2025年医疗美容消费者心理与服务满意度提升策略分析报告
- 开学前校长培训
- 七年级上学期期末复习课件
- 2025年山东省日照市五莲二中学八下英语期中经典试题含答案
- 婴儿日常护理指南
- 绿色施工管理体系及管理制度(土木)
- 护理与风险防范课件
- 2025年高考安徽卷物理真题(解析版)
- 标准件项目管理制度
- 十五五智慧校园建设发展规划
- 中医眼科学绿风内障课件
- 暑假安全家长会课件
- 2025年中小学生安全知识竞赛试题及答案
- 2024年山西烟草专卖局考试真题试卷及答案
- SOP-15天视频起号流程图
- 出口原产地管理制度
评论
0/150
提交评论