首页 > 编程知识 正文

微机原理实验指导书20190627答案,汇编语言程序设计pdf

时间:2023-05-06 13:05:02 阅读:116131 作者:2648

汇编语言源程序编写完成后,计算机上的操作过程分为编辑、汇编、连接、运行调试四个阶段(图1 )。

一、实验环境汇编语言编程的实验环境如下。

硬件环境

一台迷你电脑(英特尔x86系列处理器)。 软件环境

Windows98/2000/XP操作系统

任何文本编辑器(EDIT、NOTEPAD、UltraEDIT等)。

汇编程序(MASM.EXE或TASM.EXE )。

调试器(DEBUG.EXE或TD.EXE )。

建议文本编辑器为EDIT或NOTEPAD,汇编器为MASM.EXE,链接器为LINK.EXE,调试器为TD.EXE。 二、上机实验步骤1 .确定源程序存储目录,源程序存储的目录名称为ASM (或MASM ),放在c驱动器或d驱动器的根目录下。 如果您从未创建此目录,请使用以下方法创建:

在Windows资源管理器中找到c驱动器的根目录,在c驱动器的根目录窗口中单击鼠标右键,然后从显示的菜单中选择“新建”“文件夹”,将新创建的文件夹命名为ASM。

请将MASM.EXE、LINK.EXE、DENUG.EXE和TD.EXE复制到此目录中。

2 .编辑ASM源程序阶段的主要任务如下。

1 )输入源程序;

2 )修改源程序。

大多数文本编辑软件可用于输入和修改汇编语言源程序,如记事本(Notepad )、写字板(Word )和命令行方式的Edit。 请注意,在使用写字板、Word软件时,必须以“纯文本”格式保存源程序文件,才能进行汇编。 的源文件必须具有“. ASM”或“. TXT”扩展名。 使用“. ASM”扩展名可简化后续操作。

如图1所示,进行了两次编辑过程,分别生成了汇编语言源程序文件MYPRG1.ASM和MYPRG2.ASM。

要创建ASM源程序,请使用EDIT或NOTEPAD文本编辑器。 以下示例说明如何使用EDIT文本编辑器创建ASM源程序。 要创建的源程序的名称为HELLO.ASM。 使用记事本创建ASM源程序的步骤也是如此。

在Windows中,点击桌面左下角的“开始”按钮选择“运行”在弹出窗口中输入“EDIT.COM C:ASMHELLO.ASM”,在画面中编辑EDIT 如图2所示。

窗口的标题行显示EDIT程序的完整路径名。 标题行正下方是菜单行,窗口底部的行是提示行。 可以通过按Alt键激活菜单,然后按箭头键选择菜单项,也可以直接在Alt-F中打开“文件”菜单,在Alt-E中打开“编辑”菜单,等等。

输入带有源文件名(c: ) ASM (hello.ASM )的EDIT命令时,该文件名将显示在“编辑”窗口的顶部。 如果在输入EDIT命令时未指定源文件名,则“编辑”窗口中将显示" UNTITLED1"。 这表示文件还没有名称。 在这种情况下,保存源文件时,系统会提示您输入要保存的源程序的文件名。

编辑窗口以输入源程序。 EDIT是全屏编辑程序,因此可以使用箭头键将光标悬停在“编辑”窗口中的任意位置。 EDIT的编辑键和功能键符合Windows标准,但在此不进行说明。

源程序输入完成后,用Alt-F打开File菜单,用其中的Save功能保存文件。 如果在输入EDIT命令时未指定源程序的文件名,将显示" Save as "窗口,并输入要保存的源程序的路径和文件名。 在本示例中,C:ASMHELLO.ASM )。

汇编语言源文件的扩展名最好是. ASM。 这对以后的装配和连接操作非常有用。

在MASM.EXE中创建了源文件HELLO.ASM,该源文件用于汇编源程序并生成OBJ目标文件,然后使用汇编器来汇编源程序文件,并在汇编后生成二进制目标文件() 具体操作如下。

优秀的高山:在Windows中操作

在资源管理器中打开源目录C:ASM,然后将HELLO.ASM拖到MASM.EXE程序图标上。

mydzjy:在DOS命令提示符窗口中操作

选择“开始”“程序”“附件”“命令提示符”,打开DOS命令提示符窗口,使用CD命令导航到源程序目录,然后输入MASM命令。

I:C:滑架返回C:CD ASM滑架返回C:ASMMASM HELLO.ASM滑架返回操作时的屏幕显示如图3所示。

无论使用哪种方法,在进入MASM程序时,都会提示您输入“目标文件名”(Object filename ),默认的目标文件名将显示在方括号中。 例如,建议输入目标文件的完整路径名,如c:(ASM ) hello.obj (enter )。 后面的两个提示是可选的,直接按回车。 如果在打开MASM程序时未指定源文件名,则MASM程序将提示您首先输入源文件名“Source filename”。 在此输入源文件名HELLO.ASM返回,执行与上述操作完全相同的操作。

如果没有错误,MA

SM就会在当前目录下建立一个HELLO.OBJ文件(名字与源文件名相同,只是扩展名不同)。如果源文件有错误,MASM会指出错误的行号和错误的原因。图4是在汇编过程中检查出两个错误的例子。在这个例子中,可以看到源程序的错误类型有两类:

警告错误(Warning Errors)。警告错误不影响程序的运行,但可能会得出错误的结果。此例中无警告错误。 严重错误(Severe Errors)。对于严重错误,MASM将无法生成OBJ文件。此例中有两个严重错误。

在错误信息中,园括号里的数字为有错误的行号(在此例中,两个错误分别出现在第6行和第9行),后面给出了错误类型及具体错误原因。如果出现了严重错误,你必须重新进入EDIT编辑器,根据错误的行号和错误原因来改正源程序中的错误,直到汇编没有错为止。

注意,汇编程序只能指出程序的语法错误,而无法指出程序逻辑的错误。

4.用LINK.EXE产生EXE可执行文件

在上一步骤中,汇编程序产生的是二进制目标文件(OBJ文件),并不是可执行文件,要想使我们编制的程序能够运行,还必须用连接程序(LINK.EXE)把OBJ文件转换为可执行的EXE文件。具体操作如下:

优秀的高山:在Windows中操作
用资源管理器打开源程序目录C:ASM,把HELLO.OBJ拖到LINK.EXE程序图标上。
mydzjy:在DOS命令提示符窗口中操作
选择“开始”→“程序”→“附件”→“命令提示符”,打开DOS命令提示符窗口,然后用CD命令转到源程序目录下,接着输入LINK命令:

I:>C:<回车>C:>CD ASM<回车>C:ASM>LINK HELLO.OBJ<回车>

操作时的屏幕显示如图5所示。

不管用以上二个方法中的哪个方法,进入LINK 程序后,都会提示让你输入可执行文件名(Run file),并在方括号中显示默认的可执行文件名,建议输入可执行文件的完整路径名,如:C:ASMHELLO.EXE〈回车〉。后面的两个提示为可选项,直接按回车。注意,若打开LINK程序时未给出OBJ文件名,则LINK程序会首先提示让你输入OBJ文件名(Object Modules),此时输入OBJ文件名HELLO.OBJ并回车,然后进行的操作与上面完全相同。

如果没有错误,LINK就会建立一个HELLO.EXE文件。如果OBJ文件有错误,LINK会指出错误的原因。对于无堆栈警告(Warning:NO STACK segment)信息,可以不予理睬,它不影响程序的执行。如链接时有其它错误。须检查修改源程序,重新汇编、连接,直到正确。

5.执行程序

建立了HELLO.EXE文件后,就可以直接在DOS下运行此程序,如下所示:

C:>HELLO〈回车〉 C:>

程序运行结束后,返回DOS。如果运行结果正确,那么程序运行结束时结果会直接显示在屏幕上。如果程序不显示结果,我们如何知道程序是否正确呢?例如,这里的HELLO.EXE程序并未显示出结果,所以我们不知道程序执行的结果是否正确。这时,我们就要使用TD.EXE调试工具来查看运行结果。此外,大部分程序必须经过调试阶段才能纠正程序执行中的错误,调试程序时也要使用TD.EXE。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。