收藏 分销(赏)

微机原理实验指导书.doc

上传人:精**** 文档编号:2222612 上传时间:2024-05-23 格式:DOC 页数:23 大小:369.04KB
下载 相关 举报
微机原理实验指导书.doc_第1页
第1页 / 共23页
微机原理实验指导书.doc_第2页
第2页 / 共23页
微机原理实验指导书.doc_第3页
第3页 / 共23页
微机原理实验指导书.doc_第4页
第4页 / 共23页
微机原理实验指导书.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、(完整版)微机原理实验指导书8086/8088微机原理与接口技术实验指导书成都理工大学核技术与自动化工程学院电气工程系2012-9-10目 录实验一 EMU 8086软件的使用1实验二 8086指令观察3实验三 顺序结构程序设计5实验四 分支结构程序设计7实验五 循环结构程序设计9实验六 子程序设计11附录1 汇编语言上机实验基础131.1 汇编语言程序上机实验过程131.2 EMU 8086141。3 实验及实验报告要求17基础软件实验部分共有六个实验组成,通过对这些实验程序的编写、调试,使学生熟悉8086/8088的指令系统等,了解程序设计过程,掌握汇编程序设计方法以及如何使用实验系统提供

2、的各种调试、分析手段来排除程序错误。实验一 EMU 8086软件使用EMU 8086是一款基于Windows的集编辑、汇编、链接、调试运行于一体的可视化的8086 CPU仿真软件,有着与8086十分相近的功能。EMU8086是交互式学习汇编语言(Assembly Language)、计算机结构(Computer Architecture)和逆向工程(Reverse Engineering)的完整仿真体系。其内部集成了汇编程序汇编器、链接器、虚拟硬件、参考资料、例程、学习指南等.EMU8086是学习Intel 8086微处理器的理想工具,它模拟真实微处理器的每一步骤,并显示内部寄存器、存储器、堆

3、栈、变量和标志寄存器,而且其中任何一个数值都可通过鼠标双击来改变.同时它还提供了微机显示器、直流步进电机、交通灯、LED等虚拟外设。本节对EMU 8086的使用方法作一简介,仍以例1的HELLO程序为例。双击EMU8086图标,打开程序.此时会弹出welcome窗口,见图1.1所示,可将该窗口关闭直接进入编辑状态;也可点击它的new按钮,则会弹出代码模板选择框供用户选择(可选择EXE模板),见图1。2所示,一般点击Cancel按钮,直接进入编辑状态。在编辑窗口,可直接将源程序输入,见图1.3所示。图1.1 welcome窗口图1.2 模板选择图1.3编辑窗口输入源程序点击compile(编译)

4、按钮则进行汇编和链接,生成.EXE文件,并提示存盘.点击emulate(仿真)按钮则可进入8086仿真器界面,见图1。4所示。界面中提供了寄存器窗口、内存单元窗口及反汇编窗口,下方一行按钮则提供了虚拟屏幕、源代码观察、复位、辅助工具、变量、DEBUG、堆栈及FLAGS(标志寄存器)观察等功能。用户可点击run连续运行程序,也可点击single step对程序进行单步调试。图1.5为HELLO。EXE的运行结果,用户通过虚拟屏幕观察,非常形象生动。图1。4 8086仿真器界面图1.5 HELLO。EXE的运行结果EMU 8086提供了断点设置功能,见图1.6所示,先用鼠标选中要设置为断点的指令,

5、然后点击菜单debugset break point,即可设置断点。若要清除断点,则点击菜单debugclear break point.图1.6 断点设置EMU 8086也支持DEBUG调试程序,仿真器界面下方的一行按钮中有debug按钮,点击打开后可输入DEBUG命令进行调试。见图1.7所示.图1。7 EMU 8086提供的DEBUG实验二 8086指令观察一、实验目的和要求1. 掌握汇编语言程序编辑、汇编、链接和调试的基本概念。2。 掌握在PC机上建立、汇编、链接和运行8088汇编语言程序的过程。3。 通过观察深入掌握数据传送类、算术运算类和逻辑运算类等各类指令的功能。二、实验任务编辑汇

6、编程序,并汇编、链接和调试程序,验证结果。三、实验设备和软件PC机、EMU8086四、实验内容1. 寻找最大最小数程序实验设内存缓冲区从BUF单元开始,存放若干个单字节数,其数据长度在BUF单元,要求找出最大数送MAX单元,最小数送MIN单元。源程序:;FILENAME:MAXMIN。ASMDATASEGMENTBUFDB 9,-4,55,78,9,0,41,124B1EQU $BUFMAXDB ?MINDB ?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX, DATAMOVDS, AXMOVCH, 0MOVCL, B1;CX=数据个数D

7、ECCX ;循环次数 MOVAL, BUF;第一个数据送AL寄存器MOVMAX, AL;假设第一个数是最大数MOV MIN,AL;假设第一个数是最小数MOVBX, OFFSET BUF+1;下一个数据地址LAST:MOVAL, BXCMPAL, MAX;比较JGGREATCMPAL, MINJLLESSJMPNEXTGREAT:MOVMAX, AL ;大数-MAXJMPNEXTLESS:MOVMIN, AL;小数MINNEXT:INCBXLOOPLASTNOP;实验时程序执行到此,通过D命令查看数据段结果MOVAH, 4CHINT21HCODEENDSENDSTART2。 代码转换实验从键盘输

8、入2个十进制数组合成压缩BCD码存入DL,再将压缩BCD码转换成ASCII码送CRT显示。 源程序:CODESEGMENTASSUMECS:CODEST:MOVAH, 01H ;键盘输入并回显,AL=输入字符INT21HMOVCL, 4SHLAL, CLMOV DL, ALMOVAH, 01HINT21HANDAL, 0FHORDL, ALMOVBL, DL;保护DL原值SHRDL, CLORDL, 30HMOVAH, 02H;显示十位数,DL=输出字符INT21HMOVDL, BLANDDL, 0FHORDL, 30HMOVAH, 02H;显示个位数INT21HMOV AH, 4CHINT2

9、1HCODEENDSENDST要求先编写汇编文件, EMU8086采用单步调试的方法进行运行调试,任意输入两个数字,验证实验结果。五、实验报告实验报告要求参考附录一。实验三 顺序结构程序设计一、实验目的和要求1. 熟悉EMU8086集成环境软件的使用方法。2. 熟悉8086汇编指令,能自己编写简单的程序,并调试运行验证结果。二、实验任务学习使用EMU8086集成环境软件,验证及编写调试实验内容的程序。三、实验设备和软件PC机、EMU8086四、实验内容1. 编写简单程序,用数据运算指令,对两个16位数做加法运算。这两个数从地址10050H开始连续存放,低位在低地址一端,结果放在这两个数之后。实

10、验框图:初始化被加数AX开始暂停被加数+加数AXAX(00054)和(00050)单元段地址DS:0000H , 被加数指针SI50H加数指针DI52H ,和的指针BX54H段地址DS:0000H , 被加数指针SI50H清除AX和CF程序清单:CODE SEGMENTASSUMECS:CODEBG:MOVAX,0000HMOVDS,AXMOVSI,50HMOV DI, 52HMOVBX, 54HCLCXORAX, AXMOVAX, SIADCAX, DIMOVBX, AXHLTCODEENDSENDBG2。 编写简单程序,实现组合BCD码转换成ASCII码送CRT显示。程序清单:CODE S

11、EGMENTASSUMECS:CODEBEGIN:MOVAL,27H;27的BCD码,先显示高位。MOV DL, ALMOV CL, 4SHR DL, CLOR DL, 30HMOVAH, 2INT 21H;显示2MOV DL, ALANDDL, 0FHORDL, 30HMOV AH, 2INT 21H;显示7MOV AH, 4CHINT 21HCODE ENDSENDBEGIN 3. 试用已学过的指令编程,运算以下算式: 、5555H + 6666H + 8756H、5678 +(-1234) 43214。 已知BX=12ABH,试编程将其内容转换成ASCII码送到数据段0100H单元开始存

12、放.五、实验报告实验报告要求参考附录一.实验四 分支结构程序设计一、实验目的和要求1。 学习分支结构程序的设计和调试方法;2。 熟悉8086汇编指令中的程序控制指令的应用。二、实验任务学习使用EMU8086集成环境软件,验证及编写、调试实验内容。三、实验设备和软件PC机、EMU8086四、实验内容1。 已知在内存中有一个字节单元NUM,存有带符号数据,要求计算出它的绝对值后,放入RESULT单元中. 题目分析:根据数学中绝对值的概念知道,一个正数的绝对值是它本身,而一个负数的绝对值是它的相反数;要计算一个数的相反数,需要完成减法运算,即用0减去这个数。8086/8088指令系统中有专门的求相反

13、数的指令NEG.实验框图:开 始AL0?NY结束初始化将X中的内容取到AL中将AL中的内容求补AL中的内容送RESULT单元程序清单:DATASEGMENTXDB-25RESULTDB?DATAENDSCODESEGMENTASSUMECS:CODE, DS:DATASTART:MOVAX,DATAMOV DS, AX; 初始化MOV AL, X;X取到AL中TEST AL, 80H;测试AL正负JZ NEXT;为正,转NEXTNEG AL否则AL求补NEXT:MOV RESULT, AL;送结果MOVAH, 4CHINT 21H;返回DOSCODEENDSEND START;汇编结束 2。

14、编写计算下面函数值的程序: 1 X0Y= 0 X=0 1 X0设输入数据为X、输出数据Y,且皆为字节变量.3. 试编一程序,求三个带符号字数据中的最大值,并将最大值存入MAX字单元中。设三个带符号数分别在三个字变量X、Y、Z中存储。五、实验报告实验报告要求参考附录一。实验五 循环结构程序设计一、实验目的和要求1. 学习、掌握循环结构程序的设计和调试方法;2. 熟悉8086汇编指令中的程序控制指令和LOOP指令的应用.二、实验任务学习使用EMU8086集成环境软件,验证及编写、调试实验内容。三、实验设备和软件PC机、EMU8086四、实验内容1. 编写程序完成求123N的累加和,直到累加和超过1

15、000为止。统计被累加的自然数的个数送CN单元,累加和送SUM.流程图如下图所示。实验框图:开 始AX1000?NY结束初始化0送AX,0送BX BX加1送BXAX加BX送AX BX送N,AX送SUM 程序清单:DATASEGMENTSUMDW?CNDW?DATAENDSCODESEGMENTASSUMECS:CODE, DS:DATASTART:MOVAX,DATAMOV DS, AX; 初始化MOV AX, 0;0送AXMOVBX, 0LP:INCBX;BX加1ADDAX, BX; 求累加和CMPAX, 1000; 比较JBELP; 1000转MOVSUM, AXMOV CN, BX; 送

16、结果MOV AH, 4CHINT21HCODEENDSENDSTART; 汇编结束 2. 采用LOOP指令来实现上例.3。 已知有几个元素存放在以BUF为首址的字节存贮区中,试统计其中正元素的个数。显然,每个元素为一个8位有符号二进制数,统计其中正元素的个数可用循环程序实现。五、实验报告实验报告要求参考附录一。实验六 子程序设计一、实验目的和要求学习子程序的结构、特点,以及子程序的设计和调试方法.二、实验任务学习使用EMU8086集成环境软件,验证及编写、调试实验内容。三、实验设备和软件PC机,EMU8086四、实验内容1. 设计一个子程序,功能是将一个字节的BCD码转换成二进制数.说明:名称

17、:BCD2BIN 功能:将一个字节的BCD码转换成二进制数 所用寄存器:CX 入口参数:AL存放两位BCD码 出口参数:AL存放二进制数 主程序及子程序清单:CODESEGMENTASSUMECS:CODESTART:MOVAL,12HCALLBCD2BINHALTBCD2BINPROC NEAR;子程序PUSH CXMOVCH, ALANDCH, 0FH;存低4位MOVCL, 4SHRAL, CL;高4位右移4位后乘10MOVCL, 10MULCLADDAL, CH;高4位加低4位POPCXRETBCD2BINENDP CODEENDSEND START2。 试编写一个将BCD码转换成ASC

18、II码并显示的子程序。3. 试编写一个求字变量绝对值的子程序。五、实验报告实验报告要求参考附录一。附录1 汇编语言上机实验基础1。1 汇编语言程序上机实验过程图1。1 汇编语言程序上机实验过程汇编语言上机实验的主要过程如图1.1所示,包括如下几个步骤:1、建立和修改源程序文件在编写出汇编语言源程序后,应建立源文件(扩展名为。ASM)。可运用Windows自带的记事本建立汇编源程序文件。2、汇编源文件.ASM源文件必须先由汇编程序(如ASM、MASM、TASM等)把它汇编(翻译)为目标文件(扩展名为.OBJ),才能在计算机上运行。3、链接(链接)为了使目标程序文件能在特定的系统环境下执行,经汇编

19、后产生的目标文件需经过链接生成可执行文件(扩展名为。EXE),才能在计算机上启动运行.链接过程通过调用链接程序来完成。4、调试程序必须经过试运行和调试后才能正式投入运行.若程序没有错误,前3步完成后即可运行程序。若程序有错误,则在汇编提示错误下修改程序,直到程序无误经过汇编、链接生成可执行文件。调用调试程序(如DEBUG、TDEBUG等)进行调试。5、运行程序在程序没有错误的情况下即可运行程序。1。2 实验及实验报告要求一、实验要求上机实验是微机原理及应用课程一个重要的学习环节,要求学生在每次实验前应做充分的准备工作,认真预习,明确实验目的,在上机前自己编写出程序并认真检查,在实验过程中经过调

20、试改正程序中的错误,得到正确的结果。自己有电脑的同学可预先在自己的电脑上进行调试。在上机调试过程中,学生对遇到的问题要认真分析、找出原因给予解决.鼓励相互讨论,做到“动手、动脑、协作”,着重培养自主学习、研究性学习和协作学习的能力。要注意及时将调试的主要过程和结果记录或者拷屏保存.二、实验报告要求每次实验完成后,应认真撰写实验报告。实验报告的主要内容为:(1)实验目的和要求(2)实验软件,写出本次实验用软件名称。(3)实验内容,实验具体内容及实验结果记录(4)调试说明和结果,指调试的主要过程和运行结果,以及有关的必要的说明。(流程图、源程序清单、拷屏截图等可以打印后以附件的形式粘贴在实验报告中。)(5)实验总结,对程序设计的技巧分析、对实验结果的分析等。23

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 应用文书 > 技术指导

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服