实验1汇编实验一.docx
- 文档编号:6322367
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:10
- 大小:977.43KB
实验1汇编实验一.docx
《实验1汇编实验一.docx》由会员分享,可在线阅读,更多相关《实验1汇编实验一.docx(10页珍藏版)》请在冰豆网上搜索。
实验1汇编实验一
实验1-汇编实验一
实验1汇编实验一
实验设备
Ø硬件:
PC机一台;
Ø软件:
µVisionIDEforARM集成开发环境,Windows98/2000/NT/XP。
实验内容
Ø熟悉开发环境的使用并使用ldr/str,mov等指令访问寄存器或存储单元;
Ø使用add/sub/lsl/lsr/and/orr等指令,完成基本算术/逻辑运算。
实验步骤
1.新建工程
首先在\Keil\ARM\Examples\Mini2410-IV\4.1_asm1目录下建立文件夹命名为Asm1_a,运行µVision5IDE集成开发环境,选择菜单项“Project->New…->µVisionProject”,系统弹出一个对话框,按照图4-1-3所示,输入相关内容。
点击“保存”按钮,将创建一个新工程asm_1a.Uv2。
图4-1-3新建工程
2.为工程选择CPU
新建工程后,要为工程选择CPU,如图4-1-4所示,在此选择SAMSUNG的S3C2410A:
图4-1-4选择CPU
3.添加启动代码
在图4-1-5中点“确定”后,会弹出一个对话框,问是否要添加启动代码。
如图4-1-5所示。
图4-1-5添加启动代码
由于本实验是简单的汇编实验,因此不需要启动代码,选择否。
4.选择开发工具
要为工程选择开发工具,在Project-Manage-Components,EnvironmentandBooks-Folder/Extensions对话框的Folder/Extensions页内选择开发工具,如图4-1-6所示。
图4-1-6选择开发工具
从图中可以看到,有三个开发工具可选,在此选择RealViewCompiler。
5.建立源文件
点击菜单项File-New,系统弹出一个新的、没有标题的文本编辑窗,输入光标位于窗口中第一行,按照实验参考程序编辑输入源文件代码。
编辑完后,保存文件asm1_a.s。
(源代码可以参考\DISK3_S3C2410\03-Codes\01-MDK\Mini2410-IV\4.1_asm1中的asm1_a.s文件)
6.添加源文件
单击工程管理窗口中的相应右键菜单命令,选择AddFilesto…,会弹出文件选择对话框,在工程目录下选择刚才建立的源文件asm1_a.s。
如图4-1-7所示。
图4-1-7添加源文件
7.工程配置
把DebugINRam.ini文件拷贝到\Keil\ARM\Examples\Mini2410-IV\4.1_asm1\Asm1_a目录下。
选择菜单项Project->OptionforTarget…,将弹出工程设置对话框,如图4-1-8所示。
对话框会因所选开发工具的不同而不同,在此仅对Target选项页、Linker选项页及Debug选项页进行配置。
Target选项页的配置如图4-1-8;Linker选项页的配置如图4-1-9;Debug选项页的配置如图4-1-10。
需要注意,在Debug选项页内需要一个初始化文件:
DebugINRam.ini。
此.INI文件用于设置生成的.AXF文件下载到目标中的位置,以及调试前的寄存器、内存的初始化等配置操作。
它是由调试函数及调试命令组成调试命令脚本文件。
图4-1-8基本配置—Target
图4-1-9基本配置—Linker
图4-1-10基本配置—Debug
8.生成目标代码
选择菜单项Project-Buildtarget或快捷键F7,生成目标代码。
在此过程中,若有错误,则进行修改,直至无错误。
若无错误,则可进行下一步的调试。
9.调试
选择菜单项
Debug-Start/StopDebugSession或快捷键Ctrl+F5,即可进入调试模式。
若没有目标硬件,可以用µVision5IDE中的软件仿真器,做如下调试工作:
●
打开memory窗口,单步执行,观察地址0x30200000中内容的变化;
●修改数据,重新生成并调试,观察存储器界面数值变化。
●单步执行
,观察寄存器的变化;
●结合实验内容和相关资料,观察程序运行,通过实验加深理解ARM指令的使用;
实验参考程序
1.实验A
汇编程序:
;**********************************************************************
;NAME:
asm1_a.s
;Author:
TYW/WUHANR&DCenter,Embest
;Desc:
ARMinstructionexamples
;History:
2007.5.1
;**********************************************************************
;/*------------------------------------------------------------------*/
;/*constantdefine*/;/*------------------------------------------------------------------*/
xEQU45;x=45
yEQU64;y=64/
stack_topEQU0x30200000;definethetopaddressforstacks
exportReset_Handler
;/*------------------------------------------------------------------*/
;/*code*/
;/*-------------------------------------------------------------------*/
AREAtext,CODE,READONLY
export
Reset_Handler;codestart*/
ldrsp,=stack_top
movr0,#x;putxvalueintoR0
strr0,[sp];savethevalueofR0intostacks
movr0,#y;putyvalueintoR0
ldrr1,[sp];readthedatafromstack,andputitintoR1
addr0,r0,r1;R0=R0+R1
strr0,[sp]
stop
bstop;endthecodecycling
end
注意:
语句exportReset_Handler前面必须有空格,具体原因请参考ARM指令格式文档。
软件窗口分区:
调试前:
调试后:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 汇编