微机原理实验指导书

上传人:平*** 文档编号:8806158 上传时间:2017-09-29 格式:DOC 页数:21 大小:370.77KB
返回 下载 相关 举报
微机原理实验指导书_第1页
第1页 / 共21页
微机原理实验指导书_第2页
第2页 / 共21页
微机原理实验指导书_第3页
第3页 / 共21页
微机原理实验指导书_第4页
第4页 / 共21页
微机原理实验指导书_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《微机原理实验指导书》由会员分享,可在线阅读,更多相关《微机原理实验指导书(21页珍藏版)》请在金锄头文库上搜索。

1、成都理工大学18086/8088 微机原理与接口技术实验指导书成都理工大学核技术与自动化工程学院电气工程系2012-9-10成都理工大学2目 录实验一 EMU 8086 软件的使用 .1实验二 8086 指令观察 .3实验三 顺序结构程序设计 .5实验四 分支结构程序设计 .7实验五 循环结构程序设计 .9实验六 子程序设计 .11附录 1 汇编语言上机实验基础 .131.1 汇编语言程序上机实验过程 .131.2 EMU 8086 .141.3 实验及实验报告要求 .17成都理工大学3基础软件实验部分共有六个实验组成,通过对这些实验程序的编写、调试,使学生熟悉 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.

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

5、.4 8086仿真器界面图 1.5 HELLO.EXE的运行结果EMU 8086提供了断点设置功能,见图 1.6所示,先用鼠标选中要设置为断点的指令,然后点击菜单 debugset break point,即可设置断点。若要清除断点,则点击菜单 debugclear break point。成都理工大学6图 1.6 断点设置EMU 8086也支持 DEBUG调试程序,仿真器界面下方的一行按钮中有 debug按钮,点击打开后可输入 DEBUG命令进行调试。见图 1.7所示。图 1.7 EMU 8086提供的 DEBUG成都理工大学7实验二 8086 指令观察一、实验目的和要求1. 掌握汇编语言程

6、序编辑、汇编、链接和调试的基本概念。2. 掌握在 PC机上建立、汇编、链接和运行 8088汇编语言程序的过程。3. 通过观察深入掌握数据传送类、算术运算类和逻辑运算类等各类指令的功能。二、实验任务编辑汇编程序,并汇编、链接和调试程序,验证结果。三、实验设备和软件PC机、EMU8086四、实验内容1. 寻找最大最小数程序实验设内存缓冲区从 BUF单元开始,存放若干个单字节数,其数据长度在 BUF单元,要求找出最大数送 MAX单元,最小数送 MIN单元。源程序:;FILENAME:MAXMIN.ASMDATA SEGMENTBUF DB 9,-4,55,78,-9,0,41,124B1 EQU $

7、-BUFMAX DB ?MIN DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX, DATAMOV DS, AXMOV CH, 0MOV CL, B1 ;CX=数据个数DEC CX ;循环次数 MOV AL, BUF ;第一个数据送AL寄存器成都理工大学8MOV MAX, AL ;假设第一个数是最大数MOV MIN,AL ;假设第一个数是最小数MOV BX, OFFSET BUF+1 ;下一个数据地址LAST: MOV AL, BXCMP AL, MAX ;比较JG GREATCMP AL, MINJL LESSJMP N

8、EXTGREAT: MOV MAX, AL ;大数-MAXJMP NEXTLESS: MOV MIN, AL ;小数-MINNEXT: INC BXLOOP LASTNOP ;实验时程序执行到此,通过D命令查看数据段结果MOV AH, 4CHINT 21HCODE ENDSEND START2. 代码转换实验从键盘输入 2个十进制数组合成压缩 BCD码存入 DL,再将压缩 BCD码转换成 ASCII码送 CRT显示。 源程序:CODE SEGMENTASSUME CS:CODEST: MOV AH, 01H ;键盘输入并回显,AL=输入字符INT 21HMOV CL, 4SHL AL, CLM

9、OV DL, ALMOV AH, 01H成都理工大学9INT 21HAND AL, 0FHOR DL, ALMOV BL, DL ;保护DL原值SHR DL, CLOR DL, 30HMOV AH, 02H ;显示十位数,DL=输出字符INT 21HMOV DL, BLAND DL, 0FHOR DL, 30HMOV AH, 02H ;显示个位数INT 21HMOV AH, 4CHINT 21HCODE ENDSEND ST要求先编写汇编文件, EMU8086采用单步调试的方法进行运行调试,任意输入两个数字,验证实验结果。五、实验报告实验报告要求参考附录一。成都理工大学10实验三 顺序结构程序

10、设计一、实验目的和要求1. 熟悉 EMU8086集成环境软件的使用方法。2. 熟悉 8086汇编指令,能自己编写简单的程序,并调试运行验证结果。二、实验任务学习使用 EMU8086集成环境软件,验证及编写调试实验内容的程序。三、实验设备和软件PC机、EMU8086四、实验内容1. 编写简单程序,用数据运算指令,对两个 16位数做加法运算。这两个数从地址 10050H开始连续存放,低位在低地址一端,结果放在这两个数之后。实验框图:初始化被加数AX开始暂停被加数+加数AXAX(00054)和(00050)单元段地址 DS:0000H , 被加数指针SI 50H加数指针 DI52H ,和的指针 BX

11、54H段地址 DS:0000H , 被加数指针SI 50H清除 AX 和 CF程序清单:CODE SEGMENTASSUME CS:CODE成都理工大学11BG: MOV AX,0000HMOV DS,AXMOV SI,50HMOV DI, 52HMOV BX, 54HCLCXOR AX, AXMOV AX, SIADC AX, DIMOV BX, AXHLTCODE ENDSEND BG2. 编写简单程序,实现组合 BCD码转换成 ASCII码送 CRT显示。程序清单:CODE SEGMENTASSUME CS:CODEBEGIN: MOV AL,27H ;27的BCD码,先显示高位。MOV

12、 DL, ALMOV CL, 4SHR DL, CLOR DL, 30HMOV AH, 2INT 21H ;显示2MOV DL, ALAND DL, 0FHOR DL, 30HMOV AH, 2成都理工大学12INT 21H ;显示7MOV AH, 4CHINT 21HCODE ENDSEND BEGIN3. 试用已学过的指令编程,运算以下算式:、5555H + 6666H + 8756H、5678 +(-1234)- 43214. 已知 BX=12ABH,试编程将其内容转换成 ASCII码送到数据段 0100H单元开始存放。五、实验报告实验报告要求参考附录一。成都理工大学13实验四 分支结构

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

14、NY结束初始化将 X 中的内容取到 AL 中将 AL 中的内容求补AL 中的内容送 RESULT 单元程序清单:DATA SEGMENTX DB -25RESULT DB ?成都理工大学14DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX,DATAMOV DS, AX ; 初始化MOV AL, X ;X取到 AL中TEST AL, 80H ;测试 AL正负JZ NEXT ;为正,转 NEXTNEG AL 否则 AL求补NEXT: MOV RESULT, AL ;送结果MOV AH, 4CHINT 21H ;返回 DOSCODE ENDSEND START ;汇编结束2. 编写计算下面函数值的程序:1 X0Y= 0 X=0-1 X0设输入数据为 X、输出数据 Y,且皆为字节变量。3. 试编一程序,求三个带符号字数据中的最大值,并将最大值存入 MAX字单元中。设三个带符号数分别在三个字变量 X、Y、Z 中存储。五、实验报告实验报告要求参考附录一。成都理工大学15实验五 循环结构程序设计一、实验目的和要求1. 学习、掌握循

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号