ARM实验报告 - CpyARM实验报告 - Copy.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ARM实验报告 - CpyARM实验报告 - Copy

ARM嵌入式系统原理以及应用开发 实验报告 学院:电气学院 姓名:昂帅 学号:12401720117 班级:电子信息1201 目 录 实验一 ………………………ARM汇编指令使用实验——基本数学/逻辑运算 实验二………………………ARM汇编指令使用实验——存储区数据块的传送 实验一:ARM汇编指令使用实验——基本数学/逻辑运算 一、实验目的 1.初步学会使用ARM ADS / Embest IDE for ARM 开发环境及ARM软件模拟器。 2.通过实验掌握数据传送和基本数学/逻辑运算的ARM汇编指令的使用方法。 二、实验设备 1.硬件:PC机。 2.软件:ADS 1.2 / Embest IDE 200X集成开发环境。 三、实验内容   熟悉ADS 1.2 / Embest IDE 200X开发环境的使用,使用LDR/STR和MOV等指令访问寄存器或存储单元,实现数据的加法运算。具体实验参考程序如下: 四.实验操作步骤 1.新建工程。先建立一个实验文件夹,如E\ARMSY\armasm1;然后运行Embest IDE集成开发环境,选择File→New Workspace菜单项,弹出一个对话框,输入工程名armasm1a/armasmlb等相关内容;最后单击OK按钮,将创建一个新工程,并同时创建一个与工程名相同的工作区。此时在工作区窗口将能打开该工作区和工程。 2.建立源文件。选择File→New菜单项,弹出一个新的、没有标题的文本编辑窗口,输入光标位于窗口中第一行,按照实验参考程序编辑输入源文件代码。编辑完后,保存文件armasmla. s。 1)armasmla. s源程序: /* armasm1a.s */   .EQU X, 45 /*定义变量X,并赋值为45*/   .EQU Y, 64 /*定义变量Y,并赋值为64*/   .EQU STACK_TOP, 0X1000 /*定义栈顶0X1000*/   .GLOBAL _START   .TEXT _START: /*程序代码开始标志*/    MOV SP, #STACK_TOP    MOV R0, #X /*X的值放入R0*/    STR R0, [SP] /*R0的值保存到堆栈*/    MOV R0, #Y /*Y的值放入R0*/    LDR R1, [SP] /*取堆栈中的数到R1*/    ADD R0, R0, R1    STR R0, [SP]   STOP: B STOP /*程序结束,进入死循环*/   .END 2).使用ADD/SUB/LSL/LSR/AND/ORR等指令,完成基本数学/逻辑运算。具体实验参考程序如下: /* armasm1b.s */   .EQU X, 45 /*定义变量X,并赋值为45*/   .EQU Y, 64 /*定义变量Y,并赋值为64*/   .EQU Z, 87 /*定义变量Z,并赋值为87*/   .EQU STACK_TOP, 0X1000 /*定义栈顶0X1000*/   .GLOBAL _START   .TEXT   _START: /*程序代码开始标志*/    MOV R0, #X /*X的值放入R0*/    MOV R0, R0, LSL #8 /*R0的值乘以2的8次方 */    MOV R1, #Y /*Y的值放入R1*/ ADD R2, R0, R1, LSR #1 /*R1的值除以2再加上R0后的值放入R2*/    MOV SP, #0X1000    STR R2, [SP]    MOV R0, #Z /*Z的值放入R0*/    AND R0, R0, #0XFF /*取R0的低八位*/    MOV R1, #Y /*Y的值放入R1*/    ADD R2, R0, R1, LSR #1 /*R1的值除以2再加上R0后的值放入R2*/    LDR R0, [SP] /*Y的值放入R1*/ MOV R1, #0X01    ORR R0, R0, R1    MOV

您可能关注的文档

文档评论(0)

zyongwxiaj8 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档