8086实验讲义
微机原理实验---Emu8086仿真软件的使用实验
EXE模板:适合完整程序的编写。 BIN模板:一般不用,因为不能 正确解释伪指令。
BOOT模板:编写程序,数据段 的段地址为07C0H。
选择COM模板, 软件出现源代码编辑器的界面, 如图所示:
(2)
存器的内容:
MOV AX,1000H ; AX=?
MOV BX,2000H ;BX=?
MOV CX,3000H ;CX=?
MOV DX, AX ;AX=? , DX=?
MOV AX, CX ;CX=?, AX =?
MOV CX, BX ;BX =?, CX =?
MOV BX, DX ;DX=?, BX=?
HLT
思考:该程序段实现什么功能?(3) 记录每条指来自执行后相关寄存器、存储器的内容:
MOV AX, 0B800H MOV DS, AX ; DS AX MOV CX, 5F41H MOV BX, 15EH MOV [BX], CX ; 将 CX的值传送到 BX 指出的内存
单元B800H:015EH中 HLT
(3)编辑源程序并保存,汇编源程序的文件扩展名 必须是ASM 。 在源代码编辑器的空白区域,编写程序。
程序编写结束,点击菜单【文件】【另存为……】, 将源程序保存,文件扩展名为.asm。
(4)编译程序 点击工具栏的【编译】按钮,对程序编译,检查语法 是否有错。如果程序有错误,编译不通过,并给出错 误提示的信息。
EMU8086集源代码编辑器,汇编/反汇编工 具以及可以运行debug的模拟器(虚拟机器) 于一身。它能够编译源代码,并在模拟器上一 步一步的执行。
计组8086指令格式实验报告
编码16位模式32位模式操作)000AX EAX AL001CX ECX CL010DX EDX DL011BX EBX BL100SP ESP AH101BP EBP CH110SI ESI DH111DI EDI BHR/M字段受MOD字段控制。
若MOD=11,为寄存器方式,R/M字段将指出第二操作数所在寄存器编号。
MOD=00,01,10为存储器方式,R/M则指出如何计算存储器中操作数地址。
MOD与R/M字段组合的寻址方式见表3。
表3 各种MOD与R/M字段组合编码及有关地址的计算(16位地址模式下)MOD=11寄存器寻址MOD≠11存储寻址、有效地址的计算公式R/M W=1W=0R/M不带位移l量MOD=00带8位位移量MOD=01带16位位移量MOD=10 000AX AL000[BX+SI][BX+SI+D8][BX+SI+D16]001CX CL001[BX+DI][BX+DI+D8][BX+SI+D16]010DX DL010[BP+SI][BP+SI+D8][BP+SI+D16]011BX BL011[BP+DI][BP+DI+D8][BP+DI+D16]100SP AH100[SI][SI+D8][SI+D16]101BP CH101[DI][DI+D8][DI+D16]110SI DH110(直接寻址)[BP+D8][BP+D16]111DI BH111[BX][BX+D8][BX+D16]例如:指令MOV AH,[BX+DI+50H]。
代码格式如下。
OPCODE D W MOD REG R/M DISP—8100010 1 0 01 100 001 01010000指令码:8A6150H。
指令ADD DISP [BX] [DI],DX;DISP=4523H代码格式:OPCODE D W MOD REG R/M DISP—Lo DISP—Hi000000 0 1 10 010 001 00100011 01000101指令码为:01 91 23 45H。
微机原理8086实验指导书
实验一循环程序、分支程序与运算程序的设计一. 实验内容1.在ABC地址处有20个字节数据,今要求传送到CBA地址处,并在屏幕上显示目的串的内容。
试用两种方法实现。
(字节串传送,字节传送循环)2.以BLOCK1和BLOCK2开头的2个字符串,其长度均为LEN,试编程实现:(1)将BLOCK1开头的字符串送到BLOCK2开始的内存空间。
(2)将BLOCK1开始的内存空间全部清零。
3.试编一程序,要求比较两个字符串STRING1和STRING2所含字符是否完全相同,若相同则屏幕显示“MATCH”,若不相同则屏幕显示“NO MATCH”4.在ABC和BCD两地址起,各有两个字节的无符号数,试编程实现这两个无符号数的加法以及减法运算,并将结果分别存放到CBA和DCB开始的存储单元中去。
二. 实验目的:1.使学生掌握MASM汇编环境下程序的编辑、编译、连接、调试过程及方法。
2.掌握程序框图的设计方法;3.掌握分支程序的设计方法;4.掌握循环程序的设计方法;三. 实验说明1.实验之前,一定写好预习报告(包括画出程序框图;写出程序),否则不准做实验;2.调试程序程序,改正语法错误和其他错误。
四. 实验报告要求:1.画出程序框图;2.写出预习过程中所写的两个程序;3.写出调试之后的程序和两个程序;实验二主程序与子程序的设计一. 实验内容1.试用子程序结构编写一程序:从键盘输入一个2位十进制的月份数(01~12),然后显示出相应的英文缩写名。
提示:根据题目要求实现的功能,可编写用一个主程序MAIN分别调用几个子程序。
(1)INPUT从键盘接收一个2位数,并把它转换为对应的二进制数。
(2)LOCATE 把输入的月份数与其英文缩写名(如JAN,FEB,MAR,APP,MAY,JUN等)对应起来,制成一个字符表以便查找。
DISPLAY 将找到的缩写字母在屏幕上显示出来,显示可用DOS所提供的显示功能(INT 21H的09号功能)。
实验报告——找出80868088指令系统所有指令的操作码的编码
实验二找出8086/8088指令系统所有指令的操作码的编码一、实验目的本实验旨在利用debug工具的e和u功能找出8086/8088指令系统的指令格式中各种操作码编码对应的指令功能。
二、试验原理:1、每条指令1~6个字节不等2、指令的第一字节为操作码,规定指令的操作类型。
第二字节规定操作数的寻址方式接着以后的3~6 字节依据指令的不同取舍。
3、第一个字节的八个二进制位中前六位为操作码的主要部分,之后一位是D字段,然后是W字段,W指出操作数类型:W=0 为字节,W=1 为字,D指出操作数的传送方向:D=0 寄存器操作数为源操作数,D=1 寄存器操作数为目标操作数。
4、用DOS的输入/输出重定向功能,让debug自动执行一批命令。
三、试验内容和步骤1、用试探法(1)打开debug,输入如下内容:-e 100 00 00 00 00 00 00-u 100 1050B5D:0100 0000 ADD [BX+SI],AL0B5D:0102 0000 ADD [BX+SI],AL0B5D:0104 0000 ADD [BX+SI],AL可以得到如下结果:结论:操作码字节前六位为000000(二进制)看来是一条ADD指令,而且只占两个字节。
记下来:指令码汇编指令---------------------------------------------------------------------0B5D:0100 0000 ADD [BX+SI],AL(2)将指令首字节变为01,重复以上实验-e 100 01 00-u 100 1010B5D:0100 0100 ADD [BX+SI],AX得到以下结果:结论:第1字节由00(二进制0000 0000)变为01(二进制0000 0001),ADD指令的第二个操作数由AL变为了AX。
AL为8位寄存器、AX为16位寄存器,印证了W字段的作用,增加一条有用的记录:指令码汇编指令-------------------------------------------------------------------------0B5D:0100 0000 ADD [BX+SI],AL0B5D:0100 0100 ADD [BX+SI],AX(3)将指令首字节变为02,重复以上实验-e 100 02 00-u 100 1010B5D:0100 0200 ADD AL,[BX+SI]得到以下结果:结论:第1字节由00(二进制0000 0000)变为02(二进制0000 0010),ADD 操作的传送方向发生转变,印证了D字段的作用。
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
8086 实验指导书
第一部分实验系统简介1.1 QTH软件环境介绍QTH-2008PCI实验仪提供了16位和32位两种微机接口集成实验环境,16位的开发环境“QTH-8086B V1.2”是通过PC机的串行接口与实验仪上的8088/8086H模块相连来实现系统开发的,它实际上是通过RS232接口仿真8088/8086的ISA总线环境的;32位的开发环境“QTH-2008PCI-C”是通过PC机的PCI插槽与实验仪上的PCI9052模块相连来实现系统开发的,它通过PCI插卡和PCI9052桥接芯片为用户提供了一个仿真ISA接口,同时它也提供了PCI总线控制芯片全开放的用户总线接口,使用户可以直接开发32位的应用程序。
“QTH-8086B V1.2”和“QTH-2008PCI-C”均可运行于Windows98/Me/2000/XP 操作系统。
但由于从Windows2000/XP操作系统开始,不再提供用汇编语言直接对低层口地址的操作以及BIOS、DOS功能调用的支持。
因此,在Windows2000/XP操作系统下“QTH-8086B V1.2”系统暂不支持BIOS、DOS功能调用,进行一般的汇编语言实验时也必须先打开实验仪电源;而“QTH-2008PCI-C”系统目前只能通过C 语言对端口地址进行操作,虽不能用汇编语言直接对端口地址操作,但可进行一般的汇编语言练习,包括部分DOS功能调用,而且可以运行于没有安装QTH-2008PCI 实验仪的PC机。
因此,在进行纯汇编语言练习时,使用“QTH-2008PCI-C”系统;进行接口操作时,则应使用“QTH-8086B V1.2”系统。
两种系统的使用方法非常接近,掌握一种系统的使用后,另一种系统自然就会使用了。
目前,启东市微机应用研究所正在开发能够在Windows2000/XP操作系统下进行所有微机接口操作的系统。
1.2 QTH软件系统的使用一、安装及进入QTH 系列开发系统QTH 系列开发系统的软件安装非常简单,只要运行随机光盘提供的Setup.exe 应用程序,所有操作均按默认选项进行即可。
8086实验报告
8086实验报告8086实验报告引言:8086微处理器是Intel公司于1978年推出的一款16位微处理器,它在计算机发展历史上具有重要的地位。
本实验旨在通过对8086微处理器的实际应用,深入了解其工作原理和功能。
一、实验目的本实验的目的是通过对8086微处理器的实际操作,掌握其基本指令的使用方法,并了解其内部结构和工作原理。
二、实验材料和方法1. 实验材料:- 8086微处理器开发板- 电源线- 串口线- 电脑2. 实验方法:- 将8086开发板与电脑通过串口线连接- 将电源线插入开发板并连接电源- 打开电脑,启动开发板上的操作系统- 使用汇编语言编写程序,并通过串口线将程序下载到开发板中- 在开发板上运行程序,观察结果并进行分析三、实验过程1. 硬件连接:将8086开发板与电脑通过串口线连接,并确保连接稳定。
2. 软件操作:打开电脑,启动开发板上的操作系统。
使用汇编语言编写程序,并通过串口线将程序下载到开发板中。
3. 程序运行:在开发板上运行程序,并观察结果。
通过分析程序的运行过程,了解8086微处理器的工作原理和功能。
四、实验结果与分析在本次实验中,我们编写了一个简单的程序,用于在开发板上显示一段文字。
通过观察开发板上的显示屏,我们可以看到程序成功地在8086微处理器上运行,并显示出我们编写的文字。
通过对程序的分析,我们可以了解到8086微处理器具有强大的计算和控制能力。
它能够执行各种指令,完成各种复杂的计算任务。
同时,8086微处理器还具有较大的存储空间和高速的数据传输能力,使得它能够处理大量的数据和信息。
此外,8086微处理器还具有良好的扩展性和兼容性。
它可以与其他外部设备进行连接,实现更多的功能和应用。
同时,8086微处理器与其后续型号的兼容性也非常好,这使得它在计算机领域得到了广泛的应用。
五、实验总结通过本次实验,我们深入了解了8086微处理器的工作原理和功能。
我们通过编写程序并在开发板上运行,亲身体验了8086微处理器的强大计算能力和高效数据传输能力。
实验一-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和机器码。
8086的微处理器结构(现场)的认识实验
微机原理及接口技术实验报告班级:10自动化本1班姓名:吴正翔学号:1015026109成绩:实验1:8086的微处理器结构(现场)的认识实验一、实验目的1.通过debug工具了解8086的寄存器2.了解debug工具二、预习要点1. 8086微处理器的内部特征。
2. 8086的寄存器类型、名称和作用。
3.debug工具的作用和特点。
三、实验项目在DOS下利用debug调试工具的R命令查看8086微处理器的现场(数据结构)四、实验设备环境PC机1台DOS操作系统debug工具(注:对于win764位机,打不开debug的同学,可下载DOSBOX 软件来模拟环境后,就可以的打开debug。
)五、实验方法在DOS下利用debug调试工具的R命令查看8086微处理器的现场(数据结构)。
六、实验要求1.写出R命令的功能。
2.写出8086的当前现场的所有数据部件(寄存器)的名称及作用。
实验1报告1.windows下进入debug的方法。
2.执行R命令3.R命令的功能4.8086的当前现场的所有数据部件(寄存器)的名称及作用。
5.实验感受。
实验2:8086传送类指令的学习实验一、实验目的1了解8086指令的特点2.验证常用传送处理指令类型的功能3.通用传送指令和专用传送指令的对比4.处理类指令的作用二、预习要点1.8086的寻址方式2.8086的传送类指令三、实验项目在DOS下利用debug调试工具的A、R和T命令,验证所有传送类指令的类型、范围、寻址方式及执行过程。
四、实验设备环境PC机一台DOS操作系统debug调试工具五、实验方法用A命令输入以下指令,用T命令逐个执行指令,查看指令结果1.MOV AL ,01H2.MOV SI,DI3.MOV AL,[0000H]4.MOV AX,[BX]5.MOV AL,[BP+0001H]6.MOV AL,[BX][SI]7.MOV AL,[BP+SI-1] 8.XCHG AX,[BX] 9.PUSH AX10.POP AX 11.LEA BX,[SI] 12.LDS BX,[SI]13.ADD AL,01H 14.ADC AH,BH 15INC BYTEPTR [BX]六、实验要求写出指令的基本功能和背景功能,并举例验证说明。
8086实验
实验一、寻址方式与基本指令实验一、实验目的1.熟悉8086寻址方式及基本指令功能,进一步理解和巩固课学习内容。
2.掌握汇编语言程序设计上机过程和汇编语言源程序结构。
3.熟悉Microsoft的DEBUG调试工具的使用方法。
二、实验预习要求1.认真阅读教科书第三章,了解并熟悉汇编语言程序的上机步骤及DEBUG调试工具的使用方法。
2.复习8086操作数寻址方式及基本指令功能(数据传送、算术运算和逻辑运算等)。
3.了解实验内容,并在实验前根据课堂所学知识回答有关问题(个别取决于程序实际运行环境的问题外),以便在实验时进行验证。
三、实验内容1.读懂下列源程序,使用EDIT生成名为EX11.ASM的源程序,汇编生成EX11.OBJ文件和EX11.LST文件,连接生成EX11.EXE文件;用EDIT打开EX11.LST文件,了解.LST文件包含的信息;使用DEBUG调试工具单步执行EX11.EXE程序,注意观察IP值的变化,并回答下列问题。
1)程序装入后,代码段寄存器CS的内容为H,代码段第一条可执行指令“MOV AX,DATA”对应的机器代码为H,它是一个字节指令,注意观察执行该指令时IP的变化情况,该指令源操作数DATA的寻址方式是,其值为。
2)执行完“MOV DS,DATA”指令后,数据段寄存器DS的内容为H,源程序在数据段中定义的数据库82H、68H和88H被装入的存储单元的物理地址分别为H,H和H。
3)程序中第一条“ADD AL,[BX]”指令对应的机器代码H,它是一个字节指令,注意观察执行该指令时IP的变化情况,该指令中源操作数的寻址方式为,该操作数所在存储单元的逻辑地址(DS):(BX)为,物理地址为H;执行完该指令后(AL)= H,CF= ,OF= ,ZF= ,SF= ,AF= ,PF= ;若两操作数为无符号数,计算结果是否正确?若两操作数为带符号数,计算结果是否正确?若计算结果正确,结果是正数还是负数?4)执行完第二条“ADD AL,[BX]”指令后,(AL)= H,CF= ,OF= ,ZF= ,SF= ,AF= ,PF= ;若两操作数为无符号数,计算结果是否正确?若两操作数为带符号数,计算结果是否正确?5)指令“MOV SUM,AL”中,目的操作数的寻址方式为,该指令执行完后,注意观察(DS):0003H单元中值的变化,该单元的值变为H。
第七部分 基本实验(8086)
第七部分 基本实验(8086)实验一 简单I/O口扩展实验一、实验目的1、 熟悉74LS273,74LS244的应用接口方法。
2、掌握用锁存器、三态门扩展简单并行输入、输出口的方法。
二、实验设备MUT—Ⅲ型实验箱、8086CPU模块。
三、实验内容逻辑电平开关的状态输入74LS244,然后通过74LS273锁存输出,利用LED显示电路作为输出的状态显示。
四、实验原理介绍本实验用到两部分电路:开关量输入输出电路,简单I/O口扩展电路。
五、实验步骤1、实验接线:(表示相互连接)CS0 CS244; CS1CS273; 平推开关的输出K1~K8 IN0~IN7(对应连接); O0~O7LED1~LED8。
2、编辑程序,单步运行,调试程序3、调试通过后,全速运行程序,观看实验结果。
4、编写实验报告。
六、实验提示74LS244或74LS273的片选信号可以改变,例如连接CS2,此时应同时修改程序中相应的地址。
七、实验结果程序全速运行后,逻辑电平开关的状态改变应能在LED上显示出来。
例如:K2置于L位置,则对应的LED2应该点亮。
八、程序框图(实验程序名: T244273.ASM)九、程序源代码清单assume cs:codecode segment publicorg 100hstart: mov dx,04a0h ;74LS244地址in al,dx ;读输入开关量mov dx,04b0h ;74LS273地址out dx,al ;输出至LEDjmp startcode endsend start实验二 存储器读写实验一、实验目的1.掌握PC机外存扩展的方法。
2.熟悉6264芯片的接口方法。
3.掌握8086十六位数据存储的方法 。
二、实验设备MUT—Ⅲ型实验箱、8086CPU模块。
三、实验内容向02000~020FFH单元的偶地址送入AAH,奇地址送入55H。
四、实验原理介绍本实验用到存储器电路五、实验步骤1、实验接线本实验无需接线。
微机原理实验讲义
ZY-88系列8086/8088微机接口实验系统微机原理与接口技术实验指导书黄山学院信息工程学院2013年3月目录第一章系统概述--------------------------------------------------11.1 系统资源分配----------------------------------------------- 11.2系统组成和结构----------------------------------------------21.3使用指南----------------------------------------------------21.4 8086K实验系统与PC机联机操作--------------------------------4 第二章实验指导--------------------------------------------------51.1验证实验--------------------------------------------------- 5实验一内存清零--------------------------------------------5 实验二数码显示--------------------------------------------6 实验三存贮器读写实验--------------------------------------7 实验四简单I/O口扩展实验----------------------------------7 实验五8259单级中断控制器实验-------------------------------8 实验六定时器 / 计数器---------------------------------------11 实验七8255A并行口实验(一)---------------------------------12 实验八串行接口和应用(二)串行接收---------------------------13 实验九 A/D转换实验-----------------------------------------14 实验十D/A转换实验(一)-------------------------------------151.2设计实验-------------------------------------------------- 18模拟交通灯管理----------------------------------------------- 18第一章系统概述1.1 系统资源分配8088有1兆存储空间,系统提供用户使用的空间为00000H-0FFFFH,用于存放、调试实验程序。
微机原理Emu8086仿真软件实验讲义剖析
实验一显示程序实验1.emu8086介绍Emu8086-Assembler and Microprocessor Emulator是一个可在Windows 环境下运行的8086CPU汇编仿真软件,Emu8086集源代码编辑器,汇编/反汇编工具以及可以运行debug的模拟器(虚拟机器)于一身,它优于一般编译器的地方在于提供了一个虚拟的80x86环境,拥有自己一套独立的“硬件”,可以完成一些纯软件编译器无法完成的功能例如Led显示,交通灯,步进电机等等,而且动态调试(DEBUG)时非常方便一.软件启动启动界面如图1所示,用户可以选择新建文本、程序实例、启动指南、近期文档。
注册的用户名随意,密码112,即可成功。
二.新建文件单击图1中的“New”选项,软件会弹出如图2所示的选择界面。
●COM模板——适用于简单且不需分段的程序,所有内容均放在代码段中,程序代码默认从ORG 0100H开始;●EXE模板——适用于需分段的复杂程序,内容按代码段、数据段、堆栈段划分。
需要注意的是采用该模板时,用户不可将代码段人为地设置为ORG 0100H,而应由编译器自动完成空间分配;●BIN模板——二进制文件,适用于所有用户定义结构类型;●BOOT模板——适用于在软盘中创建文件。
此外,若用户希望打开一个完全空的文档,则可选择empty workspace的选项。
三.编译和加载程序用户可根据上述选择的模板中编写程序,如图3所示。
该编辑界面集文档编辑、指令编译、程序加载、系统工具、在线帮助为一体,其菜单功能如表1所示。
编写完程序后,用户只需单击工具栏上的“compile”按钮,即可完成程序的编译工作,并弹出如图4所示的编译状态界面。
若有错误则会在窗口中提示,若无错误则还会弹出保存界面,让用户将编译好的文件保存相应的文件夹中。
默认文件夹为…\emu8086\MyBuild\,但您可以通过菜单中assembler/ set output directory对默认文件夹进行修改。
8086实验手册
微机实验报告班级学号姓名本次成绩日期 20 年月日星期时间实验地点实验一汇编语言入门实验目的:熟悉并掌握在TPC2003集成环境下宏汇编程序的设计,包括编辑源程序、汇编、连接和调试的全过程;在现有条件下,了解和熟悉常用系统功能调用的使用方法;掌握TDEBUG调试界面的使用方法,如单步、宏单步,并学会通过观察寄存器的内容,排除程序中的逻辑错误。
实验环境:在基于Window XP的TPC2003集成环境下,设计和运行程序,该程序可以在x86的DOS或模拟DOS上运行。
实验内容1:1 输入以下源程序,并进行汇编、连接和运行,观察运行情况;2 在TDEBUG环境进行单步调试,记录观察数据段寄存器DS的设置过程。
3 添加程序功能,使能提示“Press any key to exit…”(DOS功能调用INT21 h,功能09h),然后就处于空闲的循环中,直到敲击任一按键就退出(DOS功能调用INT 21h,功能0Bh)。
经调试成功后,添加的语句抄到下面程序的空行中。
DATA SEGMENTPARS DB 100DB ?DB 100 DUP(?)MESG DB 10,13,'You are welcome to 8088/8086 ',10,13DB 10,13,'We hope you enjoy ASM program ',10,13DB 10,13,'GOOD LUCK TO YOU',10,13,'$'DATA ENDSCODE SEGMENTASSUME CS : CODE, DS : DATA,SS : STACKSTART P ROC FARMOV AX, DATAMOV DS, AXDISP: M OV DX, OFFSET MESGMOV AH, 9INT 21HMOV AH, 4CHINT 21HSTART E NDPCODE ENDSEND START实验现象记录(不能为空)实验内容2:1.在调试(Tdebug) 环境下单步运行。
8086微机原理及接口技术实验教程()
8086微机原理及接口技术实验教程(2017)-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII8086微机原理及接口技术实验教程合肥工业大学电气与自动化系I实验一系统认识与存储器扩展实验1.1 TD-PITE实验装置简介1.1 TD-PITE功能特点系统以具有PC104总线接口的i386EX单板机和一个开放的微机接口教学实验平台,通过PC104总线组合插接方式构成的高性能80x86微机原理与接口技术教学实验系统,全面支持80x86实模式和保护模式的16/32位微机原理及接口技术的实验教学。
开放的80386系统总线,不仅可以进行各种接口实验的学习,还可以进行基于386微处理器的嵌入式应用开发。
I386EX是一款嵌入式微处理器,其在Intel 386SX微处理器的基础上集成了丰富的外围接口(如8259、8254、16C450和8237等),内部为32位总线,外部为16位数据总线,具有64MB的寻址能力,保持与标准的32位80386CPU相同的指令系统,可完全支持80X86微机原理及接口技术课程的教学,使教学内容与主流技术相一致,达到学以致用的目的。
系统提供开放的386系统总线,使用户可以充分学习并掌握系统总线的特点及操作方法。
实验平台上提供丰富的实验单元,如中断控制器8259、DMA 控制器8237、定时/计数器8254、并行接口8255、串行通信接口8251、SRAM、ADC0809、DAC0832、单次脉冲、键盘扫描及数码管显示、开关输12入及发光管显示、电子发声器、点阵LED 显示、图形LCD 显示、步进电机、直流电机及温度控制单元电路。
1.2 TD-PITE 系统构成TD-PITE 是一套80X86微机原理及接口技术实验教学系统,其主要系统构成如表1.1 所示。
表1.1 TD-PITE 系统构成系统硬件结构如图1.1所示。
图1.1 TD-PITE系统硬件结构图1.3 TD-PITE 系统配置TD-PITE实验教学系统由I386EX系统板和接口实验平台两部分组合而成。
8086实验
8086实验1 设备使用及简单示例程序验证一.实验目的1 熟悉软件编程环境和硬件设备资源2 熟悉工程创建的步骤,其中各个文件作用3 掌握软件菜单的使用,掌握程序的调试基本步骤。
二.实验内容以课本例4-1为源文件创建工程进行工程的调试,查看程序运行过程和结果三.实验仪器微机、WAVE6000编程环境,实验箱注意:文件不要用中文名称,保存时不要用中文路径(目录),不要放在“桌面”上,源文件和工程要放在同一个文件夹下,文件名称和路径名称不要太长。
调试过程:2 查看存储器菜单使用:窗口---数据窗口---MEMORY,观察或者修改MEMORY内容。
3 查看CPU寄存器:窗口---CPU窗口,CPU寄存器4 单步执行:执行---单步执行(F8),每执行一步,查看每条语句涉及到的寄存器和存储器内容的变化结果,是否是指令所要得到的结果,如不是,检查错误原因,修改。
ASSUME CS:CSEG , DS:DSEG , ES:ESEGSUM DW 2 DUP(?) DUP (duplicate) 含义如下:定义变量(数组)SUM,类型为字(DW),大小为2,内容不定(?)编译器设置:编译器将用户定义的数据段分配在0400H(0040H×16)开始的存储器中。
数据段段基址寄存器DS(0040H)。
查看数据的方法:窗口---数据窗口--- MEMORY ---0400的位置就是你定义的数据段的数据:物理地址=段基址(DS)×16+段内偏移参考程序及流程图:见课本例4-18086实验2 简单程序设计--存储块移动一.实验目的1 熟悉86汇编语言程序结构2 熟悉循环结构程序的编写,进一步熟悉指令系统寻址方式3 熟悉编程环境和程序的调试二.实验内容将指定源地址和长度(100字节)的存储块移动到目的地址。
三.实验仪器:微机、WAVE6000软件,实验箱注意:1 源数据块和目的数据块自己在数据段中定义。
2 要查看移动后结果,定义时对源和目的块赋不同的值S db 25 dup(11h) 含义? dup (duplicate)定义数组S,大小为25,类型为字节(DB),全部赋值为11h3 同实验一,数据段分配在0400H开始的存储器中流程图如右:两种移动的方式:1利用循环结构编程移动方式2利用重复指令(movsb)编程方式参考程序利用重复指令(movsb)编程方式移动 256 字节data segmentSource db 256 dup(055h)Target db 256 dup(0aah)data endscode segmentassume cs:code, ds:data, es:datastart:mov ax, datamov ds, axmov es, axmov si, offset Sourcemov di, offset Targetmov cx, 256rep movsbjmp $code endsend start8086实验3 数据排序一.实验目的1 了解数据排序的常用算法,掌握冒泡算法。
8086实验指导书免费
实验一系统认识实验一、实验目的掌握TDN86/51教学系统的基本操作二、实验设备TDN86/51教学实验系统一台三、实验内容及步骤1.系统认识实验(1)(1)程序的输入与修改从3500H内存单元开始建立0-15共16个数据。
实验步骤a.使用串行通讯电缆将实验系统与PC微机相连。
b.将位于线路板右下角的系统状态选择开关拨至86档,开启实验系统。
c.在系统软件所在目录下键入MD86↙,选择对应串口号,进入集成操作软件环境,出现系统提示符“>”。
按下F1功能键,进入全屏幕编辑界面,按ALT+F建立新文件(NEW),即可开始输入源程序。
实验程序及流程如下:STACK SEGMENT STACK ;8088宏汇编程序DW 64 DUP(?) ;定义堆栈段STACK ENDSCODE SEGMENT ;定义代码段ASSUME CS:CODESTART: MOV DI,3500H ;程序开始设数据区首址MOV CX,0010H ;字节数送入CX中MOV AX,0000HSAHFA1: MOV [DI],AL ;写入一字节INC DI ;修改地址指针INC AX ;修改数据DAA ;十进制调整LOOP A1 ;未填完转移A2: JMP A2CODE ENDS ;代码段结束END START ;程序段结束d.输入程序后,按F2保存程序(规定扩展名为*.asm),使用ALT+X返回集成软件环境。
e.按F2,输入源程序名↙(省略扩展名,系统默认为.asm),对源程序进行汇编,生成目标文件(*.obj)及错误信息文件(*.m)。
若给出LST文件名则生成相应*.lst文件。
f.汇编无误后,按F3输入文件名↙对汇编生成的*.obj文件进行连接,连接信息显示于屏幕上,生成相应*.exe可执行文件。
g.按F5,输入*.exe可执行文件名↙,填入程序段地址CS:0000↙及偏移地址IP:2000↙,PC开始将程序从磁盘装入到教学系统内存,提示装载完毕后使用U0000:2000↙命h.当发现源程序输入错误或需要调整时,在调试界面下可用A命令来修改,如修改2000句为(2)运行程序系统提供了单步运行、设断点运行、连续运行等方式,具体操作如下:a.单步运行:其操作如下表,每运行一条指令后会显示下一条待执行指令并以蓝底白字显示变化寄存器的内容,重复T↙(或按F4键)就可一步一步地运行,直至程序结束。
8086微机原理及接口技术实验教程(2017)
8086微机原理与接口技术实验教程工业大学电气与自动化系实验一系统认识与存储器扩展实验1.1 TD-PITE实验装置简介1.1 TD-PITE功能特点系统以具有PC104总线接口的i386EX单板机和一个开放的微机接口教学实验平台,通过PC104总线组合插接方式构成的高性能80x86微机原理与接口技术教学实验系统,全面支持80x86实模式和保护模式的16/32位微机原理与接口技术的实验教学。
开放的80386系统总线,不仅可以进展各种接口实验的学习,还可以进展基于386微处理器的嵌入式应用开发。
I386EX是一款嵌入式微处理器,其在Intel 386SX微处理器的根底上集成了丰富的外围接口〔如8259、8254、16C450和8237等〕,部为32位总线,外部为16位数据总线,具有64MB的寻址能力,保持与标准的32位80386CPU一样的指令系统,可完全支持80X86微机原理与接口技术课程的教学,使教学容与主流技术相一致,达到学以致用的目的。
系统提供开放的386系统总线,使用户可以充分学习并掌握系统总线的特点与操作方法。
实验平台上提供丰富的实验单元,如中断控制器8259、DMA控制器8237、定时/计数器8254、并行接口8255、串行通信接口8251、SRAM、ADC0809、DAC0832、单次脉冲、键盘扫描与数码管显示、开关输入与发光管显示、电子发声器、点阵LED显示、图形LCD显示、步进电机、直流电机与温度控制单元电路。
1.2 TD-PITE系统构成TD-PITE是一套80X86微机原理与接口技术实验教学系统,其主要系统构成如表1.1 所示。
表1.1 TD-PITE系统构成系统硬件结构如图1.1所示。
图1.1 TD-PITE系统硬件结构图1.3TD-PITE 系统配置TD-PITE实验教学系统由I386EX系统板和接口实验平台两局部组合而成。
TD-PITE主要系统配置如表1.2所示。
表1.2 TD-PITE系统的主要配置TD-PITE实验箱布局如图1.2所示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一微机实验系统上机过程一、实验目的⑴熟悉微机汇编语言。
⑵熟悉微机实验系统的上机过程。
二、实验内容选一个Intel 8086汇编语言程序fuli1.asm(教材P97页例题4.14),在实验环境中进行调试,观察运行结果。
了解汇编语言的工作环境和上机步骤和过程。
三、实验原理与方法硬件环境:本实验对硬件环境没有要求软件环境:1、操作系统:DOS 2、编辑程序:EDIT3、汇编程序:MASM4、连接程序:LINK5、调试程序:DEBUG先使用EDIT编写一个汇编语言源程序:fuli1.asm 然后用MASM汇编成目标程序fuli1.obj 最后使用LINK连接成目标程序fuli1.exe四、实验设备1、EL型微机教学实验系统2、PC机1台五、实验步骤1、实验接线本实验无需接线。
2、编写调试程序(1)打开微机系统,进入WINDOWS界面,点击任务栏“开始”、“程序”、“附件”、“命令提示符”。
进入DOS实验操作环境。
(2)输入命令CD\ 回车。
(3)用EDIT编辑源程序文件fuli1.asm。
命令格式:eidt fuli1.asm (4)用MASM对源程序fuli1.asm进行汇编成机器语言程序,直到无错误为止。
命令格式:masm fuli1;。
(5)用LINK 对机器语言目标程序进行连接成可执行文件。
命令格式:link fuli1;。
3、运行实验程序。
命令格式:fuli1让程序中运行,观察结果。
改变X的值,观察不同结果。
六、实验记录与结论程序源代码清单(fuli1.asm)DATA SEGMENTTABLE DW 0,1,4,9,16,25,36,49X DB 6RESU DW ?DATA ENDSCODE SEGMENTASSUME DS:DATA,CS:CODESTART:MOV AX,DATAMOV DS,AXMOV BX,OFFSET TABLEMOV AL,XMOV AH,0SHL AX,1ADD BX,AXMOV DL,[BX]MOV DH,[BX+1]MOV RESU,DXMOV CL,4SHR DL,CLADD DL,30HMOV AH,2INT 21HMOV DX,RESUAND DL,0FHADD DL,30HMOV AH,2INT 21HMOV DL,48HMOV AH,2INT 21HMOV AH,4CHINT 21HCODE ENDSEND START小结:谈谈对汇编语言及C语言上机过程的认识(相同之处和不同之处)。
实验二程序综合设计实验一、实验目的⑴巩固单步调试程序的方法。
⑵掌握程序中断点的设置方法,并利用断点调试程序。
二、实验内容选一个Intel 8086汇编语言程序fuli2.asm,编写实现1+3+5+…+49的程序(教材P101页例题4.20),观察程序运行结果,熟悉了解汇编语言的程序的基本算法。
三、实验原理与方法硬件环境:本实验对硬件环境没有要求。
软件环境:1、操作系统:DOS 2、编辑程序:EDIT 3、汇编程序:MASM 4、连接程序:LINK 5、调试程序:DEBUG先使用EDIT编写一个汇编语言源程序:fuli2.asm 然后用MASM汇编成目标程序fuli2.obj 最后使用LINK连接成目标程序fuli2.exe四、实验设备1、EL型微机教学实验系统2、PC机1台五、实验步骤1、实验接线本实验无需接线。
2、编写调试程序(1)打开微机系统,进入WINDOWS界面,点击任务栏“开始”、“程序”、“附件”、“命令提示符”。
进入DOS实验操作环境。
(2)输入命令CD\ 回车。
(3)用EDIT编辑源程序文件fuli2.asm。
命令格式:eidt fuli2.asm (4)用MASM对源程序fuli2.asm进行汇编成机器语言程序,直到无错误为止。
命令格式:masm fuli2;。
(5)用LINK 对机器语言目标程序进行连接成可执行文件。
命令格式:link fuli2;。
3、运行实验程序。
命令格式:fuli2让程序中运行,观察结果。
改变CN的值,观察不同结果。
六、实验记录与结论程序源代码清单(fuli2.asm)DATA SEGMENTRESULT DW ?CN EQU 25DATA ENDSCODE SEGMENTASSUME DS:DATA,CS:CODESTART:MOV AX,DATAMOV DS,AXMOV AX,0MOV CX,CNMOV BX,1NEXT: ADD AX,BXADD BX,2DEC CXJNZ NEXTMOV RESULT,AXMOV DL,AHAND DL,0FHADD DL,30HMOV AH,2INT 21HMOV DX,RESULTMOV CL,4SHR DL,CLADD DL,30HMOV AH,2INT 21HMOV DX,RESULTAND DL,0FHADD DL,30HMOV AH,2INT 21HMOV DL,48HMOV AH,2INT 21HMOV AH,4CHINT 21HCODE ENDSEND START小结:谈谈单循环结构程序设计,使用汇编语言编写时循环结构的基本组成。
实验三基本I/O口实验一、实验目的1、熟悉74LS273,74LS244的应用接口方法。
2、掌握用锁存器、三态门扩展基本并行输入、输出口的方法。
二、实验内容逻辑电平开关K1-K8的状态输入74LS244,然后通过74LS273锁存,使用发光二极管LED1-LED8输出,利用LED显示电路作为各种流水灯显示。
三、实验原理介绍本实验用到两部分电路:开关量输入输出电路,简单I/O口扩展电路。
1、中央处理器CPU:Intel80862、输入接口芯片:74LS244输出接口芯片:74LS2733、输入设备:开关K1-K84、输出设备:发光二极管LED1-LED8四、实验设备1、EL型微机教学实验系统2、PC机1台五、实验步骤1、实验接线:(↔表示相互连接)CS0 ↔CS244(端口地址04A0H) CS1↔CS273(端口地址04B0H)K1~K8 ↔ IN0~IN7(对应连接)O0~O7↔LED1~LED82、编辑程序,单步运行,调试程序3、调试通过后,全速运行程序,观看实验结果。
实验提示74LS244或74LS273的片选信号可以改变,例如连接CS2,此时应同时修改程序中相应的地址。
六、实验记录与结论程序源代码清单CODE SEGMENTASSUME CS:CODEORG 0100HSTART: MOV DX,04B0HMOV AL,0FFHOUT DX,ALMOV DX,04A0HIN AL,DXTEST AL,01HJNZ STARTMOV DX,04B0HMOV AL,5FHOUT DX,ALMOV CX,8LOP1: ROR AL,1OUT DX,ALMOV BX,0LOP2: DEC BXJNZ LOP2DEC CXJNZ LOP1JMP STARTCODE ENDSEND START小结:74LS244或74LS273的片选信号是否可以改变?如果74LS273连接CS2,此时应如何修改程序中相应的地址?实验四 8255并行口实验一、实验目的掌握8255A的编程原理。
二、实验内容8255A的A口作为输入口(端口地址04A0H),与逻辑电平开关K1~K8相连。
8255A的B口作为输出口(端口地址04A2H),与发光二极管LED1-LED8相连。
编写程序,使得开关的变化在发光二极管上显示出来。
三、实验原理介绍本实验用到两部分电路:开关量输入输出电路和8255可编程并口电路。
1、中央处理器CPU:Intel80862、输入、输出接口芯片:Intel82553、输入设备:开关K1-K84、输出设备:发光二极管LED1-LED8四、实验设备1、EL型微机教学实验系统2、PC机1台五、实验步骤1、实验接线CS0↔CS8255 PA0~PA7↔ K1~K8 PB0~PB7↔LED1~LED82、编程并全速或单步运行。
3、全速运行时拨动开关,观察发光二极管的变化。
8255A是比较常用的一种并行接口芯片,其特点在许多教科书中均有介绍。
8255A有三个8位的输入输出端口,通常将A端口作为输入用,B端口作为输出用,C端口作为辅助控制用,本实验也是如此。
实验中,8255A工作于基本输入输出方式(方式0)(控制字端口地址04A6H)。
实验提示:如果把实验中的开关K1~K8接到B口,发光二极管LED1~LED8接到A口,此时,控制字和程序应同时修改相应的地方。
六、实验记录与结论程序源代码清单CODE SEGMENTASSUME CS:CODEORG 100HSTART: MOV DX,04A6HMOV AL,90HOUT DX,ALSTART1: MOV DX,04A2HMOV AL,0FFHOUT DX,ALMOV DX,04A0HIN AL,DXTEST AL,01HJNZ START1MOV DX,04A2HMOV AL,7FHOUT DX,ALMOV CX,8LOP1: ROR AL,1OUT DX,ALMOV BX,0LOP2: DEC BXJNZ LOP2DEC CXJNZ LOP1JMP START1CODE ENDSEND START小结:举例说明,如果改变LED发光二极管的显示时间,请问应修改程序中的哪些地方? 如果改变LED发光二极管的流水灯显示方式,又应修改程序中的哪些地方?。