欢迎来到天天文库
浏览记录
ID:50729340
大小:350.50 KB
页数:21页
时间:2020-03-07
《微机原理实验指导书.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、《8086/8088微机原理与接口技术》实验指导书成都理工大学核技术与自动化工程学院电气工程系2012-9-10目录实验一EMU8086软件的使用1实验二8086指令观察3实验三顺序结构程序设计5实验四分支结构程序设计7实验五循环结构程序设计9实验六子程序设计11附录1汇编语言上机实验基础131.1汇编语言程序上机实验过程131.2EMU8086141.3实验及实验报告要求17基础软件实验部分共有六个实验组成,通过对这些实验程序的编写、调试,使学生熟悉8086/8088的指令系统等,了解程序设计过程,掌握汇
2、编程序设计方法以及如何使用实验系统提供的各种调试、分析手段来排除程序错误。实验一EMU8086软件使用EMU8086是一款基于Windows的集编辑、汇编、链接、调试运行于一体的可视化的8086CPU仿真软件,有着与8086十分相近的功能。EMU8086是交互式学习汇编语言(AssemblyLanguage)、计算机结构(ComputerArchitecture)和逆向工程(ReverseEngineering)的完整仿真体系。其内部集成了汇编程序汇编器、链接器、虚拟硬件、参考资料、例程、学习指南等。EMU
3、8086是学习Intel8086微处理器的理想工具,它模拟真实微处理器的每一步骤,并显示内部寄存器、存储器、堆栈、变量和标志寄存器,而且其中任何一个数值都可通过鼠标双击来改变。同时它还提供了微机显示器、直流步进电机、交通灯、LED等虚拟外设。本节对EMU8086的使用方法作一简介,仍以例1的HELLO程序为例。双击EMU8086图标,打开程序。此时会弹出welcome窗口,见图1.1所示,可将该窗口关闭直接进入编辑状态;也可点击它的new按钮,则会弹出代码模板选择框供用户选择(可选择EXE模板),见图1.2
4、所示,一般点击Cancel按钮,直接进入编辑状态。在编辑窗口,可直接将源程序输入,见图1.3所示。图1.1welcome窗口图1.2模板选择图1.3编辑窗口输入源程序点击compile(编译)按钮则进行汇编和链接,生成.EXE文件,并提示存盘。点击emulate(仿真)按钮则可进入8086仿真器界面,见图1.4所示。界面中提供了寄存器窗口、内存单元窗口及反汇编窗口,下方一行按钮则提供了虚拟屏幕、源代码观察、复位、辅助工具、变量、DEBUG、堆栈及FLAGS(标志寄存器)观察等功能。用户可点击run连续运行程
5、序,也可点击singlestep对程序进行单步调试。图1.5为HELLO.EXE的运行结果,用户通过虚拟屏幕观察,非常形象生动。图1.48086仿真器界面图1.5HELLO.EXE的运行结果EMU8086提供了断点设置功能,见图1.6所示,先用鼠标选中要设置为断点的指令,然后点击菜单debug——setbreakpoint,即可设置断点。若要清除断点,则点击菜单debug——clearbreakpoint。图1.6断点设置EMU8086也支持DEBUG调试程序,仿真器界面下方的一行按钮中有debug按钮,点
6、击打开后可输入DEBUG命令进行调试。见图1.7所示。图1.7EMU8086提供的DEBUG实验二8086指令观察一、实验目的和要求1.掌握汇编语言程序编辑、汇编、链接和调试的基本概念。2.掌握在PC机上建立、汇编、链接和运行8088汇编语言程序的过程。3.通过观察深入掌握数据传送类、算术运算类和逻辑运算类等各类指令的功能。二、实验任务编辑汇编程序,并汇编、链接和调试程序,验证结果。三、实验设备和软件PC机、EMU8086四、实验内容1.寻找最大最小数程序实验设内存缓冲区从BUF单元开始,存放若干个单字节数
7、,其数据长度在BUF单元,要求找出最大数送MAX单元,最小数送MIN单元。源程序:;FILENAME:MAXMIN.ASMDATASEGMENTBUFDB9,-4,55,78,-9,0,41,124B1EQU$-BUFMAXDB?MINDB?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVCH,0MOVCL,B1;CX=数据个数DECCX;循环次数MOVAL,BUF;第一个数据送AL寄存器MOVMAX,AL;假设第一个数是
8、最大数MOVMIN,AL;假设第一个数是最小数MOVBX,OFFSETBUF+1;下一个数据地址LAST:MOVAL,[BX]CMPAL,MAX;比较JGGREATCMPAL,MINJLLESSJMPNEXTGREAT:MOVMAX,AL;大数->MAXJMPNEXTLESS:MOVMIN,AL;小数->MINNEXT:INCBXLOOPLASTNOP;实验时程序执行到此,通过D命令查看数据段结果MOVAH,4C
此文档下载收益归作者所有