




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2.12.1编写汇编语言程序编写汇编语言程序 一一、目的、目的(1) (1) 学会使用学会使用ADS1.2ADS1.2编写、调试汇编语言程序。编写、调试汇编语言程序。(2) (2) 掌握使用存取指令读写存储器的编程方法掌握使用存取指令读写存储器的编程方法。 (3) (3) 掌握单掌握单步步、分段、分段调试调试程序方法程序方法。二二、步骤、步骤 1 1、启动启动IDEIDE在Windows XP系统窗口,执行【所有程序】|ARM Developer Suite V1.2|CodeWarrior For ARM Developer Suite 菜单命令,打开IDE二二、步骤、步骤 2 2、创建工程
2、创建工程在IDE窗口中,执行File|New菜单命令,打开New窗口(A)选择工程模板:ARM Executable Image(B)为工程起一个名字: Exp2101(C)配置工程存储路径:G:Exp2101(D)击【确定】按钮,完成工程创建工程模板工程模板工程名工程名工程存储路径工程存储路径二二、步骤、步骤 2 2、创建工程创建工程工程管理窗口文件选项卡文件选项卡链接顺序选项卡链接顺序选项卡生成目标生成目标二二、步骤、步骤 2 2、创建工程创建工程工程管理存储路径内容数据目录数据目录工程文件工程文件输出文件存储路径输出文件存储路径二二、步骤、步骤 3 3、创建源程序文件创建源程序文件在ID
3、E窗口中,执行File|New菜单命令,打开New窗口(A)选择File选项卡(B)为文件起一个名字: Exp.s(C)配置文件存储路径为工程存储路径:G:Exp2101(D)使Add to Project复选框处于选中状态(E)Targes栏所有选项全部选中(F)击【确定】按钮,文件创建完毕二二、步骤、步骤 3 3、创建源程序文件创建源程序文件源程序管理窗口二二、步骤、步骤 4 4、编写源程序编写源程序(A)在源程序管理窗口中,录入源程序代码(B)执行菜单命令File|Save保存源程序二二、步骤、步骤 5 5、配置编译链接参数配置编译链接参数(A)执行菜单命令Edit|DebugRel S
4、ettings,打开DebugRel Settings窗口(B)在DebugRel Settings Panels中,选中Linker|ARM Linker项二二、步骤、步骤 (5)(5)、配置编译链接参数、配置编译链接参数(A)在ARM Linker子窗口中,选择Output选项卡(B)在Simple Image组内 RO Base配置为0 x40000000; RW Base配置为0 x40003000;二二、步骤、步骤 5 5、配置编译链接参数配置编译链接参数(A)在ARM Linker子窗口中,选择Options选项卡(B)在Image Entry Point录入0 x40000000
5、点击按钮OK,参数配置完毕二二、步骤、步骤 6 6、编译程序编译程序(A)打开源程序编辑窗口二二、步骤、步骤 6 6、编译程序编译程序(B)执行菜单Project|Compile命令,对源程序编译操作,如有错误,显示如下错误信息窗口(C)错误信息:Unknown opcode操作码错误,AREA Exp101,code,READONLY指令前无空格(D)点击错误信息位置,进入源程序编辑窗口,将指令AREA Exp101,code,READONLY指令前加入空格一条错误信息一条错误信息错误信息位置错误信息位置二二、步骤、步骤 6 6、编译程序编译程序(E)重复执行编译、改错操作,直至编译无错误。
6、(F)编译Exp.s后生成的输出文件Exp.o保存到 C:Exp101Exp101_DataDebugObjectCode中,如下图输出文件输出文件生成目标生成目标二二、步骤、步骤 7 7、链接程序、链接程序(A)执行Project|Make菜单命令,进行链接操作,生成的可执行镜像文件保存在C:Exp101Exp101_DataDebug目录下,如下图:镜像文件镜像文件生成目标生成目标二二、步骤、步骤 8 8、调试程序、调试程序(1)启动Axd Debugger软件:IDE工程管理窗口中,鼠标点击按钮,启动调试器,如下图:PC要调试的源程序文件名要调试的源程序文件名二二、步骤、步骤 8 8、调
7、试程序、调试程序(2)显示观察窗口(A)执行Processor Views|Registers菜单命令,显示寄存器窗口,如下图:(B)执行Processor Views|Memory菜单命令,显示存储器窗口,如下图:寄存器窗口寄存器窗口存储器窗口存储器窗口二二、步骤、步骤 8 8、调试程序、调试程序(2)调试语句MOV R1,R1,ROR #8(A)程序指针PC定位到指令MOV R1,R1,ROR #8在指令MOV R1,R1,ROR #8前设置一断点u 鼠标移到行号12前空白处,双击鼠标, 则在指令MOV R1,R1,ROR #8前设置一断点,如下图:要调试的语句要调试的语句断点断点二二、步
8、骤、步骤 8 8、调试程序、调试程序(2)调试语句MOV R1,R1,ROR #8(B)程序指针PC定位到指令MOV R1,R1,ROR #8运行程序,使程序指针PC指向指令MOV R1,R1,ROR #8u 鼠标点击按钮 ,执行程序,程序指针PC指向指令MOV R1,R1,ROR #8程序指针、断点程序指针、断点要调试的语句要调试的语句二二、步骤、步骤 8 8、调试程序、调试程序(2)调试语句MOV R1,R1,ROR #8(C) 指令MOV R1,R1,ROR #8调试前已知条件u 查看寄存器窗口 ,得知R1=0 x11223344u 指令MOV R1,R1,ROR #8功能为,R1循环右
9、移个二进制位,理论结果R1=0 x44112233寄存器名称寄存器名称寄存器值寄存器值二二、步骤、步骤 8 8、调试程序、调试程序(2)调试语句MOV R1,R1,ROR #8(D) 单步执行指令MOV R1,R1,ROR #8鼠标单击按钮 ,单步执行指令MOV R1,R1,ROR #8,如下如断点断点程序指针程序指针PC要调试的指令要调试的指令二二、步骤、步骤 8 8、调试程序、调试程序(2)调试语句MOV R1,R1,ROR #8(E) 指令MOV R1,R1,ROR #8执行后,R1的结果查看寄存器窗口,得知R1=0 x44112233(F)结果分析:调试结果与指令执行理论结果一致寄存器
10、名称寄存器名称R1寄存器的值寄存器的值二二、步骤、步骤 8 8、调试程序、调试程序(3)调试语句STR R1,R0 (A)程序指针PC定位到指令STR R1,R0 在指令STR R1,R0前设置一断点u 鼠标移到行号13前空白处,双击鼠标, 则在指令STR R1,R0前设置一断点,如下图:断点断点要调试的语句要调试的语句二二、步骤、步骤 8 8、调试程序、调试程序(2)调试语句STR R1,R0 (B)程序指针PC定位到指令STR R1,R0运行程序,使程序指针PC指向指令STR R1,R0u 鼠标点击按钮 ,执行程序,程序指针PC指向指令STR R1,R0 要调试的语句要调试的语句程序指针、
11、断点程序指针、断点二二、步骤、步骤 8 8、调试程序、调试程序(2)调试语句STR R1,R0(C) 指令STR R1,R0调试前已知条件u 查看寄存器窗口 ,得知R1=0 x44112233,R0=0 x40003000u 指令STR R1,R0功能为,R1存入字存储单元0 x40003000,即 0 x40003000=0 x44112233寄存器名称寄存器名称寄存器值寄存器值二二、步骤、步骤 8 8、调试程序、调试程序(2)调试语句STR R1,R0(D) 单步执行指令STR R1,R0鼠标单击按钮 ,单步执行指令STR R1,R0 ,如下如存储区起始地址存储区起始地址存储单元存储单元0
12、 x40003000=0 x44112233二二、步骤、步骤 8 8、调试程序、调试程序(2)调试语句STR R1,R0(E) 指令STR R1,R0执行后,R1=0 x44112233 R0=0 x40003000查看存储器窗口,得知0 x40003000= 0 x44112233(F)结果分析:调试结果与指令执行理论结果一致存储区起始地址存储区起始地址存储单元存储单元0 x40003000=0 x44112233二二、步骤、步骤 8 8、调试程序、调试程序(4)调试程序段:包括行号为12、13、14指令的程序段(A)在程序段第一条指令前设置断点在指令MOV R1,R1,ROR #8前设置一
13、断点u 鼠标移到行号12前空白处,双击鼠标, 则在指令MOV R1,R1,ROR #8前设置一断点,如下图:要调试的语句要调试的语句断点:程序段第一条指令断点:程序段第一条指令二二、步骤、步骤 8 8、调试程序、调试程序(4)调试程序段:包括行号为12、13、14指令的程序段(B)程序指针PC定位到程序段第一条指令处运行程序,使程序指针PC指向指令MOV R1,R1,ROR #8u 鼠标点击按钮 ,执行程序,程序指针PC指向指令MOV R1,R1,ROR #8程序指针指向程序段第一条指令程序指针指向程序段第一条指令要调试的程序段要调试的程序段二二、步骤、步骤 8 8、调试程序、调试程序(4)调
14、试程序段:包括行号为12、13、14指令的程序段(C)删除指令MOV R1,R1,ROR #8前的断点鼠标移到行号12前空白处,双击鼠标, 则在指令MOV R1,R1,ROR #8前断点删除,如下图:程序指针指向程序段第一条指令程序指针指向程序段第一条指令要调试的程序段要调试的程序段二二、步骤、步骤 8 8、调试程序、调试程序(4)调试程序段:包含行号为12、13、14指令的程序段(D)在程序段随后一条语句设置另一断点在指令B L前设置一断点u 鼠标移到行号15前空白处,双击鼠标, 则在指令BL前设置一断点,如下图:断点:程序段随后指令断点:程序段随后指令PC:程序段第一条指令程序段第一条指令二二、步骤、步骤 8 8、调试程序、调试程序(4)调试程序段:包含行号为12、13、14指令的程序段(E)程序段调试前已知条件u 查看寄存器窗口 ,得知R1=0 x11223322,R0=0 x40003000u 程序段功能为,R1循环右移个二进制位,即R1=0 x44112233 将R1的值存入以R0值为存储器地址的字单元中,即0 x40003000=0 x44112233 读入以R0值为存储器地址的字单元值,存
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 运动防护用具的体育产业与体育科技创新考核试卷
- 豆类油料和薯类种植行业的种植管理与病虫害防控考核试卷
- 木片在能源储存技术的应用考核试卷
- 船舶修理中的绿色维修与资源回收考核试卷
- 航空公司航班机组人员协作与沟通考核试卷
- 液化石油气生产过程安全监测考核试卷
- 绢纺和丝织的产业政策支持与产业发展分析考核试卷
- 临床医学专业认识
- 文艺演出项目签约演职人员合同范本:排练与演出规定
- 国际房地产投资风险评估与咨询合同
- 《滑翔伞模拟器控制系统的设计与研究》
- 公务员考试题库及答案4000题
- 专题04 物质结构与性质-2024年高考真题和模拟题化学分类汇编(解析版)
- 林权投资合作协议范本
- 新疆大学答辩模板课件模板
- 中小学-珍爱生命 远离毒品-课件
- 2024年四川省广元市中考物理试题(含解析)
- 特种设备使用管理规则(TSG08-2017)
- 2023年山东烟台中考满分作文《这一路风光真好》6
- 人教版九年级上册英语单词表
- 12SS508 混凝土模块式室外给水管道附属构筑物
评论
0/150
提交评论