资源描述:
《keil4使用方法入门——基于arm9程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、首先创建一个空文件夹来存在工程(Keil不会为我们创建工程文件夹)。Openkeil>project>newuVisionProject>输入工程名称>SAVE在建立的文件夹里新建一个文本文件,格式修改为.s在project窗口中右击SourceGroup1,选择Addfilestosourcegroup1,在弹出的窗口中选中刚才建立的.s文件,然后点击ADD,再点击close弹出的窗口。可以看到project窗口出现了我们添加的.s文件。Flash>configureflashtools….,弹出如图Device选项里可选择要仿真的处理器,我们选择ARM9(littleend
2、)小端。Target选项里可设置ROM/RAM起始地址,这里的起始地址要跟Linker选项里的地址一致。CODEGeneration设置成ARM-mode接下来在.s文件里编写我们的ARM汇编,如下。;在ARM状态下生成由64个整数构成的数组的初始值。;在THUMB状态下将上述数组复制到一个新的地址,并转换成字符数组;再返回ARM状态,计算Thumb状态下所产生数组所有元素值的和。AREAblock,CODE,READONLYNEQU64FIREQU0x01ENTRYstart;送数组入口地址LDRR0,=AMOVR3,#N-1;initcounterLDRR4,=FIR;in
3、itthefirstnumberofAarrayinit64;produce64numbers;CMPR3,#0;BEQinit_finhSTRR4,[R0],#4ADDR4,R4,#1;SUBSR3,R3,#1;递减BPLinit64;循环;init_finhLDRR0,=ALDRR1,=BMOVR3,#N*4-1;initcounterADRLR7,change+1BXR7;处理机状态切换为THUMBCODE16;复制转换change;CMPR3,#0;BEQchange_finhLDRBR2,[R0];读取字节;ADDR2,#65;转换为字符STRBR2,[R1]ADDR
4、0,#1ADDR1,#1SUBSR3,#1BPLchange;change_finhLDRR1,=BMOVR3,#N*4-1ADRR7,sum;状态切换BXR7CODE32sumLDRBR0,[R1],#1;计算和,结果保存在R0中sum_loop;CMPR3,#0;BEQsum_finhLDRBR2,[R1],#1ADDR0,R0,R2SUBSR3,R3,#1BPLsum_loop;sum_finhloopupBloopupAREAdatablock,DATA,READWRITEASPACE64*4BSPACE64*4END保存文件夹,然后build。