汇编实验教案8学时.docx
- 文档编号:30533708
- 上传时间:2023-08-16
- 格式:DOCX
- 页数:25
- 大小:244.08KB
汇编实验教案8学时.docx
《汇编实验教案8学时.docx》由会员分享,可在线阅读,更多相关《汇编实验教案8学时.docx(25页珍藏版)》请在冰豆网上搜索。
汇编实验教案8学时
攀枝花学院
PanzhihuaUniversity
教案
2010~2011学年度第一学期
课程名称汇编语言课程实验
学时(学分)8学时(0.5学分)
适用班级
授课教师
教师职务
教学单位计算机学院
教务处制
实验教案(首页)
实验课程名称
汇编语言课程实验
实验学时
8
□独立设课
□非独立设课
实验课类别
1.基础□2.专业基础□3.专业□4.其它□
任课教师
职称
授课对象
年级:
专业:
班级:
□本科
□专科
教材
和
主要参考资料
[1]《汇编语言程序设计》.张志明.重庆大学出版社.1997
[2]《IBM-PC汇编语言及程序设计实验教程》.沈美明.清华大学出版社.2001
[3]《汇编语言程序设计》.吴向军.高等教育出版社.2002
[4]《IBM-PC汇编语言及程序设计》.沈美明.清华大学出版社.2001
[5]《汇编语言程序设计》.钱晓捷.电子工业出版社.2000
教学目的和
教学要求
本课程是计算机科学与技术专业的专业基础课程《汇编语言》的实验课,是汇编语言课程的重要组成部分。
学生通过编写源程序、汇编、连接、运行程序以及跟踪、调试程序的上机实验在能深入理解微型计算机的运行控制机制和存储器分配等基本原理,真正掌握汇编语言程序设计的基本技能,为后继课程的学习和实际应用能力的提高打下坚实的基础。
教学重点和
教学难点
教学重点:
实验的原理、方法及masm、debug等软件工具的使用。
教学难点:
具体实验步骤(算法设计与实现)和结果分析、处理(程序调试)。
教学进程安排
课次
实验项目(实验内容)
学时
备注
1
DEBUG编程与调试
2
2
分支程序设计实验
2
3
循环程序设计实验
2
4
用汇编语言实现学生成绩统计分析
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的主要命令
1显示与修改寄存器
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
2)e 地址字节值表
功能:
用值表中的值替换从“地址”开始的内存单元内容
例:
d1af5:
0
e1af5:
0123456
d1af5:
0
f 范围字节值表
功能:
用值表中的值填充指定范围的内存单元内容,其中范围通常是1)中的后两种格式。
例:
d1af5:
0100
f1af5:
0100l2012345
d1af5:
0100
d1af5:
0
f1af5:
0f‘abcdef’
d1af5:
0
3编程与调试命令
1)a [地址]
功能:
输入汇编指令
例:
eds:
200‘abcd$’
;从地址ds:
200输入字符串‘abcd’,以‘$’为结束字符.
dds:
200
a100
输入以下命令
movdx,200
movah,9
int21;调用9号功能显示“字符串”。
“字符串”的起始地址为ds:
200
int20;结束程序
2)u [范围]
功能:
反汇编,显示机器码所对应的汇编指令
例:
u100
3)g [=起始地址][断点地址]
功能:
从当前地点开始执行,到终点结束
●如未指定起始地址则从当前的cs:
ip指示的地址开始执行。
●如未指定断点地址,到终点结束。
例:
g=100;显示字符“abcd”
4)t [=地址][正整数]
功能:
跟踪执行。
从指定地址开始执行‘正整数’条指令,若缺省‘正整数’,表示执行一条指令,若两项都缺省,表示从当前CS:
IP指示地址开始执行一条指令。
5)P命令
p [=地址][正整数]
功能:
其使用方式与t命令相同,但不进入子程序调用或软中断
例:
p=100
p
p
三、汇编语言程序上机过程。
1、建立汇编语言程序源文件。
可使用任何一个文本编辑器(如EDIT.com,写字板,word软件)编辑源文件,源文件的扩展名通常取为.asm。
例:
在屏幕上显示字符串‘hello,world.’
参考实例:
stack1segmentstack;
dw256dup(?
)
stack1ends
data1segment
msgdb'hello,word$'
data1ends
code1segment
assumecs:
code1,ds:
data1,ss:
stack1
start:
movax,data1
movds,ax
movdx,offsetmsg
movah,9
int21h
movah,4ch
int21h;终止程序的执行,返回dos
code1ends
endstart
2、汇编源文件,形成目标文件。
1)打开windows命令窗口(参见实验一)
2)进入masm程序的安装目录。
(通常为c:
\masm)
例:
cdc:
\masm;cd命令为dos操作系统的命令
3)汇编文件
在dos命令窗口中可键入命令:
masm
若无错,则形成.OBJ目标文件和.LST列表文件。
可用Dir命令(dos操作系统的命令)查看。
4)列表文件的使用
列表文件可以用文本编辑器打开。
若源文件有语法错误,据错误提示(可以在列表文件中查找),返回步骤1,修改源文件。
下面给出列表文件实例:
0000stack1segmentstack
00000100[dw256dup(?
)
?
?
?
?
]
0200stack1ends
0000data1segment
000068656C6C6F2C77msgdb'hello,world.$'
6F726C642E24
datt1ends
t2.ASM(7):
errorA2000:
Blocknestingerror
0000code1segment'code'
assumecs:
code1,ds:
data1,ss:
stack1
0000start:
0000B8----Rmovax,data1
00038ED8movds,ax
0005BA0000Rmovdx,offsetmsg
0008B409movah,9
000ACD21int21h
000CB400movah,4c00h
t2.ASM(16):
errorA2050:
Valueoutofrange
000ECD21int21h
0010code1ends
endstart
SegmentsandGroups:
NameLengthAlignCombineClass
CODE1.............0010PARANONE'CODE'
DATA1.............000DPARANONE
STACK1.............0200PARASTACK
Symbols:
NameTypeValueAttr
MSG..............LBYTE0000DATA1
START.............LNEAR0000CODE1
@FILENAME...........TEXTt2
19SourceLines
19TotalLines
8Symbols
50254+416098Bytessymbolspacefree
0WarningErrors
3SevereErrors
三、形成可执行文件。
在dos命令窗口中可键入命令:
LINK
若有错,据错误提示,返回步骤1,修改错误。
若无错,则形成.EXE可执行文件。
可用Dir命令(dos操作系统的命令)查看。
四、运行程序
在命令窗口中键入可执行文件名,即可执行该程序。
五、调试程序
运行结果不对,需调试程序,查找原因。
1)返回步骤1查看源文件,查找错误,修改源文件。
2)若无法通过查看源文件找出错误,可在DEBUG下调试.EXE文件,找出错误之处,再返回步骤1。
用debug调试可执行程序如下:
1启动debug,同时装入可执行文件。
Debug可执行文件名
2查看程序。
Ucs:
0;代码段由系统自动初始化,段地址在cs,起始偏移量在ip
与源程序对照可知,程序装入后,数据段data1的段地址为13fd。
先用D命令查看偏移量为0开始的13个单元,即字符串msg的内容。
3运行程序。
可用G、P、T命令。
实验报告要求:
1、实验目的和实验内容。
2、简述debug的常用命令R、D、E、A、U、T、P、G的功能。
(举例说明)
3、汇编、连接、调试时产生的错误,其原因及解决办法。
实验教案
课题(项目)名称:
分支程序设计实验
计划学时:
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是字类型。
要求:
●输入源程序,汇编、连接直到没有错误。
●进入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、
data1segment
xdw9
ydw?
data1ends
code1segment
assumecs:
code1,ds:
data1
start:
movax,data1
movds,ax
movax,x
cmpax,0
jgecase23
addax,10
jmpresult
case23:
cmpax,10
jgcase3
movbx,30
imulbx
jmpresult
case3:
subax,9
result:
movy,ax
movah,4ch
int21h
code1ends
endstart
●输入源程序,汇编、连接直到没有错误参见(实验二)。
●进入debug,运行程序,查看运行后y的值是否正确。
(1).打开windows命令窗口(参见实验一)
(2)启动debug,同时装入可执行文件。
例:
debugt31.exe;t31.exe为例6.6汇编、连接后得到的可执行文件
(3)查看数据段的内容。
a.通过u命令查看程序,获知数据段的段地址。
Ucs:
0;查看代码段
与源程序对照可知,程序装入后,数据段data1的段地址为13DD。
b.用D命令查看数据段。
D13DD:
0
与源程序对照可知,x的偏移量为0,类型为字,因此,从逻辑地址13DD:
0000开始的两个字节“0900”,按照高高低低的原则组合为字“0009”,即为x的值。
Y的偏移量为2,类型为字,从逻辑地址13DD:
0000开始的两个字节“0000”,即为y的值。
C.运行程序,查看结果。
由于x为9,y=30x,。
用G命令运行程序:
g=cs:
0。
查看结果:
d13DD:
0
结果在y中,值010E(十六进制数),即270。
●改变x的值,再运行程序,查看y运行结果是否正确。
a.将x改为-1,y=x+10,结果为9。
例:
E13DD:
0FFFF;X类型为字,-1的十六位补码ffffh。
用G命令运行程序:
g=cs:
0。
查看结果:
d13DD:
0
结果在y中,值0009(十六进制数),即9。
b.将x的值改为15,y=x-9,结果为6。
实验教案
课题(项目)名称:
循环程序设计实验
计划学时:
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、假设有一个以data为首地址的字缓冲区,其缓冲区的大小在第一个字中,编写一个程序,求出该缓冲区数值的最大值和最小值,并分别存入di和si中。
要求:
●输入源程序,汇编、连接直到没有错误。
●进入debug,运行程序,查看运行后si、di是否正确。
2、从键盘上输入任意字符串(以回车作为结束标志),按其中字符在ASCII表中的顺序排序。
要求:
●输入源程序,汇编、连接直到没有错误。
●运行程序,输入字符,查看字符串显示后的排序是否正确。
实验报告要求:
实验报告要求书写整齐,步骤完整,实验报告格式如下:
1、[实验目的]
2、[实验设备]
3、[实验步骤(方法)]
4、[实验内容]
4)说明程序的功能、结构,画出程序框图。
5)写出源程序清单(加适当的注释)。
6)调试说明。
包括上机调试的情况、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。
5、[实验结果(结论)]
参考实例
1、
data1segment
datadw6,-1,2,9,-2,5,8
data1ends
code1segment
assumecs:
code1,ds:
data1
start:
movax,data1
movds,ax
movcx,data
jcxzexit
leabx,data+2
movdi,[bx]
movsi,[bx];初始化di,si的值
again:
movax,[bx]
cmpdi,ax
jgenext1
movdi,ax
next1:
cmpsi,ax
jlenext2
movsi,ax
next2:
addbx,2
loopagain
exit:
movah,4ch
int21h
code1ends
endstart
提示:
执行结束指令后会恢复si、di原来的值,应使用g命令设置断点,避免执行结束指令。
G=cs:
00026;0026是结束指令的偏移量,设置为断点。
si=fffe,即-2
di=0009,即9。
实验教案
课题(项目)名称:
用汇编语言实现学生成绩统计分析
计划学时:
4学时
实验类型:
1.演示性□2.验证性□3.综合性□4.设计性√5.其它□
授课日期:
年月日
第周星期第节
实验目的:
培养学生综合应用所学知识对典型问题的设计解决能力。
通过实验,培养学生利用汇编语言解决实际问题的能力。
通过实验,掌握以下知识点:
1、掌握程序的基本结构:
顺序、分支、循环。
2、掌握子程序设计
3、掌握DOS功能调用
4、掌握综合程序的编制及调试方法。
实验设备:
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)。
实验内容:
编制一个程序,统计低于60分,60~69分,70~79分,80~89分,90~99分和100分的人数,并输出显示统计结果。
1、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编 实验 教案 学时