您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > 自编微机原理实验指导书
第一部分软件部分实验实验一汇编语言上机环境的熟悉和命令使用【实验目的及要求】1学习及掌握汇编语言源程序的书写格式和要求,明确程序中各段的功能和相互之间的关系。2学会使用EDIT、MASM、LINK、DEBUG等软件工具。3熟练掌握在计算机上建立、汇编、连接、调试及运行程序的方法。4掌握用DEBUG调试汇编程序的方法,为以后实验打下基础。【实验内容】1建立软件工作环境为了正常运行汇编程序,需要如下程序:masm.exe或tasm.exe;汇编命令link.exe;链接命令debug.exe;调试命令edit.com;编辑命令等2建立汇编文件例在屏幕上输出'Thisisamasmsample!'首先使用edit编辑如下源程序,并保存为sample.asm:;ProgramisanexampledatasegmentastrDB'Thisisamasmsample!',0dh,0AH,'$'dataendscodesegmentassumeCS:code,DS:datamainprocfarstart:PUSHDS;保护环境,返回DOSXORAX,AXPUSHAXMOVAX,data;数据段的初始化MOVDS,AXLEADX,astr;取得字符串的首地址MOVAH,09h;9号功能调用INT21hRETmainendpcodeendsendstart1)使用masm汇编命令汇编源程序c:\masmsample.asm---开始汇编Microsoft(R)MacroAssemblerVersion5.00Copyright(C)MicrosoftCorp1981-1985,1987.……--软件提示ObjectFilename[sample.obj]:--提示输入目标文件名,可省略直接回车Sourcelisting[Nul.lst]:--提示输入列表文件名,可省略直接回车Crossreference[NUL.crf]:Warningerrors0Severeerrors0注意:若汇编的错误提示不为0,则须重新使用命令editsample.asm修改错误,然后再汇编,该过程直到错误提示为0为止。2)使用link产生EXE文件c:\linksample.obj………….…………Runfile[sample.exe]:--提示输入可执行文件名,可以省略直接回车Listfile[NUL.map]:--提示输入连接映象文件,可以省略直接回车Libraries[.lib]--输入文件用到的库文件名,可以省略直接回车………..3)运行生成的可执行文件c:\sample.exe4)使用DEBUG命令调试、运行可执行文件c:\debugsample.exea、进入DEBUG后,首先用命令R查看当前DS和IP寄存器内容,记录此值。b、练习-R,-D,-A,-U,-T,-P,-G命令的使用。(课本131页表各种命令说明)c、用命令-D查看程序中数据段DATA中定义的变量。-DDS的内容:偏移地址eg:-D1421:0000(1421为数据段的段首址)d、用命令-G运行程序,以便查看结果。-G程序结束指令的偏移地址eg:-G00233调试95引例及Debug的各种命令三实验步骤:1、流程图2、源程序3、调试及运行结果附1:DEBUG各命令的使用练习1.用命令A汇编下列指令,并判断指令正误并说明原因。RORAX,8LEADI,[AX]MOVDS,2010PUSHALOUT900,ALMOV[BX],02.用D命令查看DS:200~22F和F000:200~22F两内存块内容,用F命令将字符“A”分别填入这两个内存块,比较填入前后结果,了解可读写内存RAM和只读内存ROM的区别。3.利用T,P,G命令,执行下列程序段,注意它们的不同之处。MOVDI,300MOVSI,400MOVCX,3CLDREPMOVSBINT34.先在CS:200处汇编一条RET指令,再在CS:100处汇编。MOVBX,200CALLBXINT3然后从MOVBX,200处开始执行。5.用A命令汇编下列程序段,完成将DS:2000开始的5个字节内存内容相加,并把相加的结果存放在DS:2005内存单元中,将程序写到硬盘上,然后用DEBUG调试﹑运行该程序,查看运行结果,观察程序段能否完成指定功能,若不能,说明原因。MOVCX,5MOVAL,0MOVBX,2000NEXT:ADDAL,[BX]INCBXDECCXLOOPNEXTMOV[BX],ALINT3附2:ms-dos方式,是windows提供的一个字符界面的shell窗口,通过“开始\程序\ms-dos方式”进入ms-dos方式后,可以按下“ALt+Enter”获得全屏幕的窗口,再该窗口下,主要通过键入命令和观察结果获得交互信息。命令简介1、DIR命令显示当前目录下的文件和目录格式为:dir2、CD命令改变当前工作目录格式为:cdd:\student\your_name3、MD命令建立一个新的目录格式为:mdyour_name4、DEL命令删除文件格式为:delfirst01.asm5、RD命令删除目录,要求要删除的目录下无任何目录或文件格式为:rdyour_name6、COPY命令拷贝命令格式为:copyfirst01.asmfirst02.org(将文件first01.asm复制为first01.org)【预习要求】1仔细阅读书中“汇编语言上机操作过程及程序调试技术”章节内容。3根据实验要求,对各项结果进行预测。【报告要求】1、说明命令T和P的区别。2、写出附1:中任务5的编辑调试步骤,并附上调试好的程序。【实验提示】1)DEBUG的进入⑴如果是首次进入DEBUG编程,则只要在DOS提示符下键入DEBUG↙,即可进入DEBUG环境,显示提示符“-”。⑵如果要对某个程序使用DEBUG进行调试,只要在DOS提示符下键入DEBUG文件名↙,即可进入DEBUG环境,显示提示符“-”。2)程序的汇编与反汇编⑴源程序可以在DEBUG下,用汇编命令A输入到内存中,只需在DEBUG提示符“-”下,键入汇编命令A↙,并在显示“段寄存器地址:偏移地址”后面键入你自己编写的程序,每键入一条,按一次回车键。-A↙127B:0100MOVCX,5↙127B:0103MOVAL,0↙127B:0105MOVBX,2000↙⑵如果进入DEBUG时是使用“DEBUG文件名↙”进入的,那么在进入DEBUG状态后,可用反汇编命令U,将调入的程序显示出来:-U↙127B:0100B90500MOVCX,5127B:0103B000MOVAL,0127B:0105BB0020MOVBX,20004)在DEBUG状态下,对所编写文件存盘的步骤1给程序命名2-N文件名.COM↙2将文件长度放入BX、CX中(高位放入BX,4低位放入CX中)-RBX↙(注意!!!由于文件长度一般较小,所以切记BX中付0值)-RCX↙(文件最末偏移地址减去文件开始的偏移地址即文件长度)3用写盘命令W把正在调试的内存中程序写入磁盘中-W〈地址〉↙(文件开始地址)4退出DEBUG状态用Q命令:-Q↙5)在DEBUG状态下,建议使用DOS分配给用户的内存可用区在DEBUG状态下,用户可对所有寄存器、RAM内存随意查看和修改,但由于对DOS操作系统在内存中存放情况不了解,可能会将存放有操作系统程序的内存内容破坏,从而可能引起系统的异常,出现死机现象,故建议使用DOS分配给用户的内存可用区,其低端地址是刚进入DEBUG时,用命令R查看到的DS:IP。6)用连续执行命令G应注意问题用连续执行命令G执行程序时,注意给出执行程序的首地址,并注意执行的程序中有返回DEBUG功能的程序段,如指令INT20H或断点设置INT3,否则发出命令后,很容易出现死机,原因是无返回程序段使系统返回命令接受状态,CPU将不断到内存中取指令、执行指令,使用户失去对系统的控制。为避免这种情况,可在用户程序段结尾加上一条INT20H指令,或INT3指令。7)关于任务5DS:2000单元开始的5个字节内容,可用填充命令F给其赋值。-F2000L50102030405↙(在执行程序前用F命令给单元赋值)之后,运行任务5程序段,检查运行结果是否正确。实验二利用DEBUG命令调试程序【实验目的】1.熟悉在PC机上建立、汇编、连接、调试和运行汇编语言程序的过程。2.熟悉和掌握用DEBUG调试程序的方法。【实验内容】1、编制程序,查找微机原理课程学生考试最高成绩及人数.P1082、统计一个数据块中负数的个数。P111【预习要求】1.仔细阅读课本及相应教材。2.参照程序框图编制源程序,准备好多组运算数据,以供校验。【报告要求】1..写出算法或画流程图。2.编写完整的汇编语言源程序3.整理运行正确的源程序,加上注释。4.总结应用DEBUG调试程序的方法。5.回答思考题。五、【实验提示】可以把显示程序和加法程序都编成子程序的形式。打开MASM文件夹,有四个文件EDIT.COM,MASM.EXE,LINK.EXE,DEBUG.COM我们要用到。a)进入EDIT编辑环境建立和修改汇编源程序文件(文件名b)要以.ASM结尾)c)用MASM命令汇编源文件以产生相应的目标d)文件(OBJ文件)e)用LINK命令连接目标f)文件以产生可执行文件(EXE文件)g)用DEBUG调试、运行可执行程序。实验三利用中断指令进行输入输出程序设计【实验目的】1.熟悉DOS的功能调用命令2.掌握基本DOS功能调用命令的使用3.掌握提示信息的使用方法及键盘输入字符串的用法。【实验内容】1、编写程序,由键盘输入一串字符(包括字母和数字,以回车符结束),编程统计其中数字的个数,并从屏幕输出。(课后习题39题)2、利用DOS系统功能调用实现人机对话。P127【预习要求】1.仔细阅读课本中有关DOS功能调用INT21H中的功能调用。2.参照给定程序框图编制源程序。3.回答思考题。【报告要求】1.整理出经过运行正确的源程序,并加上注释。2.写出算法或画流程图。3.编写完整的汇编语言源程序4.实验结果分析和感想及建议实验四汇编语言程序设计综合实验【实验目的】1.掌握汇编语言分支、循环结构程序设计方法及子程序的设计方法.2.掌握利用DEBUG命令调试程序【实验内容】1.自内存SCORE单元开始连续存放着10个学生的“微机原理”成绩,请编程做如下统计:①找出最高分和最低分送入MAX和MIN单元。②找出90~100及不及格的人数分别送入S9、S0单元。③求平均成绩送入AVER单元。(课后习题37题)2.用-G命令对程序运行,并分析程序运行前后各寄存器内容的变化。3.用-D命令查看运行结果。【报告要求】1.分析题目,将程序中的原始数据和最终结果的存取方式确定好。2.写出算法或画流程图。3.编写完整的汇编语言源程序4.请写出MAX、MIN、S9,S0单元在内存中的地址及其内容结果。5.实验结果分析和感想及建议【实验提示】1.编写程序时,可以分别编写,熟练的同学可采用同时编写.2.建议采用子程序的编写方式。【思考题】1.能否利用中断调用进行大量数据的输入输出?比利用数据定义语句存放数据有什么好处?怎样实现?第二部分硬件部分实验第一章:FD88调试软件§1.1、功能特点FD88Debug(文件名FD88.EXE)是IBM-PC上(286,386。486或兼容机)为FD8088A实验仪配置的调试软件。它具有功能强、使用灵活方便、人-机界面友善、稳定可靠等特点,能支持各种应用系统的调试。在FD8088A实验仪和Debug软件支持下、使用户得心应手地完成实验过程中各个阶段的工作(包括源程序编辑、存盘、读盘、程序调试等),大大提高工作效率,缩短调试周期。FD88调试软件允许用户使用两种操作方式:窗口方式和命令方式.窗口方式显示的信息量大,各个窗口都是活动的,用户可在窗口中进行修改数据等操作。窗口方式具有系统初始化、文件管理、运行控制、窗口管理等多种操作命令。用户既可以根据菜单操作也可以使用一些
本文标题:自编微机原理实验指导书
链接地址:https://www.777doc.com/doc-2118225 .html