汇编语言程序设计指导书
- 格式:docx
- 大小:40.63 KB
- 文档页数:6
《汇编语言程序设计》实验指导书
适用于计科专业2004级
前 言
汇编语言实验主要使学生掌握DEBUG调试程序中各命令的利用方式,掌握MASM汇编程序对汇编语言源程序进行编辑、汇编、连接、装配、调试到运行的上机操作方式。本实验大纲要求学生熟练掌握汇编语言指令练习、顺序程序设计、分支程序设计、循环程序设计和子程序设计。
一、 实验环境
汇编语言程序设计的实验环境如下:
1. 硬件环境
微型运算机(Intel x86系列CPU)一台
2. 软件环境
Windows98/2000/XP操作系统
任意一种文本编辑器(EDIT、NOTEPAD(记事本)、UltraEDIT等)
汇编程序(或)
连接程序(或)
调试程序(或)
文本编辑器建议利用EDIT或NOTEPAD,汇编程序建议利用,连接程序建议利用,调试程序建议利用。
二、 上机实验步骤
1.肯定源程序的寄存目录
建议源程序寄存的目录名为ASM(或MASM),并放在C盘或D盘的根目录下。
2.成立ASM源程序
成立ASM源程序能够利用EDIT或NOTEPAD(记事本)文本编辑器。
注意,汇编语言源程序文件的扩展名最好起名为.ASM,如此能给后面的汇编和连接操作带来专门大的方便。
3.用汇编源程序产生OBJ目标文件
源文件成立后,要利用汇编程序对源程序文件汇编,汇编后产生二进制的目标文件(.OBJ文件)。具体操作如下:
方式一:在Windows中操作
用资源管理器打开源程序目录C:\ASM,把拖到程序图标上。
方式二:在DOS命令提示符窗口中操作
选择“开始”→“程序”→“附件”→“命令提示符”,打开DOS命令提示符窗口,然后用CD命令转到源程序目录下,接着输入MASM命令:
D:>C:<回车>
C:>CD \ASM<回车>
C:\ASM>MASM <回车>
操作时的屏幕显示如图1所示。
图1 在DOS命令提示符窗口中进行汇编
无论用以上二个方式中的哪个方式,进入MASM程序后,都会提示让你输入目标文件名(Object filename),并在方括号中显示默许的目标文件名,建议输入目标文件的完整路径名,如:C:\ASM\〈回车〉。后面的两个提示为可选项,直接按回车。注意,若打开MASM程序时未给出源程序名,则MASM程序会第一提示让你输入源程序文件名(Source filename),现在输入源程序文件名并回车,然后进行的操作与上面完全相同。
图2 有错误的汇编进程例子
若是没有错误,MASM就会在当前目录下成立一个文件(名字与源文件名相同,只是扩展名不同)。若是源文件有错误,MASM会指犯错误的行号和错误的原因。图2是在汇编进程中检查出两个错误的例子。在那个例子中,能够看到源程序的错误类型有两类:
警告错误(Warning Errors)。警告错误不影响程序的运行,但可能会得犯错误的结果。此例中无警告错误。
严峻错误(Severe Errors)。对于严峻错误,MASM将无法生成OBJ文件。此例中有两个严峻错误。
在错误信息中,园括号里的数字为有错误的行号(在此例中,两个错误别离出此刻第6行和第9行),后面给出了错误类型及具体错误原因。若是出现了严峻错误,你必需从头进入EDIT编辑器,按照错误的行号和错误原因来更正源程序中的错误,直到汇编没有错为止。
注意,汇编程序只能指出程序的语法错误,而无法指出程序逻辑的错误。
4.用产生EXE可执行文件
在上一步骤中,汇编程序产生的是二进制目标文件(OBJ文件),并非是可执行文件,要想使咱们编制的程序能够运行,还必需用连接程序()把OBJ文件转换为可执行的EXE文件。具体操作如下:
方式一:在Windows中操作
用资源管理器打开源程序目录C:\ASM,把拖到程序图标上。
方式二:在DOS命令提示符窗口中操作
选择“开始”→“程序”→“附件”→“命令提示符”,打开DOS命令提示符窗口,然后用CD命令转到源程序目录下,接着输入LINK命令:
D:>C:<回车>
C:>CD \ASM<回车>
C:\ASM>LINK <回车>
操作时的屏幕显示如图3所示。
图3 把OBJ文件连接成可执行文件
无论用以上二个方式中的哪个方式,进入LINK程序后,都会提示让你输入可执行文件名(Run file),并在方括号中显示默许的可执行文件名,建议输入可执行文件的完整路径名,如:C:\ASM\〈回车〉。后面的两个提示为可选项,直接按回车。注意,若打开LINK程序时未给出OBJ文件名,则LINK程序会第一提示让你输入OBJ文件名(Object Modules),现在输入OBJ文件名并回车,然后进行的操作与上面完全相同。
若是没有错误,LINK就会成立一个文件。若是OBJ文件有错误,LINK会指犯错误的原因。对于无堆栈警告(Warning:NO STACK segment)信息,能够不予理会,它不影响程序的执行。如链接时有其它错误。须检查修改源程序,从头汇编、连接,直到正确。
5.执行程序
成立了文件后,就可以够直接在DOS下运行此程序,如下所示:
C:>HELLO〈回车〉
C:>
程序运行结束后,返回DOS。若是运行结果正确,那么程序运行结束时结果会直接显示在屏幕上。若是程序不显示结果,咱们如何明白程序是不是正确呢?例如,这里的程序并未显示出结果,所以咱们不明白程序执行的结果是不是正确。这时,咱们就要利用或DEBUG调试工具来查看运行结果。另外,大部份程序必需通过调试阶段才能纠正程序执行中的错误,调试程序时也要利用或DEBUG。
三、实验项目
实验一 汇编语言实验操作方式(3学时)
(一) 验目的及要求 1. 熟悉汇编语言的工作环境。
2. 通过一个简单的程序,了解如何汇编、连接和运行一个汇编语言程序。
3. 了解DEBUG调试程序中常常利用命令的利用方式。
4. 通过运行简单的汇编语言程序 ,初步了解汇编语言源程序的特点。
5. 依照要求书写实验报告。
(二)实验内容
利用编辑程序,输入教材146页例程序或《IBM-PC汇编语言程序设计实验教程》中的例程序后进行汇编、连接和运行,并利用DEBUG中的各类命令进行调试。
(三)实验预备
1. 认真阅读本实验指导。
2. 预习教材146页第四章第四末节的内容。
3. 预习《IBM-PC汇编语言程序设计实验教程》中附录五的内容。
实验二 汇编语言指令练习(3学时)
(一)实验目的及要求
1. 熟悉汇编语言中的数据传送、算术运算等指令。
2. 了解指令不同的寻址方式,注意规定或限制利用的寄放器。如:双操作数指令中,源操作数和目的操作数的地址不能同时为存储器地址,段跨越前缀不能利用CS,操作对象是地址仍是地址中的内容,指令隐含利用的寄放器等。
3. 利用DEBUG中的相关命令调试程序及查看结果。
4. 依照要求书写实验报告。
(二) 实验内容
大体题:编写一个完整的程序放在代码段中,要求把数据段中的AUGEND和附加段中的ADDEND相加,并把结果寄存在数据段中的SUM中。其中AUGEND、ADDEND、SUM均为双精度数。
选做题:……………………….
(三) 实验预备
1.认真阅读本实验指导。
2.按实验内容要求,理解相关指令,编写程序。
实验三 顺序程序设计(2学时)
(一)实验目的及要求 1.掌握汇编语言程序设计的大体步骤,分析问题,确立算法,画出程序流程图.说明流程图中各功能的含义和表示法。分派工作单元和存储空间。按照程序算法流程选择适合的指令编制汇编语言源程序。本实验着重掌握顺序程序的设计大体方式和技能。
2.程序要结构化:简明、易读和易调试;执行速度较快;占用存储空间较少。
3.利用DEBUG中的相关命令调试程序及查看结果。
4.依照要求书写实验报告。
(二)实验内容
大体题:编一段程序,在内存中自SQTAB地址开始的持续10个单元中寄存0-9的平方值。要求利用简单的查表法NUM单元中指定数(0-9)的平方值,并将所求平方值存入RESULT单元。
选做题:……………………….
(三)实验预备
1.认真阅读本实验指导。
2.按实验内容要求,肯定算法,画流程图,编写程序。
实验四 ……
(一)实验目的及要求
…………..
(二)实验内容
…………………..
(三)实验预备
……….
………………………………….