实验一 ARM汇编指令
一、实验目的
1、初步学会使用Embest IDE for ARM 开发环境及ARM软件模拟器
2、通过实验掌握简单ARM汇编指令的使用方法
二、实验设备
1、硬件:PC机
2、软件:Embest IDE 2003集成开发环境,Windows 98/2000/NT/XP
三、实验原理
1、ARM通用寄存器
1)不分组寄存器R0~R7
这意味着在所有处理器模式下,它们每一个都访问一样的32位寄存器,它们是真正的通用寄存器,没有体系结构隐含的特殊用途。
2)分组寄存器R8~R14
它们每一个访问的物理寄存器取决于当前的处理器模式。若要访问特定的物理寄存器而不依赖当前的处理模式,则要使用
规定
关于下班后关闭电源的规定党章中关于入党时间的规定公务员考核规定下载规定办法文件下载宁波关于闷顶的规定
的名字。寄存器R8~R12各有两组物理寄存器:一组为FIQ模式,另一组除了FIQ以外的所有模式。寄存器R8~R12没有任何指定的特殊用途。只是使用R8~R14来简单的处理中断
3)程序寄存器R15
寄存器R15用做程序计数器
2、存储器格式
ARM体系结构将存储器看做从零地址开始的字节的线性组合。字节0~3存放第一个字节,字节4~7存放第二个字节,以此类推
1)大端格式
在这种格式中,字数据的高位字节存储在低地址中,而子数据低位字节存储在高地址中
2)小端格式
在这种格式中,字数据的高位字节存储在高地址中,而子数据低位字节存储在低地址中
四、实验内容及步骤
1、实验A
(1)新建
工程
路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理
:运行:Embest IDE 集成开发环境,选择FILENEWWORKPACE菜单项,弹出对话框,输入相关内容
(2)建立源文件:选择FILE->NEW菜单项,弹出一个新的、没有标
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
的文本编辑窗口,输入光标位于窗口中第一行。编辑完后保存
(3)添加源文件:选择PROJECT->ADD TO PROJECT->FILES项,或单击工程管理窗口中的相应右键快捷菜单命令,打开文件选择对话框,在工程目录下选择刚才建立的源文件
(4)基本设置:选择PROJECT->SETTINGS…..菜单项,或按下快捷键ALT+F7,弹出工程设置对话框,,对目标板所用处理器进行设置
(5)生成目标代码:选择BUILD->BUILD XXX菜单项,或按下快捷键F7,生成目标代码。
(6)调试设置:选择PROJECT->SETTINGS…..菜单项,或按下快捷键ALT+F7,弹出工程设置对话框。选择REMOTE界面进行设置
(7)选择DEBUG->REMOTE CONNECT连接软件仿真器,执行DOWNLOAD命令下载程序,并打开寄存器窗口
(8)打开寄存器窗口,观察0x8000~0x801F的内容,以及0xFF0~0xFFF的内容
(9)单步执行程序并观察和记录寄存器与存储器值的变化
(10)结合实验内容和相关
资料
新概念英语资料下载李居明饿命改运学pdf成本会计期末资料社会工作导论资料工程结算所需资料清单
,观察程序执行,通过执行实验加深理解ARM指令的使用
(11)理解和掌握实验后,完成实验练习题
2、实验B
(1)在FILE按键下新建工程
(2)按照实验A及相应的实验参考程序,建立工程
(3)参照实验A的步骤完成目标代码的生成与调试
(4)理解和掌握实验后,完成实验练习题
五、实验数据与结论
1、实验A
2、实验B
六、实验程序
1、实验A参考程序
.equ x,45
.equ y,64
.equ stack_top,0x1000
.global _start
.text
_start:
MOV sp,# stack_top
MOV r0,# x
STR r0,[sp]
MOV r0,# y
LDR r1,[sp]
ADD r0,r0,r1
STR r0,[sp]
stop:
B stop
.end
2、实验B参考程序
.equ x,45
.equ y,64
.equ z,87
.equ stack_top, 0x1000
.global _start
.text
_start:
MOV r0, #x
MOV r0, r0, lsl #8
MOV r1,# y
ADD r2, r0, r1, lsr #1
MOV sp, #0x1000
STR r2, [sp]
MOV r0, #z
AND r0, r0, #0xFF
MOV r1, #y
ADD r2, r0, r1, lsr #1
LDR r0, [sp]
MOV r1,#0x01
ORR r0, r0, r1
MOV r1, r2
ADD r2, r0, r1, lsr #1
stop:
B stop
.end
实验二 C语言程序
一、实验目的
1、学会使用Embest IDE编写简单的C语言程序并进行调试。
2、学会编写和使用命令脚本文件。
3、掌握通过MEMORY、REGISTER、WATCH、VARIALE窗口分析判断运行结果。
二、实验设备
1、硬件:PC机
2、软件:Embest IDE 2003集成开发环境,Windows 98/2000/NT/XP
三、实验原理
1、命令脚本文件
用户在连接集成环境与目标板时、软件调试过程中及复位目标板后,有时需要集成环境自动完成一些特定的功能。这些特定的功能可以通过执行一组命令序列来完成,保存一组序列的文本文件称为脚本文件。命令脚本文件执行时按照命令在脚本文件中排列的先后顺序自动、连续地执行。
2命令脚本文件的执行方法
1)在命令输入窗口,输入:script 脚本文件名
2)在项目设置对话框调试属性页指定连接后的行为。此时,可选择命令脚本文件,并在编辑文本框中设定命令脚本文件名,则在IDE与目标系统连接后首先自动执行指定的脚本文件。
四、实验内容及步骤
1)参照前面实验创建新的工程
2)按照参考程序,编写源文件,并把它们加入工程
3)参照前面的例子进行
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
设置
4)参照前面的例子进行编译
5)下载打开MEMORY、REGISTER、WATCH、VARIALE窗口,单步执行,通过这些窗口分析判断结果,在WATCH窗口中输入要观察变量I和变量J的值,并记录下来
6)结合实验内容和相关资料,观察程序执行
7)理解和掌握实验后,完成实验练习题
五、实验数据与结论
六、实验程序
C1.c参考源代码
void delay(int times);
_start()
{
int i=5;
for(;;)
{
delay(i);
}
}
void delay(times)
{
int i,j=0;
for(i=0;i
汇编器设置->连接器设置->调试器设置来设置新工程,并编译、链接工程
4)下载调试文件,打开相应的窗口,单步执行程序。观察分析运行结果
5)理解和掌握实验后,完成实验练习题
五、实验数据与结论
六、实验程序
Randtest.c参考源代码
// # include
extern unsigned int randomnumber(void);
int main()
{
int i,nTemp;
unsigned int random[10];
for(i=0;i<10;i++)
{
nTemp = randomnumber();
random[i] = nTemp;
}
return (0);
}
Init.s参考源代码
# .arm
.global _start
.text
_start:
#---Setup interrupt / exception vectors
#---Setup interrupt / exception vectors
B Reset_Handler
Undefined_Handler: B Undefined_Handler
SWI_Handler: B SWI_Handler
Prefetch_Handler: B Prefetch_Handler
Abort_Handler: B Abort_Handler
NOP
IRQ_Handler: B IRQ_Handler
FIQ_Handler: B FIQ_Handler