微机原理及应用实验环境..docx
《微机原理及应用实验环境..docx》由会员分享,可在线阅读,更多相关《微机原理及应用实验环境..docx(18页珍藏版)》请在三一办公上搜索。
1、第三部分附录附录I汇编语言上机操作步骤一、在IBM-PC机上运行汇编源程序所必备的软件TPC-H里十六位微机试验培训系统凯要求用汇编语言来编写程序,为了在IBM-PC机上运行汇编源程序,机器上必需有DoS操作系统环境,DOS系统盘上必需有下列文件:EDIT.COMMjSM.EXE文件编辑程序宏汇编程序CREF交叉引用文件处理程序1.INK.EXE链接程序1.IB库管理程序DEBUG.COM调试程序二、在IBM-PC机上运行汇编源程序的步骤当用户编制好汇编语言源程序之后,要在机器上运行,必需经过以卜几个步骤:1 .用ED1.T吩咐建立与修改汇编源程序文件(ASM文件)源程序就是用汇编语言的语句编
2、写的程序,它不能被机器识别。源程序必需以ASM为附加文件名。至于ED1.T的运用方法可以查阅手册。2 .用MASM吩咐汇编源文件以产生相应的目标文件(OBJ文件)源程序建立以后,必需经过汇编,转换成用二进制代码表示的目标文件,机器才可运行。汇编是通过调用PC-DoS卜的宏汇编程序NASM实现的。汇编过程中,汇编程序对源文件进行二次扫描,假如源程序中有语法错误,则汇编过程结束后,汇编程序会指出源程序中的错误,这时,用户可以再用编辑程序来修改源程序中的错误,最终,得到没有语法错误的OBJ文件。3 .用1.1.NK吩咐连接目标文件以产生可执行文件(EXE文件)由于汇编之后所得到的目标代码的存放地址并
3、不是可执行的肯定地址,而是浮动的相对地址,因而,必需经过连接,把程序的各个模块连接在一起,或把要调用的子程序与主程序连接在一起,把相对地址变成肯定地址,形成可执行的文件。连接是由调用PC-DOS下的1.INK程序来实现的。4 .调试、运行可执行文件.经过以上过程,在盘上有了可执行文件,则可在DoS提示符干脆打入文件名(不用扩展名),就可以把执行文件从盘上装入内存,I1.马上执行此程序。然而通常一个较困难、较长的汇编语言源程序,希望一点错误也没有的可能性是很小的,这样就须要调用PC-DoS支持卜的DEBUG程序,来谢试我们的目标程序。被调试程序在DEBUG的管理下,可以单步执行程序,也可以设置断
4、点,可以显示和修改CPU内部寄存:器和标记位的内容等,这样就便于找寻程序中的错误。在发觉了错误以后,通常还要重发上述的编辑、汇编,连接和调试程序的全过程,直至程序运行正确为止。已调试的H标程序,任何时候都可在PCDOS下,通过打入文件名即可运行它。上机过程示意图如F:m13汇编语言程序上机过程流程为了便于操作,下面聘上机操作全过程中的主要部分分别加以介绍,编辑程序因为运用普遍,在此不做介绍。三、宏汇编程序经过编辑吩咐建立和修改后存盘的汇编语言源程序(扩展名为.ASM),要在机器上运行,必需先由充编程序把它汇编为机器码的目标程序。经过IBM汇编程序汇编后的程序在盘上建立三个文件:一个是扩展名为.
5、0BJ的目标程序。在此程序中,操作码部分已变为机器码,但操作数地址只是一个可浮动的相对地址,而不是内存中的肯定地址。其次个是扩展名为.1.ST的汇编列表文件,它把源程序(包括注糅)和汇编后的目标程序都制表,可以打印出来供检查用。第三个是扩展名为.CRF的符号交叉列表文件,可以对符号进行前后比照.在汇编时,汇编程序对嘤不要建立这些文件,有如下提示:例如对CXan1.aSm文件进行汇编:在I)OS状态下,打入MASM调用宏汇编程序,屏幕显示与操作如下:OMASM/此时,屏幕上出现如卜信息:TheIBMPersona1.ComporterMACROAssemb1.e,1. OO(C)Copyrigh
6、taIBMCorp1981.Sourcefi1.ename.SM:exam/Objectfi1.enameexam.Obj:/_Source1.istingNu1.1st:exam/CrossreferenceNu1.erf:exam/WarningSeveresErrorsErrors00从上面操作过程中UJ以见到,汇编程序的输入文件就是:用户编写的源程序,它必需以ASM为文件扩展名,在汇编调入后,先显示版本号,然后出现第行提示.询问要汇编的源文件名。用户输入文件名,则出现其次个提示,询问目标程序的文件名,括号内的为机器规定默认的(defau1.t)文件名,通常干脆按回车,表示采纳默认文件名
7、,接着出现第三个提示,问是否要建立可打印文件,若要,打入文件名,若不要,可干脆回车。最终出现第四个提示,前问是否要建立交叉索引文件,若须要则打入文件名,若不要干脆问车-在回答第四个询问后,汇编程序就对源程序进行汇编。汇编过程结束时,假如程序有错误会给出源程序的警告性错误GrUrningebors)和严峻错误(SeVerSenprs)。前者指出一股性错误,后者指出语法性错误。当存在这两类错误时,屏幕上除指出错误个数外,还给出错误信息代号。程序员可以通过查代码手册弄清晰错误的性质。假如汇编过程中,发觉有错误,则程序员应当全新用编辑吩咐修改错误,再进行汇编,最终直到汇编正确通过。要指出的是汇编过程只
8、能指出源程序中的语法错误,并不能指出算法错误和其他错误。用意:汇编后建立的CRF文件是不能单独运用的,若须要J解源程序中的符号(包括变量)在定义和弓I用时的状况,还要调用CREF文件对CRF文件进行处理,生.成.REF文件后,才能打印(或显示)输出.其过程如卜1OCREF/Creffi1.ename.CRI;:exam/1.istfi1.enameexam.REI7J:/_在DOS状态下,打入CREF,就会调入交叉引用文件处理程序CREF.CREI-运行时,首先询问耍处理的文件名,在键入文件名后,出现其次个提示,询问REF文件名,可用回车承认默认的.REF文件名。于是就建立了一个扩展名为.RE
9、F的文件,然后返回I)OS状态。在DoS状态,用TYPE吩咐打印此文件,得如下显示信息:Symbo1.CrossReference(#isdefinition)Cref1BUF*8#16CODE*12#1321DATA*7#111314STACK*I#613START*14#22其中,有4号拧是此符号被定义时的语句行号,后面是引用此符号的语句行号。四、连接程序(1.ink)由汇编程序建立的目标码文件必需经过连接以后,才能成为可执行文件。连接程序并不是专为汇编语言设计的。利用它可以把若干个模块连接在起,这些模块可以是汇编程序产生的目标码文件,也可以是其它高级语言编译程序产生的目标文件.在连接过程
10、中,又建立了几个文件。详细操作如下(以exam.obj进行连接为例):O1.1.NK_此时,屏幕上出现如下信息:IBM5552mu1.tistation1.inker2.OO(C)Copyrigh1.IBMCorp.1985Corp.1985Objectmodu1.es】.OBJexam/RunFi1.eexam.EXE:Z1.istHi1.eNU1.MAP:exam/1.ibraries.1.IB:ZWarning:NOSTACKSegment首先询问要连接的目标文件,操作员钺入文件名作为I可答(此处是exam)。假如有多个要连接的目标文件,应一次键入。各目标文件名之间用“+”号隔开。其次个
11、提示询问要产生的可执行文件的文件名,一般干脆回车就采纳了括号内规定的默认文件名。第三个提示询问是否要建立地址安排文件。键入文件名再回车表示要建立,干脆按回车键表示不要建立。最终询问是否用到库文件,假如没有库文件,则干脆键入回车即可(假如用户用到库文件,则键入库文件名。建立库文件的方法见第五节)。回答以上问题后,连接程序便起先进行连接。若连接过程有错,则显示错误信息.若有错误就要IR新调用编辑程序修改源文件,然后重:新汇编、连接,直至无错。1.1.NK过程产生两个输出文件,一个是扩展名为EXE的执行文件.产生此文件当然是1.1.NK过程的主要目的,另个是扩展名为MAP列表安排文件,有人也称它为映
12、象文件,它给出每个段在内存中的安排状况.比如某个列表安排文件为如下内容:OTYPEexam.Map/Warning:NoSTACKSegmentStartStop1.engthNameOOOOOH0015H001611CODE00020110045H0026HDATA00050H006IH0012HEXTRAProgrameEntrypointat0002:0000由上面看出,变量CODE的起始地址是OoooH,结束地址是001511,字节数是16H,以此类推。另外从1.INK过程提示信息中,可看到最终给出个“无堆栈段”的警告性错误,这并不影响程序的执行。当源程序中设置/堆栈段,则无此提示信息
13、.五、子程序库的建立方法在处理比较困难的问题时,往往须耍把某些常常被反夏调用的子程序汇编成目标模块,集合在一起组成一个“子程序库”(.1.1.B),以便利调用。建立子程序库是调用DOS的库管理程序1.1.B来实现的。库管理程序1.IB的启动方式分为提问方式、吩咐方式、文件方式三种,此处仅介绍提问方式。在DoS状态,键入“1.IB上”之后,IX)S把1.IB装入主存并向用户提问,用户依据要求键入相应的回答。1.1.B的提问信息及其回答如表1所示,回答时可用的吩咐字符如表2所示。表11.IB的提示信息及回答提示信息回答1.ibraryname:Operation:1.istfi1.e:欲进行操作的
14、库名(缺省文件扩展名为1.IB)吩咐字符及模块名或目标文件名交叉参考列表文件名(缺省:NU1.,无交叉参考列表文件)表2库管理吩咐字符吩咐字符功能+*&CTR1._C把目标代码文件作为最终个模块加入库中从库中删除一个模块从库中取出模块,写入目标文件中(库中仍保留)剌卜的提示取缺省值提示信息在行内回答不下时,键入此字符将另起一行终止库管理操作卜面举例说明子程序库的建立方法.建立一子程序库WAM1.1.B,将子模块QuEUE、F10T2,F2T10放入该库中,其操作步骤如下:(1)建立它们的源文件QUEUE.ASM、F10T2.ASM,F2T10.SMa(2)将这三个源文件模块分别汇编,生成目标文
15、件QUEUE.OBJ、F1OT2.OBJ,F2T10.OBJ.谢用库管理程序1.1.B建立子程序库WAN.1.IB,并将三个目标文件加入库中,既可逐个加入,也可次加入。假如逐个加入,可用以下方法(O:O1.IB/Microsoft(R)1.ibraryManagerVersion3.O1.Copyright(C)MicrosoftCorp1983,1984,1985,1986.A1.1rightsreserved.1.ibraryname:WAN/1.ibrarydoesnotexist.Create?Y/Operations:FUEUE/1.istfi1.e:/_O1.IB/Microsof
16、t(R)1.ibraryManagerVersion3.04Copyright(C)MicrosoftCorp1983,1984,1985,1986.A1.1.rightsreserved.1.ibraryname:WAN/1.ibrarydoesnotexist.Create?YZOperations:H0T21.istfi1.e:/_O1.IB/Microsoft(R)1.ibraryManagerVersion3.04Copyright(C)MicrosoftCorp1983,1984,1985,1986.A1.1.rightsreserved.1.ibraryname:WAN/1.ib
17、rarydoesnotexist.Create?YZOperations:+F2T101.istfi1.e:土假如次加入,可用如下方法(二):O1.IB/Microsoft(R)1.ibraryManagerVersion3.01Copyright(C)MicrosoftCorp1983,1984,1985,1986.A1.1rightsreserved.1.ibraryname:WAN/1.ibrarydoesnotexist.Create?Y/Operations:FUEUE+F1.OT2+F2T1.O/1.istfi1.e:/_库文件建立以后,库中的子程序可以便利地被其它程序调用。例如,
18、当子程序模块QUEUE、F1.OT2、F2T10入了程序库WAN.1.IB之后,主模块MA1.N.ASM汇编后可按如下方式连接(假定主模块的目标文件为NA1.NOBJ,且主模块中调用子模块QUEUE,F1.OT2及F2T10):O1.IXK/Microsoft8086Object1.inkerVersion2.44(C)CopyrightMicrosoftCorp1983ObjectModu1.es.OBJ:MAIN/RunFi1.eMAIN.EXE:Z1.istFi1.eMI1.MAP:Z1.ibraries.1.IB:WAN/连接后得到可执行文件MAIN.EXE。附录II汇编语言程序调试方
19、法(DEBUG的运用)调试程序DEBUG是I)OS支持的又一种系统软件,主婴用了汇编语言程序的调试.汇编和连接过程只能杳出源程序的语法错误,不能修出功能上的错误和程序不完善的地方。DEBUG程序为用户供应多种吩咐,大致有:显示和修改寄存器和存贮单元的内容:执行程序中随意段或一条指令:汇编单条源语句和反汇编机器码指令:查找字符代码:端口的输入和输出:文件装入内存和写入磁盘等.用户利用这些吩咐可以杳出任何程序功能上的错误。下面说明DEBUG程序的启动方法和主要吩咐意义。一、DEBUG程序的启动DEBUG程序有两种启动方法。DEBI:G程序是在DOS盘上的一个独立的可执行程序(扩展名为.COM3所以
20、,DEBUG程序的第种启动方法就是把它看作和般的可执行程序一样,只要打入DEBUG和回车键,就可以把它装入内存.但是这样启动只把DEB1.C程序本身装入内存并进入等待DEBIG吩咐状态,还没有把要阔试的程序装入内存。其次种启动DEBUG的程序的方法是一次相继装入DEB1.G程序和要调试的程序。打入的吩咐格式如下:DEBUGd:pathfiIenamo.extparn1.1.parm2其中的Fi1.ename是要调试程序的文件名,可选项d:pa1.h和.ext分别是要调试程序的所在盘符、路径和扩展名。可选项parm1.和parm2是DEBuC程序为要阔试程序打算的参数(般不用)。例进入DEBUG
21、程序并装入要调成程序,要调试程序在A驶动器中.其操作如下:CDEBUGAMBCEXE(进入DEBuG,并装配ABC.EXE)此时屏暮上出现个短线,这表示可以运用DEBUG吩咐了。二、调试吩咐在说明每个吩咐之前,先说明一些共同信息: DEB1.G吩咐都是以个英文字母开头,后面跟个或多个参数。 吩咐字母和参数可用大写或小写或混合形式. 吩咐字母和参数中,相邻两个十六进制之间必需用逗号或空格分开.其它各部分之间有无空格或逗号都可以。 执行任何吩咐期间都可用CtrBBreak键方法结束吩咐的执行。 打入吩咐字母和参数后必需打入回车键才能使吩咐有效. 假如执行某种吩咐期间在显示器或打印机上的很长的输出,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 应用 实验 环境
链接地址:https://www.31ppt.com/p-7456732.html