1、汇编语言程序设计实验,主讲:马冰,汇编语言上机操作步骤,汇编语言上机所必备的软件汇编语言上机操作过程,汇编语言上机所必备的软件,操作系统:DOS 或 CCDOS编辑程序:行编辑程序EDLIN.COM WPS 全屏编辑程序 Q.EXE汇编程序 ASM.EXE或宏汇编程序 MASM.EXE链接程序 LINK.EXE交叉参考程序 CIB.EXE调试程序 DEBUBG.COM,汇编语言上机操作过程,汇编语言源程序,建立和修改源文件,汇编源文件,连接程序,测试程序,是否有错?,是,否,是否有错?,运行程序,否,是,1、建立和修改源程序文件,在编写出汇编语言源程序且经过静态检查准备在PC机上运行时,首先应
2、在磁盘上建立源文件(源文件的扩展名必须为.ASM)。可调用系统提供的任意一种编辑程序在磁盘上建立与修改源文件。,2、汇编源文件,源文件(.ASM)必须先由宏汇编程序(MASM)把它汇编(翻译)为目标文件,才能在计算机上运行,当计算机运行宏汇编程序(MASM)时,能够自动地将汇编语言源程序文件翻译成可以在计算机上运行的目标程序文件(.OBJ)。,3、连接,为了使目标程序文件能在特定的环境下执行,经汇编后产生的目标文件需要经过连接生成可执行文件(.EXE),才能在机器上启动运行。连接过程通过调用连接程序来完成。,4、调试,程序必须经过试运行和调试才能正式投入运行,若程序没有错误,前三步完成后即可运
3、行程序。若程序有错误,或直接在编辑状态下修改程序,或调用DEBUG程序进行调试,检查目标程序中的错误,发现错误后可以通过编辑程序修改源程序,也可以直接修改内存单元中的目标代码。,5、运行程序,在程序没有错误的情况下就可以运行程序了。这里只要在DOS状态下键入目标程序(可执行)文件名即可。,例:,stack segment stack db 20 dup(0)stack endsdata segment buf dbhow are you!$data endscode segment assume cs:code,ds:data,ss:stackstart:move ax,data move d
4、s,ax lea dx,buf mov ah,9 Int 21h mov ah,4ch Int 21hcode ends end start,步骤:,按照图示步骤,首先用编辑程序在磁盘上建立源文件,现假定已经建立了源文件,文件名为EXAM.ASM,然后对该文件进行汇编、连接、运行。各命令形式如下:(假定所有文件都在A盘上)AMASM EXAM;ALINK EXAM;AEXAM显示如下结果:how are you!,命令行后面带分号,使该命令不对用户提问而直接生成目标代码文件(.OBJ)或可执行文件(.EXE)。,调试程序DEBUG的主要命令,DEBUG是为了汇编语言编程而设计的一种调试工具,它
5、通过单步、设置断点等方式为汇编语言的天使提供了非常有效的手段。,DEBUG程序的调用,在DOS的提示符下,键入下列命令便可将DEBUG程序投入运行:A DEBUG d:path filename.ext parml parm2其中d:是磁盘驱动器号,path是路径,.ext是被调试的文件名,parml和parm2是运行被调试文件时所需要的命令参数。在DEBUG程序投入运行后,屏幕上出现提示符“”,此时就可以用DEBUG命令来调试程序了。,实验一、熟悉上机步骤实验,实验目的,熟悉在PC 机上建立、汇编、调试和运行8086汇编语言程序的过程。学习数据传送和算术运算指令的用法。熟悉键盘输入数据和屏幕
6、显示数据的程序设计方法。,实验内容,选择任一种编辑程序,建立以下源程序,程序名自定,但扩展名必须是.ASM。,stack segment stack db 20 dup(0)stack endsdata segment buf dbhow are you!$data endscode segment assume cs:code,ds:data,ss:stackstart:move ax,data move ds,ax lea dx,buf mov ah,9 Int 21h mov ah,4ch Int 21hcode ends end start,实验内容,2、运行MASM,汇编以上程序,产
7、生扩展名为.OBJ的文件。源文件必须先由宏汇编程序(MASM)把它汇编为目标文件,才能在计算机上运行。汇编后,可在盘上建立三个文件:(1)目标程序文件(.OBJ),在此文件中只是一个浮动地址的目标程序;(2)汇编列表文件(.LST),它是源程序行、目标代码及其在段内存放的偏移地址的一个对照表,当源程序出现语法错误时,MASM在错误行后面给出错误性质提示,该表可打印出来供检查用;(3)符号交叉参考文件(.CRF),在汇编时,汇编程序对是否建立这些文件,以及这些文件使用什么名字进行提问。,AMASMsource filename.ASM:EXAM object filename EXAM.OBJ:source listing NUL.LIST:EXAM cross reference NUL.CRF:EXAM,实验内容,在DOS状态下,键入MASM,就会调入宏汇编程序。调入之后,首先显示版本号,然后一次提出四次询问,如下所示:,实验内容,3、运行LINK,连接程序,生成扩展名为.EXE的文件。,ALINKobject modules.OBJ:EXAM run file EXAM.EXE:list file NUL.MAP:EXAM libraries.lib:,实验内容,4、运行生成扩展名为.EXE的可执行文件,观察结果。,A EXAM,THE END!,