Emu8086的使用方法(实验一)新..
Emu8086的使用方法(实验一)新

作者:张锡鹤
2012.10.11
实验一
Emu8086仿真软件的使用
实验目的:
1. 学习、掌握Emu8086软件的使用方法;
2. 了解汇编语言的程序结构及调试方法。
实验要求:
1. 能够正确选择Emu8086软件的工作模
板; 2. 能够正确编写存储器中两个多位无符
号数相加的源程序;
例如实验程序、实验结果等;
• 及时归纳实验中发现的问题,并将解决办法写入
实验报告;
• 欢迎您在报告中提供改进本次实验的建议。
• Emu8086仿真软件在实验室的计算机上安 装时,许多机器不支持汉化,希望大家提 前有个思想准备,最好先熟悉一下软件的 使用方法。
Emu8086软件的其它功能
• Emu8086能够利用自带的软件实现“虚拟屏
在源文件中 改正错误后 还需要重新
编译,直至
无错误为止。
建立并保存编译后的文件(取名)。
如果存在同名文件时,会出现提示。 是否替换原文件,你自己决定。
使用 “单步 执行” 便于观
察、分
析运行 的过程
观察并分析: CS、IP的初 始值与代码
段有哪些关
系。
分析: 第一 条指 令中 DSEG 的实 际段
文件的保存:点击快捷键“保存” 。
也可以从“文件”项目中选择“另存 为”。
• 所保存文件的扩展名,自动定为.ASM。
文件的编译:编辑好的文件需要进行
编译后才能运行。可点击“编译”快 捷键。
如果编译正确, “编译错误”栏
中空白。
如果出错, “编译错误” 栏中将有错 误说明。并
改变源文件
出错行的颜 色。
地址 为什 么是 0B67h?
微型计算机原理及接口技术实验报告

CL
ADD
AL, CH
;高4位加低4位
POP
CX
RET
BCD2BIN
ENDP
CODE
ENDS
END
START
编辑后:
编译后:
点击运行后:
运行后:
4.实验总结:
本次实验中:三个结构中数据段datasegment定义数据,堆栈段stacksegment要求存取空间,代码段codesegment编写主程序代码,用寄存器CX将,入口参数AL中存放两位BCD码,出口参数AL 中存放转换后的二进制数。首先调取存取空间,并且调用子程序,CALL指令,HLT是8086处理器处于停止状态,不执行指令,定义过程的伪指令PROC,子程序中push将把CX的值压入堆栈段,SHR逻辑右移指令,MUL的乘法指令,子程序BCD2BIN中的RET是返回指令。本实验通过对子程序的调用,以及返回等操作来实现将BCD码转换成二进制数。
ENDS
END
START
将问号改成0后编译源程序得到错误如下:
清除错误后得到
点击run
运行后得到
2. 代码转换实验
从键盘输入2个十进制数组合成压缩BCD码存入DL,再将压缩BCD码转换成ASCII码送CRT显示。
源程序:
CODE
SEGMENT
ASSUME
CS:CODE
ST:
MOV
AH, 01H
INT
4、实验总结
通过本实验:可以知道在不同的环境下运行emu8086是要注意某些问题,比如xp环境下的问号在win7下要改成0,编辑程序的框架分为三个部分数据段datasegment堆栈段stacksegment代码段codesegment。编辑好以后要点击编译必须无误后才能运行。点击运行后可以在下一个界面单步观察,AX BX CX DX CS IP SS SP BP SI DI DS ES的值的情况以便更好的了解emu8086。
8086实验指导书

频率 300KHz 8088
AEDK88ET
与PC机连
ADC0809
8279
VCC GND
8259 蜂呜器 8位开关
8251 8253 62256
39
I/O译码电路
40
第四章 硬件接口实验
41
1
实验一
一、实验要求
双色灯实验
编写程序,以8255为输出口,控制四个双色灯按红、绿、黄的要求发光。
二、实验目的
35
8. 实验仪必须如下显示才算加载成功
只有显示8688 2.1 才算加载成功
36
9.如何知道程序是不是处在执行状态,可观察如下几个位 置:
与
交替闪烁
与
交替闪烁
37
10.如何中止程序的执行
1.中止执行程 序按HALT
2 .恢复初始 状态按RST
38
电位器 译码器地址 8位LED 电源开关
交通灯 DAC0832 8255
26
主程序 调用inword 调用sort BUFF→SI [SI]→AL 调用display SI+1
Display子程序 AL/10→AL,AH AL+30H→AL AH+30H→AH AH→DH AH=2 调用 INT21H显示 显示空格 CX-1 CX=0? 结束
27
A
DH → AL
AH=2调用 INT21H显示 RET
23
实验二 从键盘输入并换
一. 实验要求 从键盘输入5个有符号2位十进制数,将它转换成有符号二进制数, 将结果送入内存中buff开始的单元中。 二. 实验目的 掌握键盘接受数据的方法,码制转换。 三. 实验程序框图 算法: ①符号字符串→标识符MINU。若为负, MINU=1; ②数字字符(31H~39H)→一位十进制数(0~9)a0,a1,a2… ③十进制数转换成十六进制数: 十六进制数=a2x100+a1x10+a0 =(a2x10+a1) x10+a0 ④ 转换后查符号,如果是负数,取补 码制转换部分流程图: 24
emu8086使用教程

Emu8086模拟器
安装步骤如下:
1.解压缩:将解压到当前文件夹,会增加一个Emu8086 文件夹;
2.安装:打开Emu8086 文件夹,选择Emu8086 子文件夹,执行程序,进行安装;
3.汉化:将emu8086_汉化包解压缩,然后将其子文件夹emu8086_chs_zhaopeng内所有文件复制到C:\Program Files\文件夹内,完成汉化工作。
4.注册:按照Emu8086 文件夹内的“注册码.txt”文档提供的Name, Code, Licence进行注册,完成安装。
Emu8086的使用
新建文件(四种模板):
COM模板:适合简单程序段,从代码段的偏移地址为1000H处开始存放指令
EXE模板:适合完整程序的编写
BIN模板:一般不用,因为不能正确解释伪指令
BOOT模板:编写程序,数据段的段地址为07C0H
查看内存、修改内存:[查看]/[查看外部内存查看器]
查看变量值:[查看]/[变量]
查看标志寄存器:[查看]/[标志寄存器]查看堆栈:[查看]/[堆栈]
表达式求值:[数学]/[表达式求值]
数值转换:[数学]/[数值转换]。
微机原理与接口技实验报告

微机原理与接口技术实验报告学院: 核技术与自动化工程学院专业: 电气工程及其自动化班级: XXXXXX学号: XXXXX姓名: XXX指导老师: XXX完成时间: 2012、11、14实验一 EMU8086软件的使用一、实验目的1、了解EMU 8086软件的基本使用步骤和各个工作区的功能,在能力方面主要是学以致用,将理论知识运用于实际的设计,从设计的完整和缺陷中找到新的突破口,以便温故而知新,从而提升自己的实际操作技能,能够通过自我想象与思考做出很多有价值的设计。
2、在系统的学习了微机原理与接口技术后,主要针对8086,利用emu8086软件设计一些程序,熟悉了解此款软件的运行过程中各个步骤寄存器内容及地址的变化。
3、在理论方面,基础软件实验部分共有六个实验组成,通过对这些实验程序的编写、调试,使学生熟悉8086/8088的指令系统等,了解程序设计过程,掌握汇编程序设计方法以及如何使用实验系统提供的各种调试、分析手段来排除程序错误。
二、实验仪器及设备PC设备、EMU8086软件平台、EMU8086软件仿真平台三、实验内容双击EMU8086图标,打开程序。
此时会弹出welcome窗口,见图1.1所示,可将该窗口关闭直接进入编辑状态;也可点击它的new按钮,则会弹出代码模板选择框供用户选择(可选择EXE模板),见图1.2所示,一般点击Cancel按钮,直接进入编辑状态。
在编辑窗口,可直接将源程序输入,见图1.3所示。
图1.1 welcome窗口图1.2 模板选择图1.3编辑窗口输入源程序点击compile(编译)按钮则进行汇编和链接,生成.EXE文件,并提示存盘。
点击emulate(仿真)按钮则可进入8086仿真器界面,见图1.4所示。
界面中提供了寄存器窗口、内存单元窗口及反汇编窗口,下方一行按钮则提供了虚拟屏幕、源代码观察、复位、辅助工具、变量、DEBUG、堆栈及FLAGS(标志寄存器)观察等功能。
Emu8086软件的使用

Emu8086软件的使用一、实验目的:(1)熟悉汇编语言开发环境。
(2)掌握Emu8086软件使用方法。
(3)了解汇编语言的程序结构、调试一个简单的程序。
(4)理解寻址方式的意义。
二、实验内容及要求:1、Emu8086的使用(1)打开桌面上的Emu8086的图标,出现如图所示的对话框,选择【继续……】首次打开软件,界面中默认已有一段小程序。
该程序实现在屏幕上显示三段字符串的功能。
若用户需要自己重新编程,可点击工具栏的【新建】图标,出现如图所示的对话框,选择编程所采用的模板。
选择不同的模板,在程序源代码中会出现如下标记:#MAKE_COM# 选择COM模板#MAKE_BIN# 选择BIN模板#MAKE_EXE# 选择EXE模板#MAKE_BOOT# 选择BOOT模板#MAKE_COM#最古老的一个最简单的可执行文件格式。
采用此格式,源代码应该在100H后加载(即:源代码之前应有ORG 100H)。
从文件的第一个字节开始执行。
支持DOS和Windows命令提示符。
#MAKE_EXE#一种更先进的可执行文件格式。
源程序代码的规模不限,源代码的分段也不限,但程序中必须包含堆栈段的定义。
您可以选择从新建菜单中的EXE模板创建一个简单的EXE程序,有明确的数据段,堆栈段和代码段的定义。
程序员在源代码中定义程序的入口点(即开始执行的位置),该格式支持DOS和Windows命令提示符。
这两种模板是最常用的模板(2)选择COM模板,点击【确定】,软件出现源代码编辑器的界面,如图所示:在源代码编辑器的空白区域,编写如下一段小程序:MOV AX, 5MOV BX, 10ADD AX, BXSUB AX, 1HLT代码编写结束,点击菜单【文件】【另存为……】,将源代码换名保存。
本例将源代码保存为001.asm。
点击工具栏的【模拟】按钮,如果程序有错误不能编译,出现如图所示的界面:点击错误提示,即可选择源代码中相应的错误的行,在此处更改源代码。
Emu8086使用指南教案资料

E m u8086使用指南如何运行?1.在开始菜单选在它的图标,或者直接运行Emu8086.EXE2.在"FILE"菜单中选择"SAMPLE"3.点击"Compile and Emulate"按纽(或者按快捷键F5)4.点击"Single Step"按纽(或者按快捷键F8),可以查看代码如何运行.十进制系统目前使用最多的是十进制.十进制系统有10个数字0,1,2,3,4,5,6,7,8,9利用这些数字能表示任何数值,例如754这些数字是由每一位数字乘以“基数”的幂累加而成的(上一个例子中基数是10 因为十进制中有十个数字)。
位置对于每一个数字是很重要的。
例如,你将上一个例子中的“7”放到结尾:547数值就成为:特别提醒:任何数字的0次幂都是1,0的0次幂也是1二进制计算机没有人类聪明(至少现在是这样),制造一个只有开关或者称为 0,1 两种状态的电子机器很容易。
计算机使用二进制系统,只有两个数字0, 1基地为2每一位二进制数称作一位(BIT),4 BIT 组成一个半字节(NIBBLE),8BIT组成一个字节(BYTE),两个字节组成一个字(WORD),两个字组成一个双字(DOUBLE WORD)(很少使用):习惯上在一串二进制后面加上“b”,这样,我们可以知道101b是二进制表示十进制的5。
二进制10100101b表示十进制的165,计算方法如下:十六进制系统十六进制系统使用16个数字0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F基底是16. 十六进制非常紧凑,便于阅读。
将二进制转换为十六进制很容易,半字节(4bits)对应一位十六进制如下表Decimal (base 10)Binary(base 2)Hexadecimal(base 16)0 0000 01 0001 12 0010 23 0011 34 0100 45 0101 56 0110 67 0111 78 1000 89 1001 910 1010 A11 1011 B12 1100 C13 1101 D14 1110 E15 1111 F习惯上我们在一个十六进制数的后面加上"H",以便和其他进制区别, 这样我们就知道 5Fh是一个十六进制数表示十进制的 95。
实验一-8086汇编语言上机调试及基本操作.

实验一:8086汇编语言上机调试及基本操作(验证性)1、实验目的:(1)掌握常用DEBUG命令: G,D,R,T,U,Q。
(2)掌握工具软件EMU8086。
(3)掌握完整程序设计方法的格式,能正确书写数据段,代码段等。
(4)掌握简单的数值转换算法2、实验说明:计算机中的数值有各种表达方式,这是计算机的基础。
掌握各种数制之间的转换是一种基本功。
3、程序框图:对于0-999(即000H-3E7H)范围内的二进制数4、参考程序:; 将AX中的三位数拆为三个BCD码, 并存入Result 开始的三个单元DATA SEGMENT; 数据段RESULT_1 DB 1RESULT_2 DB 1RESULT_3 DB 1DATA ENDSSTACK SEGMENT STACK ; 堆栈段STA DB 64 DUP(0)STACK_TOP DB 0STACK ENDSCODE SEGMENT; 代码段ASSUME CS:CODE , DS:DATA , ES:DATA , SS:STACKSTART:MOV AX, DATAMOV DS, AX ; 设置数据段MOV AX, STACKMOV SS, AX ; 设置堆栈段LEA SP, STACK_TOP ; 设置栈顶指针MOV AX, 2afHMOV CL, 100DIV CLMOV RESULT_1, AL ; 除以100, 得百位数MOV AL, AHMOV AH, 0MOV CL, 10DIV CLMOV RESULT_2, AL ; 余数除以10, 得十位数MOV RESULT_3, AH ; 余数为个位数MOV AX,4C00H ; 返回DOSINT 21H ;CODE ENDSEND START ; 最后一行要按回车键5、实验及报告要求:1)用合适的编辑软件编辑以上源文件并存入合适目录;要求补充注释未注释的伪指令和指令;2)分别在DOS和Windows下编译、连接生成可执行文件,比较两个环境下生成的机器码的长度和内容;试指出第2、5、7、10、14条指令的IP和机器码。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DSEG DATA1 DATA2 DSEG CSEG
SEGMENT 'DATA' DW 0F865H DW 360CH ENDS SEGMENT 'CODE' ASSUME CS:CSEG,DS:DSEG START: MOV AM, DSEG MOV DS,AX MOV AX, ESEG MOV ES, AX LEA SI, DATA1 MOV AX, DATA1 ADD AX, DATA2 MOV [2800H], AX HLT CSEG ENDS END START (注:源程序有故意保留的错误,请你改正)
例如实验程序、实验结果等;
• 及时归纳实验中发现的问题,并将解决办法写入
实验报告;
• 欢迎您在报告中提供改进本次实验的建议。
• Emu8086仿真软件在实验室的计算机上安 装时,许多机器不支持汉化,希望大家提 前有个思想准备,最好先熟悉一下软件的 使用方法。
Emu8086软件的其它功能
• Emu8086能够利用自带的软件实现“虚拟屏
地址 为什 么是 0B67h?
注意观察内存,分析 数表的排列顺序。
3、编程练习二
• 编写计算5899H+7987H的程序,并将计算结
果存入0B88H单元;
• 单步运行,并认真记录标志寄存器的信息
变化; • 从内存中观察计算结果。
实验报告要求:
• 认真填写实验报告中各项内容;
• 允许在实验报告中粘贴复制的计算机屏幕信息,
在源文件中 改正错误后 还需要重新
编译,直至
无错误为Байду номын сангаас。
建立并保存编译后的文件(取名)。
如果存在同名文件时,会出现提示。 是否替换原文件,你自己决定。
使用 “单步 执行” 便于观
察、分
析运行 的过程
观察并分析: CS、IP的初 始值与代码
段有哪些关
系。
分析: 第一 条指 令中 DSEG 的实 际段
编辑界面:第一次编写源程序, 点击
“新建”按钮,否则,点击“打开”按 钮。
工作模板的选择:选择“EXE模
板”。
“EXE模板”编辑界面
几点说明: • “模板”列出了常用的“段”设置和
“子程序”设置部分,您可以根据需
要进行选择。不需要的部分及内容可 以直接删除。 • ASSMUME指令需要自己编写。
3. 能够正确处理出现的编辑错误;
4.能够“单步执行”程序,并认真观察、 判断每条指令执行的结果是否正确;
5.对执行中出现的错误结果,能够做出
作出相应的处理。
实验内容
1、熟悉Emu8086软件
•运行Emu8086软件 可以直接从Windows桌面点击下面所示 的快捷图标即可。
用鼠标点击 “继续”按钮
• 编写源程序时,尽量按照“模板”的 格式和字体书写,以便养成良好的习 惯。 • 编写源程序时,允许在“英文”或
“中文”状态下编辑,但注释前面的
分号“;”需用英文分号。
2、编程练习一
在数据表DATA1中存放数据 0F865H,在 数据表DATA2中存放数据360CH。现编写 出将两数分别取出相加,然后将计算结 果存放到当前数据段中,偏移地址为 3800H单元中的源程序。
幕显示”、“虚拟打印”、“虚拟LED数码
显示”、“虚拟接口”和“虚拟温度控制”
实验。
• Emu8086能够利用自带的实验软件还可以进
行“交通灯实验”、“步进电机实验”和 “机器人实验”。
《微机原理及应用》实验
作者:张锡鹤
2012.10.11
实验一
Emu8086仿真软件的使用
实验目的:
1. 学习、掌握Emu8086软件的使用方法;
2. 了解汇编语言的程序结构及调试方法。
实验要求:
1. 能够正确选择Emu8086软件的工作模
板; 2. 能够正确编写存储器中两个多位无符
号数相加的源程序;
文件的保存:点击快捷键“保存” 。
也可以从“文件”项目中选择“另存 为”。
• 所保存文件的扩展名,自动定为.ASM。
文件的编译:编辑好的文件需要进行
编译后才能运行。可点击“编译”快 捷键。
如果编译正确, “编译错误”栏
中空白。
如果出错, “编译错误” 栏中将有错 误说明。并
改变源文件
出错行的颜 色。