步骤及效果如下:
Step1: 打开MDK集成开发环境,新建工程,选择目标设备为S3C2410A,不要添加Startup Code到工程,因为我们这里要自己写汇编程序。

Step2:配置工程选项,如下所示。


Step3: 新建一个汇编文件,注意后缀为s或S,保存并添加到工程,再在该文件输入如下汇编代码。

Step4: 编译,并确认没有Error。

Step5: 进入Debug模式,可以在左边栏查看寄存器及其值,以及ARM当前工作模式等信息,接着单步运行程序,可以看到相关寄存器的值发生变化,也可以打开memory窗口查看内存情况。

上图的详细说明如下:
①、当程序运行到“b .”时,可以发现R2值为0x3,R1值为0x2,R0值为0x1,因为程序就是执行了加法运算,符合我们的预期。(ps:指令“b .”相当于C语言的“while(1)”)
②、PC是程序计数器,指向即将读取的指令,可以看出这里是4字节对齐,说明当前处于ARM状态,而不是Thumb状态。
③、说明ARM启动后处于SVC管理模式。
④、“mov r0, #1”汇编为“E3A00001”,并且对比内存情况发现,数据的低位保存在内存的低地址,即小端模式(Little-Endian)。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删
武汉格发信息技术有限公司,格发许可优化管理系统可以帮你评估贵公司软件许可的真实需求,再低成本合规性管理软件许可,帮助贵司提高软件投资回报率,为软件采购、使用提供科学决策依据。支持的软件有: CAD,CAE,PDM,PLM,Catia,Ugnx, AutoCAD, Pro/E, Solidworks ,Hyperworks, Protel,CAXA,OpenWorks LandMark,MATLAB,Enovia,Winchill,TeamCenter,MathCAD,Ansys, Abaqus,ls-dyna, Fluent, MSC,Bentley,License,UG,ug,catia,Dassault Systèmes,AutoDesk,Altair,autocad,PTC,SolidWorks,Ansys,Siemens PLM Software,Paradigm,Mathworks,Borland,AVEVA,ESRI,hP,Solibri,Progman,Leica,Cadence,IBM,SIMULIA,Citrix,Sybase,Schlumberger,MSC Products...