汇编语言实习指导书X

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

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

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

资源描述

汇编语言程序设计实习指导书编者田晶西北农林科技大学信息工程学院2015年11月汇编语言程序设计实习指导书共20页第1页前言《汇编语言程序设计》是高校计算机专业的一门重要的必修课,而且是非计算机专业学生学习《微机原理与应用》的必要先修课,它是计算机能提供给用户的执行速度最快而又最有效的编程语言,也是能够利用计算机所有硬件特性并能直接控制硬件设备的唯一语言,是进入硬件领域进行计算机控制的一块铺路石。在《汇编语言》的教学实践中,学生普遍感到该课比较难学,主要与该课程的下列特点有关:①《汇编语言》与计算机硬件有关(主要是CPU中寄存器和存储器)。②汇编指令系统指令较多,语法规则多且严格,难学难记。③汇编语言输入/输出功能弱,不直观,程序难以调试。④汇编指令中操作数来源广(寄存器、内存、I/O端口),且不好理解。因此,要学好汇编语言,必须注意一下几点:⑴掌握《汇编语言》中与计算机硬件有关的部分内容(主要是CPU中的寄存器和I/O端口寄存器),特别注意“状态标志寄存器”各个状态位的设置与应用。⑵掌握好CPU的内存管理方法(主要是内存物理地址的形成方法)。⑶掌握好寻址方式(寻找指令中操作数的方法)。⑷掌握汇编程序的结构组成(分段结构)⑸熟练掌握DEBUG调试程序的应用。⑹加强上机实习。《汇编语言》与其它高级语言一样,实践性很强,只有通过上机实习,才能理解这门课的内容,掌握好这门课程序设计方法和技术,为了配合这们课的学习,我们编写了这本实习指导书,希望通过这门课的实践,对掌握汇编语言程序设计方法,提高实验技能,起到抛砖引玉的作用。编者2015年10月汇编语言程序设计实习指导书共20页第2页目录实验一汇编语言程序设计上机步骤---------------------------3实验二DOS子功能调用-------------------------------------14实验三顺序程序设计---------------------------------------15实验四分支程序设计---------------------------------------16实验五循环程序设计---------------------------------------17实验六子程序设计-----------------------------------------18实验七中断处理子程序设计---------------------------------19实验八综合程序设计---------------------------------------20附录动态调试程序DEBUG---------------------------------21汇编语言程序设计实习指导书共20页第3页实验一、汇编语言程序设计上机步骤一、实习目的⑴熟悉汇编程序的上机实习过程。⑵了解汇编程序的基本构成。二、实验环境⑴硬件环境微型计算机(Intelx86系列CPU)1台。⑵软件环境①Windows98/2000/xp操作系统②任一种文本编辑器(EDIT、NOTEPAD(记事本)、写字版、WORD等)③宏汇编程序(MASM.EXE)④连接程序(LINK.EXE)⑤调试程序(DEBUG.EXE或TD.EXE)三、实习内容在计算机上运行汇编语言程序的步骤是:(1)用编辑程序建立汇编语言源程序(.ASM源文件)首先用编辑程序(可用任一种文本编辑程序,如EDIT等)产生汇编语言的源程序(类型为.ASM的源文件)。(2)用MASM程序把汇编语言源程序(.ASM文件)转汇编成汇编目标文件(.OBJ文件)源程序就是用汇编语言的语句编写的程序,它是不能为机器直接识别的,所以要经过汇编程序(MASM)进行翻译。汇编程序的作用就是把源文件转换成二进制代码形式的目标文件(.OBJ文件)。在转换的过程中,汇编程序将对源程序进行扫描,如果源程序中有语法错误,则汇编结束后,汇编程序将指出源程序中的错误,要求用户再次使用编辑程序来修改源程序中的错误后继续汇编,直至得到无语法错误的汇编目标文件(.OBJ文件),表示汇编通过。汇编程序的主要功能是:①检查源程序语法是否正确。②测出源程序中的语法错误,并给出出错信息。③产生源程序的目标程序,并可给出列表文件(同时列出汇编语言和机器语言的文件,称为.LST文件)。④展开宏指令。(3)用LINK程序把汇编目标文件(.OBJ文件)转连接成可执行文件(.EXE文件)经过汇编产生的汇编目标文件(.OBJ文件)虽然已经是二进制文件,但它还不能直接上机运行,必须经过连接程序LINK把目标文件与库文件或其他目标文件连接在一起形成可执行文件(.EXE文件),才能在计算机上直接执行。(4)用DOS命令直接键入文件名就可执行该程序经过连接产生的可执行文件(.EXE文件)已经是可以直接上机运行的二进制文件,运行这个文件可以由DOS装入存储器,并在机器上运行。汇编语言程序设计实习指导书共20页第4页(5)用DEBUG调试该程序运行后如果发现运行结果不对,则程序有逻辑错误,这时候可用动态调试程序DEBUG调试该可执行程序(.EXE文件),找出程序的错误之处,再重新进行源程序的编辑、汇编和连接等工作。具体Debug调试命令见附录(动态调试程序Debug)。四、上机步骤⒈制作汇编语言系统盘盘上应包括下列程序①宏汇编程序(MASM.EXE)②连接程序(LINK.EXE)③调试程序(DEBUG.EXE或TD.EXE)④编辑软件(EDIT.EXE)也可以在硬盘上建立汇编语言文件夹。如下例子均在硬盘D区建立文件夹ASM,文件夹下包括宏汇编程序(MASM.EXE)和连接程序(LINK.EXE)即可,编辑软件EDIT.EXE和调试程序DEBUG.EXE系统已有。⒉在DOS系统下进入文件夹ASM启动→开始→程序→附件→命令提示符CD:DCDASM⒊用编辑程序建立汇编源程序文件(.ASM源文件)①通过编辑软件EDIT.EXE建立。DEDITOUTCHAR.ASM图2EDIT.EXE编辑软件主界面注意:I、进入各菜单“Alt键+各菜单名打头字符”(如进入File菜单Alt+F)II、程序输入完毕保存在软盘A(作业盘)上。III、汇编源程序文件名扩展名为.ASM。汇编语言程序设计实习指导书共20页第5页②通过编辑软件NOTEPAD(记事本)建立。开始→程序→附件→记事本图3NOTEPAD(记事本)编辑软件主界面在编辑软件中录入要输入汇编语言源程序,并予以保存(文件扩展名为ASM)。例1:若在屏幕上连续显示字符0123456789的源程序如下:NAMEEX_06_1;OUTPUTCHARACTER0-9STACKSEGMENTPARASTACK′STACK′STAPNDB100DUP(?)TOPEQULENGTHSTAPNSTACKENDSCOSEGSEGMENTASSUMECS:COSEG,SS:STACKSTART:MOVAX,STACKMOVSS,AXMOVAX,TOPMOVSP,AXMOVBL,0PUSHBXGOON:MOVDL,20HMOVAH,2INT21HPOPBXMOVAL,BLINCALDAAANDAL,0FHMOVBL,ALPUSHBXORAL,30HMOVDL,ALMOVAH,2INT21HMOVCX,0FFFFH汇编语言程序设计实习指导书共20页第6页AGAIN:DECCXJNEAGAINJMPGOONCOSEGENDSENDSTART录入以上程序,并以文件名OUTCHAR.ASM予以保存在文件夹ASM下。⒋用宏汇编程序MASM.EXE程序将刚建立汇编源程序OUTCHAR.ASM汇编成汇编目标文件(OUTCHAR..OBJ)⑴调用宏汇编程序MASM对源程序进行汇编DMASMOUTCHARCR(不用键入扩展名.ASM)Microsoft(R)MacroAssemblerVersion5.00Copyright(C)MicrosoftCrop1981-1985,1987,Allrightsreserved.Objectfilename[outchar.OBJ]:CRSourcelisling[NUL.LST]:CRCross-reference[NUL.CRF]:CR0WarningErrors0SevereErrors注意:①Objectfilename为目标文件名,可以采用方括号内的文件名,也可以重新输入一个文件名。②Sourcelisting要求输入源列表文件名,当不要求产生.LST文件时,可用回车回答,也可输入一个列表文件名。(本例假设输入OUTCHAR文件名,在汇编后产生OUTCHAR.LST)③Cross-Reference要求输入索引文件名。回答方法类似于源列表文件名情况。但.CRF文件不是文本文件,不能用TYPE命令列出。若要求能阅读,必须将索引文件(二进制形式的文件)变换为索引列表文件(文本文件)。方法是执行程序CREF.EXE,将索引文件变换为索引列表文件(.REF)。操作步骤是:DCREFCRCrefFilename[.CRF]:OUTCHARCRListFilename[outchar.REF]:OUTCHARCRD⒌利用LINK程序将汇编目标文件OUTCHAR.OBJ连接生成可执行的文件(OUTCHAR.EXE)DLINKOUTCHAR.OBJCRIBMPersonalComputerLinkerVersion2.10(C)CopyrightIBMCorp1981,1982,1983RunFile[outchar.EXE]:CRListFile[NUL.MAP]:CRLibraries[.LIB]:CR汇编语言程序设计实习指导书共20页第7页D其中:RunFile是生成可执行的文件名(.EXE)。ListFile是生成MAPLIST(清单列表)文件的文件名。如有省略,则不生成MAPLIST文件。MAPLIST文件可用TYPE命令显示出来,通过此文件,可以了解程序中各个段的内存分布情况。DTYPEOUTCHAR.MAPCRStartStopLengthNameClass0000H0002DH0002EHCOSEG00030H00093H00064HSTACK′STACK′OriginGroupD由.MAP文件可以看到各逻辑段存放在内存中的位置,其中,COSEG段,从00000H开始,至0002DH单元结束;而STACK段,则从00030H开始至00093H结束.因为是PARA,所以,从被16整除的边界(最后一位十六进制数地址是0)开始。⒍利用DEBUG程序调试OUTCHAR.EXE程序一般情况下,经过一次汇编就能顺利通过的应用程序往往是较少的,对一个大的程序,往往被划分为若干个模块,并对它们分别进行编写、汇编和连接,然后利用DEBUG程序分别对各个模块进行调试。调试成功后,再进行最后的连接、调试,直至程序能正常运行为止。因此,利用DEBUG程序对汇编连接后的程序进行调试是重要的手段之一。DEBUG的调试命令如下:DDEBUGOUTCHAR.EXECR-其中′-′为进入DEBUG程序的提示符(在调用DEBUG程序时,DEBUG程序应在A盘中)。在调试一个程序时:用U命令,可把.EXE文件反汇编为源文件,检查输入的程序是否正确;用G命令,可设置断点运行可执行的文件;用A命令,可直接输入一段源程序并将其汇编为目标程序;如用R命令,则可显示断点处的各寄存器的当前值和下一条将要执行的命令;如用D命令,可以显示数据段中各存储单元的内容及代码段中的指令代码;如用E命令可对以上的数据和代码进行修改。对调试成功的程序还可以通过命令N和写盘命令W,将文件存入磁盘。⒎在DOS下运行可执行文件OUTCHAR.EXE文件对汇编连接后生成的可执行文件OUTCHAR.EXE,DOS把它当成外部命令对待,在DOS提示符下,可直接键入OUTCHAR.EXE文件的文件名OUTCHAR,不键入扩展名,

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

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

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

×
保存成功