汇编语言上机过程以及调试

上传人:wt****50 文档编号:35184508 上传时间:2018-03-11 格式:DOC 页数:9 大小:42KB
返回 下载 相关 举报
汇编语言上机过程以及调试_第1页
第1页 / 共9页
汇编语言上机过程以及调试_第2页
第2页 / 共9页
汇编语言上机过程以及调试_第3页
第3页 / 共9页
汇编语言上机过程以及调试_第4页
第4页 / 共9页
汇编语言上机过程以及调试_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《汇编语言上机过程以及调试》由会员分享,可在线阅读,更多相关《汇编语言上机过程以及调试(9页珍藏版)》请在金锄头文库上搜索。

1、一、预习内容 1. 工具软件MASM、LINK的使用 2. 常用DEBUG命令的使用: G,D,R,T,U,Q 3. 完整程序设计方法的格式。 二、目的要求 1. 掌握常用工具软件MASM、LINK的使用 2. 掌握常用DEBUG命令: G,D,R,T,U,Q 能灵活使用这 些命令调试程序 3. 掌握完整程序设计方法的格式,能正确书写数据段, 代码段等。 三、实验内容 比较两个字符串string1和string2所含的字符是否相 同,如果相同则显示Match否则显示No match.请读 程序,并将程序补充完整。 DSEG SEGMENT string1 db Move the cursor

2、backward. string2 db Move the cursor backward. mess1 db Match.,13,10,$ mess2 db No match.,13,10,$DSEG ENDS CSEG SEGMENT assume cs:CSEG, ds:DSEG, es:DSEG, MAIN PROC FAR start: mov ax, dseg mov ds, ax mov es, ax lea si ,string1 cld repz cmpsb jz match lea dx,mess2 jmp short disp match: lea dx,mess1 di

3、sp: mov ah,09hint 21h mov ax, 4c00h int 21h MAIN ENDP CSEG ENDS end start 实验步骤: 1)用文字编辑工具(记事本或EDIT)将源程序输入完 整后保存在c:masm615下,注意保存时将文件扩展名改为. asm(如lab1.asm)。 2)打开桌面的“命令提示符” 程序进入dos命令操作, 先用cd masm615 命令改变路经,接着用 ”masm + 文件名”(如 masm lab1,这里文件名可以不带扩展名) 对源文件 进行汇编,产生.obj文件和.LST文件。若汇编时提示有错, 用文字编辑工具修改源程序后重新汇编,直

4、至通过。 3)用 ”link + 文件名” (如 link lab1) 将.obj文 件连接成可执行的.exe文件(lab1.exe)。4)在DOS状态下直接运行link产生的.exe文件(如 lab1),即在屏幕上显示Match. 5)用debug调试程序,熟悉debug命令的使用: (1)打 debug lab1.exe 进入debug 控制,显示提示符 _ 。 (2)用命令g(运行命令)执行程序,可得与步骤4相同的 结果,也可用T(追踪命令)命令逐条运行这些指令,每运 行一行检查并记录有关寄存器及IP的变化情况,并注意标 志位有无变化。 (3)用命令u(反汇编命令)检查键入的程序并记录,

5、特 别注意左边的机器码和指令地址。如果一条u命令没有显 示完全,可以再次输入u命令,该命令会紧接着上一个命 令的输出继续显示。 (4)用命令g+地址设置断点,如g06,表示将断点设 置在代码段的偏移地址为06h的指令前,并执行到该断点 前。其中,命令中的地址项可以从上条命令u的运行结果 获得。 (5)用命令r(显示和修改某个指定寄存器内容)查看各 寄存器的情况。(6)用命令d(显示内存单元内容的命令),d0查看数据 段的情况,0表示从偏移地址0开始,也可以指定其他偏移 地址值。 (7)用命令e(修改内存单元内容的命令) e+地址 的方式修改数据区的字符串,其中地址指需要修改的 数据段内存单元偏

6、移地址,可根据上条d0命令获得。如 e29 表示从偏移地址 29h开始修改数据。试用此命令将数 据段变量string1的内容修改为Move the cursor forward. (8)再次用命令g执行程序,查看执行结果。 (9)用命令q退出debug,如果在上述步骤中碰到异常, 可以先用q命令退出后再进入调试。 四、实验报告或作业 1分析程序,画出程序流程图 2汇编,连接及调试时产生的错误,其原因及解决办 法。 3思考: 1) 上述实验中用 e修改数据段的内容,是否改变原文 件lab1.asm的内容?2) 用单步执行命令t运行程序, 运行到mov ax, 4c00h, int 21h指令后,

7、cs和ip寄存器内容前后有何变 化,产生变化的原因是什么? 附:DEBUG 使用: 1打 DEBUG 进入 DEBUG,显示提示符 _ 。 2退出DEBUG命令:Q 3显示内存命令:D 起始地址 结束地址 4修改内存命令:E 起始地址,连续修改打空格键。打 回车键退出E命令。 5检查寄存器命令:R 标志位显示 1 0 CF CY NC ZF ZR NZ SF NG PL AF AC NA OF OV NV PF PE PODF DN UP IF EI DI 6修改寄存器命令:R 寄存器名 7小汇编命令:A 起始地址,不输入指令打回车键退出 A命令。 8反汇编命令:U 起始地址 结束地址 9文件

8、命名命令:N 盘号:文件名 10读文件命令:L 内存地址 11写文件命令:W 内存地址 10读扇区命令:L 内存地址 盘号(0-A:,1-B:) 扇区 号扇区数 11写扇区命令:W 内存地址 盘号 扇区号 扇区数 12运行命令:G=起始地址 结束(断点)地址 13单步命令:T=起始地址 运行指令数,进入子程序内 部。 14单步命令:P=起始地址 运行指令数,不进入子程序 内部。 15内存搬家命令:M 起始地址 结束地址 目的地址标志位显示 1 0 CF CY NC ZF ZR NZ SF NG PL AF AC NA OF OV NV PF PE PO DF DN UP IF EI DI 6修改寄存器命令:R 寄存器名 7小汇编命令:A 起始地址,不输入指令打回车键退出 A命令。 8反汇编命令:U 起始地址 结束地址 9文件命名命令:N 盘号:文件名 10读文件命令:L 内存地址 11写文件命令:W 内存地址 10读扇区命令:L 内存地址 盘号(0-A:,1-B:) 扇区 号扇区数11写扇区命令:W 内存地址 盘号 扇区号 扇区数 12运行命令:G=起始地址 结束(断点)地址 13单步命令:T=起始地址 运行指令数,进入子程序内 部。 14单步命令:P=起始地址 运行指令数,不进入子程序 内部。 15内存搬家命令:M 起始地址 结束地址目的地址

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号