汇编实验教程1、2、3、4次

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实验教案(首页)实验课程名称汇编语言课程实验实验学时8□独立设课□非独立设课实验课类别1.基础□2.专业基础□3.专业□4.其它□任课教师职称授课对象年级:专业:班级:□本科□专科教材和主要参考资料[1]《汇编语言程序设计》.张志明.重庆大学出版社.1997[2]《IBM-PC汇编语言及程序设计实验教程》.沈美明.清华大学出版社.2001[3]《汇编语言程序设计》.吴向军.高等教育出版社.2002[4]《IBM-PC汇编语言及程序设计》.沈美明.清华大学出版社.2001[5]《汇编语言程序设计》.钱晓捷.电子工业出版社.2000教学目的和教学要求本课程是计算机科学与技术专业的专业基础课程《汇编语言》的实验课,是汇编语言课程的重要组成部分。学生通过编写源程序、汇编、连接、运行程序以及跟踪、调试程序的上机实验在能深入理解微型计算机的运行控制机制和存储器分配等基本原理,真正掌握汇编语言程序设计的基本技能,为后继课程的学习和实际应用能力的提高打下坚实的基础。教学重点和教学难点教学重点:实验的原理、方法及masm、debug等软件工具的使用。教学难点:具体实验步骤(算法设计与实现)和结果分析、处理(程序调试)。教学进程安排课次实验项目(实验内容)学时备注1DEBUG编程与调试22分支程序设计实验23循环程序设计实验24用汇编语言实现学生成绩统计分析2第页2实验教案课题(项目)名称:DEBUG编程与调试计划学时:2学时实验类型:1.演示性□2.验证性√3.综合性□4.设计性□5.其它□授课日期:年月日第周星期第节实验目的:1、掌握DEBUG常用命令。2、掌握汇编语言程序的一般格式3、掌握使用masm编译和连接汇编语言程序。4、学习如何用debug进行程序调试实验设备:1、硬件环境微型计算机(Intelx86系列CPU)一台2、软件环境Windows98/2000/XP操作系统、调试程序DEBUG.EXE。实验内容:一、DEBUG程序的调用1、打开windows命令窗口打开windows命令窗口的步骤:选择“开始”→”运行”(1)在windows98/xp环境中,输入“command”命令;(2)在windows2000环境中,输入“cmd”命令;2、启动debug在命令窗口中启动DEBUG,可键入命令:DEBUG文件名[参数]在DEBUG启动成功后,将出现提示符“-”,此时就可用DEBUG命令来调试程序。关于使用命令的几点说明:命令是单个字母出现提示符“-”后才能输入命令,在按“回车”键后,该命令才开始执行。DEBUG把键入的数字均看成十六进制数二、DEBUG的主要命令第页31显示与修改寄存器1)r[寄存器名]功能:显示和修改寄存器内容例:-r;显示所有寄存器的内容-rax;显示和修改某个寄存器内容2)rf功能:显示和修改标志位2、显示与修改寄存器存储单元1)d[范围]功能:显示指定范围内的内存单元内容。其中范围的格式:①d起始位置从开始位置显示128个字节的内容例:d1381:100说明:xxxx:yyyy——前面4位十六进制数是内存单元的段地址,后面4位十六进制数是内存单元的偏移量;中间显示区域是内存单元(十六进制的形式),每行显示16个字节的内容;右边以“字符”显示内存单元值。②d起始位置结束位置从开始位置显示到结束位置例:dds:0f③d起始位置L长度从从开始位置显示指定长度的内容例:dds:0L10第页42)e地址字节值表功能:用值表中的值替换从“地址”开始的内存单元内容例:d1af5:0e1af5:0123456d1af5:0f范围字节值表功能:用值表中的值填充指定范围的内存单元内容,其中范围通常是1)中的后两种格式。例:d1af5:0100f1af5:0100l2012345d1af5:0100d1af5:0f1af5:0f‘abcdef’d1af5:0第页53编程与调试命令1)a[地址]功能:输入汇编指令例:eds:200‘abcd$’;从地址ds:200输入字符串‘abcd’,以‘$’为结束字符.dds:200a100输入以下命令movdx,200movah,9int21;调用9号功能显示“字符串”。“字符串”的起始地址为ds:200int20;结束程序2)u[范围]功能:反汇编,显示机器码所对应的汇编指令例:u100第页63)g[=起始地址][断点地址]功能:从当前地点开始执行,到终点结束如未指定起始地址则从当前的cs:ip指示的地址开始执行。如未指定断点地址,到终点结束。例:g=100;显示字符“abcd”4)t[=地址][正整数]功能:跟踪执行。从指定地址开始执行‘正整数’条指令,若缺省‘正整数’,表示执行一条指令,若两项都缺省,表示从当前CS:IP指示地址开始执行一条指令。5)P命令p[=地址][正整数]功能:其使用方式与t命令相同,但不进入子程序调用或软中断例:p=100pp三、汇编语言程序上机过程。第页71、建立汇编语言程序源文件。可使用任何一个文本编辑器(如EDIT.com,写字板,word软件)编辑源文件,源文件的扩展名通常取为.asm。例:在屏幕上显示字符串‘hello,world.’参考实例:stack1segmentstack;dw256dup(?)stack1endsdata1segmentmsgdb'hello,word$'data1endscode1segmentassumecs:code1,ds:data1,ss:stack1start:movax,data1movds,axmovdx,offsetmsgmovah,9int21hmovah,4chint21h;终止程序的执行,返回doscode1endsendstart2、汇编源文件,形成目标文件。1)打开windows命令窗口(参见实验一)2)进入masm程序的安装目录。(通常为c:\masm)例:cdc:\masm;cd命令为dos操作系统的命令3)汇编文件在dos命令窗口中可键入命令:masm第页8若无错,则形成.OBJ目标文件和.LST列表文件。可用Dir命令(dos操作系统的命令)查看。4)列表文件的使用列表文件可以用文本编辑器打开。若源文件有语法错误,据错误提示(可以在列表文件中查找),返回步骤1,修改源文件。下面给出列表文件实例:0000stack1segmentstack00000100[dw256dup(?)????]0200stack1ends0000data1segment000068656C6C6F2C77msgdb'hello,world.$'6F726C642E24datt1endst2.ASM(7):errorA2000:Blocknestingerror0000code1segment'code'assumecs:code1,ds:data1,ss:stack10000start:0000B8----Rmovax,data100038ED8movds,ax0005BA0000Rmovdx,offsetmsg0008B409movah,9000ACD21int21h000CB400movah,4c00ht2.ASM(16):errorA2050:Valueoutofrange数据段段名不一致操作数类型不一致第页9000ECD21int21h0010code1endsendstartSegmentsandGroups:NameLengthAlignCombineClassCODE1.............0010PARANONE'CODE'DATA1.............000DPARANONESTACK1.............0200PARASTACKSymbols:NameTypeValueAttrMSG..............LBYTE0000DATA1START.............LNEAR0000CODE1@FILENAME...........TEXTt219SourceLines19TotalLines8Symbols50254+416098Bytessymbolspacefree0WarningErrors3SevereErrors三、形成可执行文件。在dos命令窗口中可键入命令:LINK若有错,据错误提示,返回步骤1,修改错误。若无错,则形成.EXE可执行文件。可用Dir命令(dos操作系统的命令)查看。第页10四、运行程序在命令窗口中键入可执行文件名,即可执行该程序。五、调试程序运行结果不对,需调试程序,查找原因。1)返回步骤1查看源文件,查找错误,修改源文件。2)若无法通过查看源文件找出错误,可在DEBUG下调试.EXE文件,找出错误之处,再返回步骤1。用debug调试可执行程序如下:①启动debug,同时装入可执行文件。Debug可执行文件名②查看程序。Ucs:0;代码段由系统自动初始化,段地址在cs,起始偏移量在ip与源程序对照可知,程序装入后,数据段data1的段地址为13fd。先用D命令查看偏移量为0开始的13个单元,即字符串msg的内容。第页11③运行程序。可用G、P、T命令。实验报告要求:1、实验目的和实验内容。2、简述debug的常用命令R、D、E、A、U、T、P、G的功能。(举例说明)3、汇编、连接、调试时产生的错误,其原因及解决办法。第页12实验教案课题(项目)名称:分支程序设计实验计划学时:2学时实验类型:1.演示性□2.验证性√3.综合性□4.设计性□5.其它□授课日期:年月日第周星期第节实验目的:1、掌握分支程序的一般结构和设计方法。2、掌握地址表法多分支程序设计的方法。实验设备:1、硬件环境微型计算机(Intelx86系列CPU)一台2、软件环境Windows98/2000/XP操作系统。文本编辑器建议使用EDIT或NOTEPAD,汇编程序建议使用MASM.EXE,连接程序建议使用LINK.EXE,调试程序建议使用DEBUG.EXE。实验步骤:1、建立汇编语言程序源文件。可使用任何一个文本编辑器(如EDIT.com,写字板,word软件)编辑源文件,源文件的扩展名通常取为.asm。2、汇编源文件,形成目标文件。若有错,据错误提示,返回步骤(1)修改错误;若无错,则形成.OBJ目标文件和.LST列表文件。可用Dir命令(dos操作系统的命令)查看。3、形成可执行文件。若有错,据错误提示,返回步骤(1)修改错误。若无错,则形成.EXE可执行文件。可用Dir命令(dos操作系统的命令)查看。4、运行程序在命令窗口中键入可执行文件名,即可执行该程序。5、调试程序运行结果不对,需调试程序,查找原因。返回步骤(1)查看源文件,查找错误,修改源文件。若无法通过查看源文件找出错误,可在DEBUG下调试.EXE文件,找出错误之处,再返回步骤(1)。实验内容:1、编写一程序段,完成下面计算公式,其中变量x、y是字类型。Y=X+10x030x0≤x≤10X-9x0第页13要求:输入源程序,汇编、连接直到没有错误。进入debug,运行程序,查看运行后y的值是否正确。改变x的值(要求测试每一个分支),再运行程序,查看y运行结果是否正确。2、假设内存单元有三个字a、b、c,编写一个程序可判断它们是否能构成一个三角形,若能,输出“yes”,否则,输出“no”。要求:输入源程序,汇编、连接直到没有错误。进入debug,改变a、b、c的值,再运行程序,查看运行结果是否正确。3、编写一个有8个选项的菜单程序,当选中1~7项中的任意一项时,在屏幕上显示出相应的星期一到星期日的英文单词,选中0项时退出程序。实验报告要求:实验报告要求书写整齐,步骤完整,实验报告格式如下:1、[实验目的]2、[实验设备]3、[实验步骤(方法)]4、[实验内容]1)说明程序的功能、结构,画出程序框图。2)写出源程序清单(加适当的注释)。3)调试说明。包括上机调试的情况、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。5、[

1 / 21
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功