汇编语言实验报告1.doc_第1页
汇编语言实验报告1.doc_第2页
汇编语言实验报告1.doc_第3页
汇编语言实验报告1.doc_第4页
汇编语言实验报告1.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

攀枝花学院实验报告实验课程:汇编语言课程实验 实验项目:DEBUG编程与调试 实验日期:2011.11.7 系:计算机学院 班级:10级计本 学号:201010801035一实验目的:1.掌握DEBUG常用命令。2.掌握汇编语言程序的一般格式3.掌握使用masm编译和连接汇编语言程序。4.学习如何用debug进行程序调试二实验设备:1.硬件环境微型计算机(Intel x86系列CPU)一台2.软件环境Windows98/2000/XP操作系统、调试程序DEBUG.EXE。三实验步骤:1.DEBUG程序的调用 打开windows命令窗口选择“开始”运行”在windows98/xp环境中,输入“command”命令,在windows2000环境中,输入“cmd”命令;2.启动debug在命令窗口中启动DEBUG,可键入命令DEBUG 文件名 参数在DEBUG启动成功后,将出现提示符“-”,此时就可用DEBUG命令来调试程序。 关于使用命令的几点说明:l 命令是单个字母l 出现提示符“-”后才能输入命令,在按“回车”键后,该命令才开始执行。l DEBUG把键入的数字均看成十六进制数 2. 汇编语言程序上机过程四实验内容:1.DEBUG的主要命令 (1)显示与修改寄存器1).r寄存器名 功能:显示和修改寄存器内容-r ax;显示和修改某个寄存器内容 2)rf 功能:显示和修改标志位(2) 显示与修改寄存器存储单元1)d范围功能:显示指定范围内的内存单元内容。其中范围的格式:d 起始位置从开始位置显示128个字节的内容例:d 1381:100说明:l xxxx:yyyy前面4位十六进制数是内存单元的段地址,后面4位十六进制数是内存单元的偏移量;l 中间显示区域是内存单元 (十六进制的形式),每行显示16个字节的内容;l 右边以“字符”显示内存单元值。d 起始位置结束位置从开始位置显示到结束位置例:d ds:0 fd 起始位置L长度从从开始位置显示指定长度的内容例:d ds:0 L 102) e地址 字节值表功能:用值表中的值替换从“地址”开始的内存单元内容例:d 1af5:0e 1af5:012 34 56 d 1af5:03)f范围 字节值表功能:用值表中的值填充指定范围的内存单元内容,其中范围通常是1)中的后两种格式。例:d 1af5:0100f 1af5:0100 l 20 1 2 3 4 5d 1af5:0100(3)编程与调试命令1) a地址功能:输入汇编指令例:e ds :200 abcd$;从地址ds:200输入字符串abcd,以$为结束字符.输入以下命令mov dx,200mov ah,9int 21 ;调用9号功能显示“字符串”。“字符串”的起始地址为ds:200int 20 ;结束程序2)u范围 功能:反汇编,显示机器码所对应的汇编指令例:u 1003)g=起始地址 断点地址功能:从当前地点开始执行,到终点结束l 如未指定起始地址则从当前的cs:ip指示的地址开始执行。l 如未指定断点地址,到终点结束。例:g = 100 ;显示字符“abcd”4)t=地址 正整数 功能:跟踪执行。从指定地址开始执行正整数条指令,若缺省正整数,表示执行一条指令,若两项都缺省,表示从当前CS:IP指示地址开始执行一条指令。5)P命令p=地址 正整数 功能:其使用方式与t命令相同,但不进入子程序调用或软中断例:p=100pp2.hello world程序的编写,连接与调试(1)建立汇编语言程序源文件。新建一个文本文档,将名字改为aa.asm,输入如下的源程序:stack1 segment stack;dw 256 dup(?)stack1 ends data1 segment msg db hello,word$data1 ends code1 segment assume cs:code1,ds:data1,ss:stack1start:mov ax,data1mov ds,ax mov dx,offset msgmov ah,9int 21hmov ah,4ch int 21h;终止程序的执行,返回doscode1 ends end start(2) 汇编源文件,形成目标文件。1) 打开windows命令窗口2) 进入masm程序的安装目录。输入cd c:masm ;cd命令为dos操作系统的命令3) 汇编文件在dos命令窗口中可键入命令:masm若无错,则形成.OBJ目标文件和.LST列表文件。可用Dir命令(dos操作系统的命令)查看。4) 列表文件的使用列表文件可以用文本编辑器打开。若源文件有语法错误,据错误提示(可以在列表文件中查找),返回步骤1,修改源文件。下面给出列表文件实例:0000stack1 segment stack 0000 0100dw 256 dup(?) ? 0200stack1 ends 0000data1 segment 0000 68 65 6C 6C 6F 2C 77msg db hello,world.$ 数据段段名不一致 6F 72 6C 64 2E 24datt1 ends t2.ASM(7): error A2000: Block nesting error 0000code1 segment code assume cs:code1,ds:data1,ss:stack1 0000start: 0000 B8 - Rmov ax,data1 0003 8E D8mov ds,ax 0005 BA 0000 Rmov dx,offset msg 0008 B4 09mov ah,9 操作数类型不一致 000A CD 21int 21h 000C B4 00mov ah,4c00h t2.ASM(16): error A2050: Value out of range 000E CD 21int 21h 0010code1 ends end start Segments and Groups: N a m e Length AlignCombine ClassCODE1 . . . . . . . . . . . . . 0010PARANONECODEDATA1 . . . . . . . . . . . . . 000DPARANONESTACK1 . . . . . . . . . . . . . 0200PARASTACKSymbols: N a m e Type Value AttrMSG . . . . . . . . . . . . . . L BYTE0000DATA1START . . . . . . . . . . . . . L NEAR0000CODE1FILENAME . . . . . . . . . . . TEXT t2 19 Source Lines 19 Total Lines 8 Symbols 50254 + 416098 Bytes symbol space free 0 Warning Errors 3 Severe Errors(3)形成可执行文件。在dos命令窗口中可键入命令:LINK 若有错,据错误提示,返回步骤1,修改错误。若无错,则形成.EXE可执行文件。可用Dir命令(dos操作系统的命令)查看。(4)运行程序在命令窗口中键入可执行文件名,即可执行该程序。(5)调试程序运行结果不对,需调试程序,查找原因。1) 返回步骤1查看源文件,查找错误,修改源文件。2) 若无法通过查看源文件找出错误,可在DEBUG下调试.EXE文件,找出错误之处,再返回步骤1。用debug调试可执行程序如下

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论