![汇编语言的编程步骤与调试方法_第1页](http://file4.renrendoc.com/view/a71c864ff4d537ab20d4672cf96b8b89/a71c864ff4d537ab20d4672cf96b8b891.gif)
![汇编语言的编程步骤与调试方法_第2页](http://file4.renrendoc.com/view/a71c864ff4d537ab20d4672cf96b8b89/a71c864ff4d537ab20d4672cf96b8b892.gif)
![汇编语言的编程步骤与调试方法_第3页](http://file4.renrendoc.com/view/a71c864ff4d537ab20d4672cf96b8b89/a71c864ff4d537ab20d4672cf96b8b893.gif)
![汇编语言的编程步骤与调试方法_第4页](http://file4.renrendoc.com/view/a71c864ff4d537ab20d4672cf96b8b89/a71c864ff4d537ab20d4672cf96b8b894.gif)
![汇编语言的编程步骤与调试方法_第5页](http://file4.renrendoc.com/view/a71c864ff4d537ab20d4672cf96b8b89/a71c864ff4d537ab20d4672cf96b8b895.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、汇编语言的编程步骤与调试方法一、 汇编源程序的建立使用工具(1)EDIT, 记事本等文本编辑软件,编辑源程序,保存为.asm 文件;(2)ASM,MASM汇编程序,对源程序进行汇编,生成.obj文件 -精品文档,你值得期待目标文件,以及调试用 .LST-列表文件和 .CRF-交叉引用表;(3)Link连接程序,对使用的目标文件和库文件进行连接,生成 .exe 文件,同时调试用 .map-地址映像文件;如果源程序无语法错误,上述三步将生成可运行的.exe 文件,如果运行结果无误,则完成对汇编程序的编程,如果运行后结果存在错误,需要进行调试。(4)Debug 调试程序,对 .exe 文件进行调试,
2、修改,直到程序正确。使用文本编辑软件*.asm汇编程序*.obj连接程序*.exe图 3 目标程序生成步骤图编程过程(1)用文本编辑软件,编写扩展名为.asm 的源文程序文件。(2)用汇编程序对编好的源文件进行汇编。命令行:masm *.asm 如果源文件中存在语法错误, 则汇编程序将指出错误类型及位置,可根据这些信息重新编辑源文件,直至无语法错误,汇编后,将生成指定名称的目标文件 .obj。使用 MASM50 汇编程序进行汇编,输入命令行masm 或者 masm *.asm 后,根据提示,输入文件名,在汇编没有错误的情况下,如屏幕所示:汇编程序可生成三个文件,*.obj , *.lst 和*
3、.crf 。*.obj- 目标文件,用于连接生成可执行文件;*.lst- 列表文件 (可选 ),汇编语言汇编的机器语言与汇编语言对照表,可用于调试;*.crf- 交叉引用文件(可选),给出了用户定义的所有符号和对每个符号定义、引用的行号。(3)目标文件的连接命令行: link*.obj*.obj*.lib连接程序,将多个目标程序及库文件,连接生成可执行的 *.exe 文件 ,同时可选择生成 *.map 文件。*.map-地址映像文件,给出内存地址分配的有关信息。下图所示屏幕,为 Link 连接两个目标文件,没有错误的情况下,生成 *.exe 文件。(4)执行程序执行 *.exe 文件,观察程序
4、运行结果,如果存在错误,需要进行调试。调试工具 DEBUG 是针对汇编语言程序设计的一种调试工具,熟练使用 DEBUG 有助于汇编语言程序员对于逻辑错误的调试。二、 汇编程序的调试调试方法DEBUG 工具的调试文件为可执行文件*.exe,在命令行窗口或者DOS 环境下,执行 DEBUG 命令:命令行Debug *.exe DEBUG 程序如果正常启动,提示符显示为“ _”。出现“ _”提示符后,根据调试的需要,输入正确的 Debug 命令,根据显示内容,修改源文件。2. 常用 DEBUG 命令D 命令 -内存显示命令命令格式格式 1: D 起始地址 格式 2: D 起始地址 结束地址 |L 字
5、节数 调试程序的过程中,可利用该命令可以察看指定范围的内存单元的内容,以确定对内存单元的修改是否正确。可以通过命令指定显示的范围 (格式 2),在不指定显示长度的情况下 (格式1),将显示从起始地址开始 128 个字节的内容,如果只写 D,则将从上一个 D 命令显示结束的位置开始显示 128 个字节。在内存显示过程中,可以通过“Ctrl+S ”键暂停,按任意键可继续显示,以防显示过快,来不及察看,另外可以通过“ Ctrl+S”中止该命令的执行。(2)E 命令 -数据编辑命令命令格式格式 1:E起始地址 列表 格式 2:E 起始地址 调试过程中,为了进行程序测试,需要改变内存或者寄存器的数据,此
6、时利用 DEBUG的 E 命令可以非常方便的进行修改。命令可以使用一连串的数据对内存连续地址单元进行修改,此时使用格式1,也可以修改某个地址单元的内容后,按“空格”键,继续修改高地址 单元内容。使用 E 命令时,可以同时配合使用D 命令,以确定是否正确的完成了对内存单元的修改。(3)U 命令 -反汇编命令命令格式: U 起始地址 结束地址 调试过程中,可以利用 U 命令将目标程序反汇编为汇编程序,以观察汇编指令的存放位置, 汇编指令的正确与否, 对于无源码的目标程序, 还可以利用反汇编获取目标程序的源码 。(4)G 命令 -运行程序命令命令格式: G=起始地址 第一断点地址 第二断点地址 .调
7、试过程中,可以利用 G 命令运行程序,观察结果的正确性, 或者设置断点,利用 G 命令观察程序运行到某一位置是否正确, G 命令最多可以设置 10 个断点,当程序运行置断点时, 停止执行, 并显示当前所有寄存器和标志位的内容, 以及下一条将要执行的指令。如果 G 命令无起始地址,则从当前CS:IP 内容为开始运行。(5)T 命令 -单步执行命令命令格式格式 1:T= 地址 格式 2:T= 地址 执行指令的条数 调试过程中,可以利用该指令单步执行,从指定地址开始(如果不指定,则从 CS:IP 开始),执行一条指令(格式1)或者执行指定条数的指令(格式2)后,停止执行,并显示当前所有寄存器和标志位
8、的内容。(6)R 命令 -寄存器访问命令命令格式格式 1:R格式 2:R 寄存器名称一般汇编程序中,会频繁的使用寄存器,使用R 命令,可以在调试程序的过程中方便的进行寄存器内容的察看。如果不指定寄存器名称 (格式 1),则显示所有寄存器和标志位内容;可以指定需要察看的寄存器的名称(格式 2),只显示察看寄存器的内容。(7)Q 命令 -Debug 退出命令命令格式QDebug 程序使用结束后, 使用该命令退出Debug。3.Debug 使用举例右边所示的汇编源程序 EX.asm,在命令行窗口中输入下面命令行:MASM EX.asm 对 EX.asm 文件进行汇编, 如果没有语法错误, 则生成 E
9、X.obj 目标文件。输入下面命令行:LINK EX.obj对目标文件进行连接,连接后得到可执行文件EX.exe,使用Debug 对该程序进行调试。( 1) U-反汇编对 EX.exe 反汇编后,得到代码段地址和指令的对应图如下图所示。从反汇编的结果,可以得到指令在代码段的偏移地址,常与 T 命令和 G 命令联合使用,使程序运行到固定的位置,查看结果。同时,可以从反汇编代码中看出,变量会被汇编为直接寻址方式,使用变量在数据段内的有效地址表示。2) T-单步每按一下 T,执行一步,屏幕上显示执行指令后, 通用寄存器、 段寄存器和标志位的状态,下一条指令,以及指令中操作的存储器寻址方式对应的内存单
10、元的内容。3) G-执行根据反汇编的情况, G 断点常设置在正常返回 DOS 调用之前,即 MOV AH,4CH ,执行后,可以通过查看寄存器内容,或者 D 命令查看内存地址单元的内容,检查程序的运行是否正常。( 4) D-查看存储器内容查看数据段内容,屏幕上会给出128 字节存储单元的内容,每行为顺序的个字节。因此可以根据定义的数据段中,变量的偏移量,查看运行结果。( 5) E-修改存储单元内容在调试程序的过程中,如果要修改变量的值,可以使用E 命令。如下图所示,通过 E 命令修改了程序变量 X 和 Y 的值,而不需要修改程序,因此 E 命令为程序调试提供了方便。春天的风是有灵性的,依着风的
11、眼眸,我看到了那一株株桃花读信的倩影,在桃林深处,紫色的青藤爬满那个小屋。我的小城,桃花已然开成海,像是一场粉色的春梦。是否,可以赴一场最美的相逢,如是,便不负曾经许下的约定。守住心底最美风景,是一种风度,一种期望。让心,随花儿轻舞,让梦,随蝶儿翩跹。等一缕柔风载满诗意,落满我的小院,好想,牵着你的手走在花开的路上,临摹又一个春的相遇,陌上绿色蔓延,让深情的诗句落在眉弯,打开灵魂的心门,写尽情意绵绵。春雨如丝,暖了一季寒凉露出温暖,碧水映蓝天,云朵儿似乎摸到嫩草尖尖。花香十里,暗香盈袖。我们微笑着,不说话,就十分美好。生命里,总会有一些人,渐行渐远,偶尔想起,却只是停留在文字里,那一抹淡淡的回
12、忆。唯有春天,总那么诗意明亮,始终晕染着眉心,让涩涩的往事随风,让一些温暖的记忆温润着心房。珍惜眼前的幸福,紧握手中的暖意,面向青山绿水,一路微笑,一路行走情暖山水间,盈一份诗意于心田,以云的飘逸轻盈过往,以花的姿态拥馨香满怀,以文字的杯盏邀约一曲细水长流。煮一壶春色,与时光对语。窗前,柳枝儿发芽,玉兰含苞,时光一直绕指馨香。心念如这徐徐春风,荡漾成一片流云。春落人间,一种别样的景致美了心境,所有的疲惫与忧愁也随风而去,微笑着面对生活,用内心的那份热情,那份纯真来经营生活,来创造幸福,何尝不是一种快乐?我的流年,风过,红尘入画;雨落,缠绵入心。行走在春天里,眼里满是明丽与清澈,一树一树的花开,细碎而芬芳;一片一片的绿地,静美而清新。嗅着阳光的味道,把自己置身于大自然中,真好!只要心足够明媚,纵然有小小的阴霾也无妨。我们一路走来,沿途总会有美丽的风景。于喧嚣红尘中,守着心灵的一方山水。不乱于心,不困于情,不畏将来,不念过往。春水初生,耐人寻味。春雨如丝,丝如媚,绵绵的不着一点儿声息。踏春而去,不知是哪一处的红尘山水在心间已布满了雅致,心如花开,一朵娴雅的光阴,柔软着眼角的笑意,置身于安暖的春天,一抹浅喜,一怀深爱。一颗心,便在另一颗心的相随里静
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 书记员辞职申请书
- 续签合同范本
- 2024-2025学年四川省泸州市高一上学期1月期末英语试题(解析版)
- 电子商务运营实战经验分享引领商业变革的先锋
- 电子技术在提升教育质量中的贡献
- 班级中学生的个性管理与教育
- 生态农业的科技创新与发展趋势
- 低保救助申请书
- 中国仪表保温(护)箱项目投资可行性研究报告
- 电子商务中价格感知与消费者满意度的关系研究
- 2025年菏泽医学专科学校高职单招职业技能测试近5年常考版参考题库含答案解析
- 成都四川成都简阳市简城街道便民服务和智慧蓉城运行中心招聘综治巡防队员10人笔试历年参考题库附带答案详解
- 2025-2030全球废弃食用油 (UCO) 转化为可持续航空燃料 (SAF) 的催化剂行业调研及趋势分析报告
- 山东省临沂市兰山区2024-2025学年七年级上学期期末考试生物试卷(含答案)
- 2025年环卫工作计划
- 湖北省武汉市2024-2025学年度高三元月调考英语试题(含答案无听力音频有听力原文)
- 品质巡检培训课件
- 一年级下册劳动《变色鱼》课件
- 商务星球版地理八年级下册全册教案
- 天津市河西区2024-2025学年四年级(上)期末语文试卷(含答案)
- 2023青岛版数学三年级下册全册教案
评论
0/150
提交评论