自编微机原理实验指导书.doc
《自编微机原理实验指导书.doc》由会员分享,可在线阅读,更多相关《自编微机原理实验指导书.doc(17页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、第一部分 软件部分实验实验一 汇编语言上机环境的熟悉和命令使用【实验目的及要求】1 学习及掌握汇编语言源程序的书写格式和要求,明确程序中各段的功能和相互之间的关系。2 学会使用EDIT、MASM、LINK、DEBUG等软件工具。3 熟练掌握在计算机上建立、汇编、连接、调试及运行程序的方法。4 掌握用DEBUG调试汇编程序的方法,为以后实验打下基础。【实验内容】1 建立软件工作环境为了正常运行汇编程序,需要如下程序: masm.exe 或 tasm.exe ;汇编命令 link.exe ;链接命令 debug.exe ;调试命令 ;编辑命令 等2 建立汇编文件例 在屏幕上输出 This is a
2、 masm sample!首先使用edit编辑如下源程序,并保存为sample.asm:;Program is an exampledata segment astr DB This is a masm sample!,0dh,0AH,$data endscode segmentassume CS:code,DS:data main proc farstart:PUSHDS ;保护环境,返回DOSXORAX, AXPUSHAXMOVAX, data ;数据段的初始化MOVDS, AXLEADX, astr ;取得字符串的首地址MOVAH, 09h ;9号功能调用INT21hRET main e
3、ndp code ends end start1) 使用masm汇编命令汇编源程序c: masm sample.asm -开始汇编Microsoft (R) Macro Assembler Version 5.00Copyright (C) Microsoft Corp 1981-1985, 1987. -软件提示Object Filenamesample.obj: -提示输入目标文件名,可省略直接回车Source listingNul.lst: -提示输入列表文件名,可省略直接回车Cross referenceNUL.crf: Warning errors 0Severe errors 0
4、注意:若汇编的错误提示不为0,则须重新使用命令edit sample.asm修改错误,然后再汇编,该过程直到错误提示为0为止。2) 使用link产生EXE文件c:link sample.obj.Run filesample.exe:-提示输入可执行文件名,可以省略直接回车List file NUL.map:-提示输入连接映象文件,可以省略直接回车Libraries.lib -输入文件用到的库文件名,可以省略直接回车.3) 运行生成的可执行文件c:sample.exe 4) 使用DEBUG命令调试、运行可执行文件c:debug sample.exea、 进入DEBUG后,首先用命令R查看当前DS
5、和IP寄存器内容,记录此值。b、 练习-R,-D,-A,-U,-T,-P,-G命令的使用。(课本131页表各种命令说明)c、 用命令-D查看程序中数据段DATA中定义的变量。-D DS的内容:偏移地址 eg:-D1421:0000 (1421为数据段的段首址)d、 用命令-G运行程序,以便查看结果。-G 程序结束指令的偏移地址 eg:-G00233 调试95引例及Debug的各种命令三 实验步骤:1、流程图2、源程序3、调试及运行结果附1:DEBUG各命令的使用练习1. 用命令A汇编下列指令,并判断指令正误并说明原因。ROR AX,8LEA DI,AXMOV DS,2010PUSH ALOUT
6、 900,ALMOV BX,02. 用D命令查看DS:20022F和F000:20022F两内存块内容,用F命令将字符“A”分别填入这两个内存块,比较填入前后结果,了解可读写内存RAM和只读内存ROM的区别。3. 利用T,P,G命令,执行下列程序段,注意它们的不同之处。MOV DI,300MOV SI,400MOV CX,3CLDREP MOVSBINT 34. 先在CS:200处汇编一条RET指令,再在CS:100处汇编。MOV BX,200CALL BXINT 3 然后从MOV BX,200处开始执行。5. 用A命令汇编下列程序段,完成将DS:2000开始的5个字节内存内容相加,并把相加的
7、结果存放在DS:2005内存单元中,将程序写到硬盘上,然后用DEBUG调试运行该程序,查看运行结果,观察程序段能否完成指定功能,若不能,说明原因。 MOV CX,5MOV AL,0MOV BX,2000NEXT:ADD AL,BXINC BXDEC CXLOOP NEXTMOV BX,ALINT 3附2:ms-dos方式,是windows提供的一个字符界面的shell窗口,通过“开始程序ms-dos方式”进入ms-dos方式后,可以按下“ALt+Enter”获得全屏幕的窗口,再该窗口下,主要通过键入命令和观察结果获得交互信息。命令简介1、 DIR命令显示当前目录下的文件和目录格式为:dir2、
8、 CD命令改变当前工作目录格式为:cd d:studentyour_name3、 MD命令建立一个新的目录格式为:md your_name4、 DEL命令删除文件格式为:del first01.asm5、 RD命令删除目录,要求要删除的目录下无任何目录或文件格式为:rd your_name6、 COPY命令拷贝命令格式为:copy first01.asm first02.org (将文件first01.asm复制为first01.org)【预习要求】1 仔细阅读书中“汇编语言上机操作过程及程序调试技术”章节内容。3 根据实验要求,对各项结果进行预测。【报告要求】1、 说明命令T和P的区别。2、
9、 写出附1:中任务5的编辑调试步骤,并附上调试好的程序。【实验提示】1) DEBUG的进入如果是首次进入DEBUG编程,则只要在DOS提示符下键入DEBUG ,即可进入DEBUG环境,显示提示符“-”。如果要对某个程序使用DEBUG进行调试,只要在DOS提示符下键入DEBUG 文件名,即可进入DEBUG环境,显示提示符“-”。2) 程序的汇编与反汇编源程序可以在DEBUG下,用汇编命令A输入到内存中,只需在DEBUG提示符“-”下,键入汇编命令A ,并在显示“段寄存器地址:偏移地址”后面键入你自己编写的程序,每键入一条,按一次回车键。-A 127B:0100MOV CX,5 127B:0103
10、MOV AL,0 127B:0105MOV BX,2000 如果进入DEBUG时是使用“DEBUG 文件名”进入的,那么在进入DEBUG状态后,可用反汇编命令U,将调入的程序显示出来:-U 127B:0100B90500MOV CX,5127B:0103B000MOV AL,0127B:0105BB0020MOV BX,20004) 在DEBUG状态下,对所编写文件存盘的步骤1给程序命名2-N 文件名.COM 2将文件长度放入BX、CX中(高位放入BX,4低位放入CX中)-R BX (注意!由于文件长度一般较小,所以切记BX中付0值)-R CX (文件最末偏移地址减去文件开始的偏移地址即文件长
11、度)3用写盘命令W把正在调试的内存中程序写入磁盘中-W 地址(文件开始地址)4 退出DEBUG状态用Q命令:-Q 5) 在DEBUG状态下,建议使用DOS分配给用户的内存可用区在DEBUG状态下,用户可对所有寄存器、RAM内存随意查看和修改,但由于对DOS操作系统在内存中存放情况不了解,可能会将存放有操作系统程序的内存内容破坏,从而可能引起系统的异常,出现死机现象,故建议使用DOS分配给用户的内存可用区,其低端地址是刚进入DEBUG时,用命令R查看到的DS:IP。6) 用连续执行命令G应注意问题用连续执行命令G执行程序时,注意给出执行程序的首地址,并注意执行的程序中有返回DEBUG功能的程序段
12、,如指令INT 20H或断点设置INT 3,否则发出命令后,很容易出现死机,原因是无返回程序段使系统返回命令接受状态,CPU将不断到内存中取指令、执行指令,使用户失去对系统的控制。为避免这种情况,可在用户程序段结尾加上一条INT 20H指令,或INT 3指令。7) 关于任务5DS:2000单元开始的5个字节内容,可用填充命令F给其赋值。-F 2000 L5 01 02 03 04 05(在执行程序前用F命令给单元赋值)之后,运行任务5程序段,检查运行结果是否正确。实验二 利用DEBUG命令调试程序【实验目的】 1熟悉在PC机上建立、汇编、连接、调试和运行汇编语言程序的过程。2熟悉和掌握用DEB
13、UG调试程序的方法。【实验内容】1、 编制程序,查找微机原理课程学生考试最高成绩及人数.P1082、 统计一个数据块中负数的个数。P111【预习要求】 1仔细阅读课本及相应教材。 2参照程序框图编制源程序,准备好多组运算数据,以供校验。【报告要求】1.写出算法或画流程图。2.编写完整的汇编语言源程序3.整理运行正确的源程序,加上注释。4.总结应用DEBUG调试程序的方法。5.回答思考题。五、【实验提示】可以把显示程序和加法程序都编成子程序的形式。打开MASM文件夹,有四个文件EDIT.COM,MASM.EXE,LINK.EXE,DEBUG.COM我们要用到。a)进入EDIT编辑环境建立和修改汇
14、编源程序文件(文件名b)要以.ASM结尾)c)用MASM命令汇编源文件以产生相应的目标d)文件(OBJ文件)e)用LINK命令连接目标f)文件以产生可执行文件(EXE文件)g)用DEBUG调试、运行可执行程序。实验三 利用中断指令进行输入输出程序设计【实验目的】1. 熟悉DOS的功能调用命令2. 掌握基本DOS功能调用命令的使用3. 掌握提示信息的使用方法及键盘输入字符串的用法。【实验内容】1、 编写程序,由键盘输入一串字符(包括字母和数字,以回车符结束),编程统计其中数字的个数,并从屏幕输出。(课后习题39题)2、 利用DOS系统功能调用实现人机对话。P127【预习要求】1仔细阅读课本中有关
15、DOS功能调用INT 21H中的功能调用。2参照给定程序框图编制源程序。3回答思考题。【报告要求】1整理出经过运行正确的源程序,并加上注释。2.写出算法或画流程图。3.编写完整的汇编语言源程序4.实验结果分析和感想及建议实验四 汇编语言程序设计综合实验【实验目的】1. 掌握汇编语言分支、循环结构程序设计方法及子程序的设计方法.2. 掌握利用DEBUG命令调试程序【实验内容】 1. 自内存SCORE单元开始连续存放着10个学生的“微机原理”成绩,请编程做如下统计:找出最高分和最低分送入MAX和MIN单元。找出90100及不及格的人数分别送入S9、S0单元。求平均成绩送入AVER单元。(课后习题3
16、7题)2用-G命令对程序运行,并分析程序运行前后各寄存器内容的变化。3用-D命令查看运行结果。【报告要求】1. 分析题目,将程序中的原始数据和最终结果的存取方式确定好。2. 写出算法或画流程图。3. 编写完整的汇编语言源程序4. 请写出MAX、MIN、S9,S0单元在内存中的地址及其内容结果。5. 实验结果分析和感想及建议【实验提示】1编写程序时,可以分别编写,熟练的同学可采用同时编写.2建议采用子程序的编写方式。【思考题】 1.能否利用中断调用进行大量数据的输入输出?比利用数据定义语句存放数据有什么好处?怎样实现?第二部分 硬件部分实验第一章:FD88调试软件1.1、功能特点FD88 Deb
17、ug(文件名FD88.EXE)是IBMPC上( 286, 386。 486或兼容机)为FD8088A实验仪配置的调试软件。它具有功能强、使用灵活方便、人- 机界面友善、稳定可靠等特点,能支持各种应用系统的调试。在FD8088A实验仪和Debug软件支持下、使用户得心应手地完成实验过程中各个阶段的工作(包括源程序编辑、存盘、读盘、程序调试等),大大提高工作效率,缩短调试周期。FD88 调试软件允许用户使用两种操作方式:窗口方式和命令方式窗口方式显示的信息量大,各个窗口都是活动的,用户可在窗口中进行修改数据等操作。窗口方式具有系统初始化、文件管理、运行控制、窗口管理等多种操作命令。用户既可以根据菜
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 实验 指导书
限制150内