第三章 嵌入式软件开发基础实验2.ppt
上传人:sy****28 上传时间:2024-09-15 格式:PPT 页数:90 大小:1.2MB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

第三章 嵌入式软件开发基础实验2.ppt

第三章嵌入式软件开发基础实验2.ppt

预览

免费试读已结束,剩余 80 页请下载文档后查看

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第三章嵌入式软件基础实验3.1ARM汇编指令实验一3.1.1实验目的3.1.2实验设备3.1.3实验内容3.1.4实验原理3.1.5实验操作步骤打开memory窗口,观察地址0x8000~0x801f的内容,与地址0xff0~0xfff的内容。单步执行程序并观察和记录寄存器与memory的值变化。结合实验内容和相关资料,观察程序运行,通过实验加深理解ARM指令的使用。实验B步骤:在工作区窗口工作区名称上击右键,点击“AddNewProjecttoWorkspace…”。参照实验A和实验参考程序,建立工程asm1_b。参照实验A的步骤完成目标代码的生成与调试。理解和掌握实验后,完成实验练习题。.equx,45/*x=45*/.equy,64/*y=64*/.equstack_top,0x1000/*定义栈顶*/.global_start.text_start:/*程序代码开始标志*/movsp,#stack_topmovr0,#xstrr0,[sp]/*R0的值保存到堆栈*/movr0,#yldrr1,[sp]/*取堆栈中的数到R1*/ADDr0,r0,r1STRr0,[sp]stop:bstop/*程序结束,进入死循环*/.end.equx,45/*x=45*/.equy,64/*y=64*/.equz,87/*z=87*/.equstack_top,0x1000/*定义栈顶*/.globalstart.text_start:/*codestart*/movr0,#x/*putxvalueintoR0*/movr0,r0,lsl#8/*R0=R0<<8*/movr1,#y/*putyvalueintoR1*/addr2,r0,r1,lsr#1/*R2=(R1>>1)+R0*/movsp,#0x1000strr2,[sp]movr0,#z/*putzvalueintoR0*/andr0,r0,#0xFF/*getlow8bitfromR0*/movr1,#y/*putyvalueintoR1*/addr2,r0,r1,lsr#1/*R2=(R1>>1)+R0*/ldrr0,[sp]movr1,#0x01orrr0,r0,r1movr1,r2addr2,r0,r1,lsr#1/*R2=(R1>>1)+R0*/stop:bstop/*endthecode,cycling*/.end编写程序循环对r4~r11进行累加8次赋值。r4~r11起始值为1~8,加操作后把r4~r11的内容放入sp栈中,sp初始值设置为0x800.最后把r4~r11用ldmfd指令清空赋值为零要求:建立工程并配置工程,编写程序并编译、调试通过。3.2ARM汇编指令实验二3.2.1实验目的3.2.2实验设备3.2.3实验内容3.2.4实验原理3.2.5实验操作步骤打开memory窗口,观察地址0x8054~0x80A0的内容,与地址0x80A4~0x80f0的内容;单步执行程序并观察和记录寄存器与memory的值变化,注意观察步骤8里面的地址的内容变化,当执行STMFD,LDMFD,LDMIA和STMIA指令的时候,注意观察其后面参数所指的地址段或寄存器段的内容变化;结合实验内容和相关资料,观察程序运行,通过实验加深理解ARM指令的使用;理解和掌握实验后,完成实验练习题。实验B步骤ARM汇编指令实验一和实验参考程序,在当前工作区添加新工程asm1_b。参照实验A的步骤完成目标代码的生成与调试。理解和掌握实验后,完成实验练习题。.global_start.text.equnum,20_start:ldrr0,=srcldrr1,=dstmovr2,#nummovsp,#0x400blockcopy:movsr3,r2,LSR#3beqcopywordsstmfdsp!,{r4-r11}octcopy:ldmiar0!,{r4-r11}stmiar1!,{r4-r11}subsr3,r3,#1bneoctcopyldmfdsp!,{r4-r11}c