微机原理实验指导书
POP机械与电子工程学院微机原理与接口技术实验指导书实验1 数据传送实验目的掌握8086指令系统的数据传送指令及8086的寻址方式利用调试工具来调试汇编语言程序实验设备PC微型计算机一台实验预习要求:复习8086指令系统的数据传送指令及8086的寻址方式学习TD.EXE的使用方法实验内容1:通过下面的程序段输入和执行来熟悉TD.EXE的使用,通过显示屏观察程序的执行情况。
练习程序段如下:MOV BL, 88HMOV CL, BLMOV AX, 9999HMOV DS:[0002H], AX操作步骤:1、启动TD.EXE方法1 直接打开BIN文件夹下TD.EXE文件,方法2 把BIN 文件夹放在根目录下,如在:D:\BIN,打开“开始—附件—命令提示符”用CD命令使当前目录为D:\BIN 然后输入TD 或TD.EXE2、输入程序段把光标移到CS:0100H处开始输入程序在光标处直接输入练习程序段,键入时屏幕上会弹出一个输入窗口,在这个窗口中输入程序段3、执行程序段按F8单步执行程序段,观察寄存器内容的变化情况和内存单元DS:[0002H]的内容变化情况实验内容2:MOV AX, 1111HMOV BX, 2222HMOV CX, 3333HPUSH AXPUSH BXPUSH CX第一种出栈方式POP AXPOP BXPOP CX第二种出栈方式POP BXPOP CXPOP AX第三种出栈方式POP CXPOP BXPOP AX操作步骤:1、启动TD.EXE2、输入程序段把光标移到CS:0100H处开始输入程序在光标处直接输入练习程序段,键入时屏幕上会弹出一个输入窗口,在这个窗口中输入程序段3、执行程序段按F8单步执行程序段,观察寄存器内容和堆栈内容的变化情况实验报告要求:1、写明本次实验的执行结果,填好表1-12、设置各寄存器及存储单元的内容如下BX=0010H , SI=0001HDS:[0010H]=12H, DS:[0011H]=34H, DS:[0012H]=56H, DS:[0013H]=78H, DS:[0014H]=9AH, DS:[0015H]=0ABH, DS:[0016H]=0BCH,DS:[0017H]=0CDH说明下列各条指令执行完后AX寄存器中的内容,上机验证(观察寄存器和TD数据区—在窗口的左下角)并填好表1-2(注:输入下列指令前应先用MOV指令把各寄存器和在存储单元的内容设置好)(1)MOV AX, 1200H(2)MOV AX, BX(3)MOV AX, [0010H](4)MOV AX, [BX](5)MOV AX, 0006H[BX](6)MOV AX, [BX][SI](7)MOV AX, 0003H[BX][SI]表1-2实验2 算术逻辑运算及移位操作实验目的熟悉算术逻辑运算指令和移位指令的功能了解标志寄存器的各标志位的意义和指令执行对它的影响利用调试工具来调试汇编语言程序实验设备PC微型计算机一台实验预习要求:复习8086指令系统中的算术逻辑类指令和移位指令按照题目要求在实验前编写好实验中的程序段实验内容1:打开TD.EXE输入下面的程序段,观察标志寄存器区的标志位的变化,说明执行下列哪些指令时标志位变化了,哪些指令标志位没有变化(标志位变化时亮白显示),大家也可以用这种方式判断别的指令是否影响标志位,并填好表2-1。
操作步骤:1、启动TD.EXE2、输入程序段3、把光标移到CS:0100H处开始输入程序在光标处直接输入练习程序段,键入时屏幕上会弹出一个输入窗口,在这个窗口中输入程序段4、执行程序段按F8单步执行程序段,观察寄存器内容的变化情况和各标志位的变化情况实验报告要求:1、填好表2-12、说明ADD SUB AND OR NOT 指令对标志位的影响实验3 程序设计、调试和DOS功能调用实验目的熟悉在PC上汇编程序的建立、汇编、连接、执行、调试的全过程学习提示信息的显示和传送指令、加减1指令和串操作指令的用法。
实验设备:PC微型计算机一台实验要求:认真阅读汇编语言的上机步骤的说明复习汇编程序建立的过程实验内容:1.往当前数据段DS:[0000H]处开始存放一串字符串“She is a student”,要求把这串字符串从后往前传送到当前扩展段ES:[0000H]开始的区域中(即传送结束后,从ES:[0000H]开始的内存单元中的内容为“tneduts a si ehS ”,并在屏幕上显示出传送前和传送后的字符串,试编写汇编语言源程序并上机验证。
2.往当前数据段DS:[0000H]处开始存放一串字符串“She is a student”,要求把这串字符串正向传送到当前扩展段ES:[0000H]开始的区域中,要求用串操作指令并在屏幕上显示出传送前和传送后的字符串以及实现反向显示。
试编写汇编语言源程序并上机验证。
操作步骤:1、从WINDOWS开始处单击运行,输入 D:\BIN\SHIY AN3.asm(注:SHIY AN3.ASM是给所编的程序取的名字,可以换成任何一个合法的文件名),进入输入程序,保存在D:\BIN目录下2、汇编生成OBJ目标文件方法一、在WINDOWS中操作用资源管理器打开源程序目录D:\BIN,把SHIY AN3.ASM拖到TASM.EXE程序的图标上方法二、在DOS命令提示符窗口中操作选择“开始“---程序----附件----命令提示符,打开DOS命令提示符窗口,然后用CD命令转到源程序目录下D:\BIN,接着输入MASM SHIY AN3.ASM《回车》3、在当前窗口中输入汇编语言源程序,保存。
并静态检查,确认没有错误4、选择“开始---程序----附件----命令提示符“,打开DOS命令提示符窗口,用DOS操作命令的CD命令转到源程序目录下D:\BIN,然后输入TASM SHIY AN3.ASM或TASM SHIY AN3(所有的命令和文件均不需区分大小写)5、观察在屏幕上的提示信息,并看看BIN文件夹下有没有生成SHIY AN3.OBJ文件,若生成该目标文件。
则在D:\BIN后直接输入TLINK SHIY AN3生成可执行文件SHIY AN3.EXE6、在D:\BIN后输入TD SHIY AN3或把SHIY AN3.EXE拖到TD.EXE上。
按F8单步执行程序,观察寄存器内容的变化情况和内存单元DS:[0000H]和ES:[0000H]的内容变化情况7、在D:\BIN后输入SHIY AN3.EXE或双击D:\BIN文件夹的SHIY AN3.EXE。
执行后应出现如下屏幕:观察屏幕是否和上面的一致。
若不一致,重新调试,直到显示出想要的结果为止。
8.实验内容2各实验内容1实验步骤相同,执行后显示如下屏幕:实验报告要求:1.整理出运行正确的源程序段和运行结果,并对源程序加上注释。
2.把实验内容1中DS:[0000H]到DS:[000FH]和ES:[0000H]到ES:[000FH存储单元存放的内容抄录下,并记录在实验报告里(提示:按F8执行完程序后用鼠标选中数据区,右键,从弹出菜单中选GOTO,然后输入DS:0000H即可查看当数据区存放的内容)。
3.总结串操作指令的用途及使用方法实验4 读取开关量实验实验目的1.学习使用32位汇编语言,学习对32位的I/0接口进行读写操作,掌握对16位的I/O 端口进行读写操作。
2.学习使用74LS245和74LS244来扩展输入口。
实验设备PC机一台,THTWK-2实验箱一台实验要求根据配置空间的原理,通过编程将PCI卡开放给用户的I/O 端口空间读出编写汇编程序来对2片74LS245 进行读操作,读出当前拨位开关的状态实验内容1读取开关量,在实验箱的32位总线上有4片74LS245(地址04H)对应了32个开关量,可用一条32 位指令IN EAX,DX将32个开关的状态全部读回到EAX 寄存器中,并且显示在屏幕上。
运行程序后显示THE RESULT IS 加上开关量的输出值实验步骤1.接线:无需接线。
2.把D盘“程序”文件夹中SWITCH.ASM文件复制到D:\BIN。
3.重启计算机进入纯DOS,使用CD命令到BIN 路径下,输入下面命令后回车。
4.编译:tasm /zi SWITCH.ASM (注:“.ASM”可省略)5.连接:tlink /v/3 SWITCH.OBJ (注:“.OBJ”可省略)6.运行:SWITCH.EXE (注:“.EXE”可省略)7.运行结果显示的数据值与32位开关输入相对应。
如32拨位开关的状态为0000 0000 0000 0000 1111 1111 1111 1100,则屏幕上应显示THE RESULT IS 0000FFFC 8.把BIN文件夹下“SWITCH.ASM”源程序及生成“.map”、“.obj”、“.exe”文件删除掉。
实验内容2读取16位开关量,本实验中所用的芯片是2片74LS245,参考书中P234,分配的地址为04H,05H.试编程实现读取16位的开关量的程序。
程序名为SHIYAN4.ASM。
运行程序后显示“THE SWITCH IS”加上16位开关量的输出值。
注意,这时拨高16位的开关对输出结果没有影响。
实验步骤1.按实验3的操作步骤,生成SHIY AN4.ASM文件。
并编译,调试。
也可直接采用EMU8086或任一款集成编译器生成SHIY AN4.ASM文件并完成编译,在EMU8086或其它集成编译器均有出错提示。
改正错误后确定能生成.OBJ文件和.EXE文件。
生成的”.EXE”文件可直接拖到TD.EXE调试。
2.重启进入纯DOS,打开实验箱电源3.编译:tasm /zi shiyan4.ASM (注:“.ASM”可省略)4.连接:tlink /v/3 shiyan4.OBJ (注:“.OBJ”可省略)5.运行:shiyan4.EXE (注:“.EXE”可省略)6.运行结果显示的数据值与16位开关输入相对应。
如32拨位开关的状态为0100 0011 0011 0001 0011 1111 1111 1100,则屏幕上应显示”THE RESULT IS 3FFC”观察屏幕是否出现想要的结果,如果不是,重新调试,直到显示出想要的结果为止。
7.把文件夹下“SHIYAN4.ASM”源程序及生成“.map”、“.obj”、“.exe”文件删除掉。
(注意:在D盘“程序”文件夹下有SHIYAN4的部分源代码,如果编写不出完整的源程序可参考,后面直接编写读16位开关量的程序即可)8.把BIN文件夹下“SHIYAN4.ASM”源程序及生成“.map”、“.obj”、“.exe”文件删除掉。
实验报告要求:1.仔细观察SWITCH.ASM汇编语言源程序,给程序段MOV EDX,D244IN EAX,DXMOV DWORD PTR TEMP,EAXMOV AH,09HMOV DX,OFFSET TABINT 21HMOV AX,WORD PTR TEMP+2CALL DISPWORD加上注释,对有注释的地方不可直接抄录,要注释详细。
微机原理实验指导书
实验一初级程序的编写与调试一、实验目的1、熟练掌握的DEBUG常用命令,学会用DEBUG调试程序;2、深入了解数据在存储器中的存取方法,及堆栈中数据的压入与弹出;3、掌握各种寻址方法以及简单指令的执行过程。
二、实验内容1、设堆栈指针SP=2000H,AX=3000H,BX=5000H,请编一程序段将AX的内容和BX的内容进行交换。
请用堆栈作为两寄存器交换内容的中间单元,用DEBUG调试程序进行汇编与调试。
2、设DS=当前段地址,BX=0300H,SI=0002H,请用DEBUG的命令将存储器偏移地址300H—304H连续单元顺序装入0AH、OBH、0CH、0DH、0EH。
在DEBUG状态下送入下面程序,并用单步执行的方法,分析每条指令源地址的形成过程。
当每条数据传送完毕时,AX中的内容是什么。
程序清单如下:MOV AX,BXMOV AX,0304HMOV AX,[0304H]MOV AX,[BX]MOV AX,0001[BX]MOV AX,[BX][SI]MOV AX,0001[BX][SI]HLT3、设AX=0002H,编一个程序段将AX的内容乘10,要求用移位的方法完成。
三、实验要求1、实验前要做好充分准备,包括汇编程序清单、调试步骤、调试方法,对程序结果的分析等。
2、本实验要求在PC机上完成。
3、本实验只要求在DEBUG调试程序状态下进行,包括汇编程序,调试程序,执行程序。
4、编程提示:(1)、实验内容1将两个寄存器内容进行交换时,必须有一个中间寄存器才能进行内容的交换。
如果用堆栈作为中间存储单元,必须遵循先进后出的原则。
(2)、实验内容2[1] 其中数据段寄存器中的段地址为进入DEBUG状态后系统自动分配的段地址。
[2] SI和BX的初值可在DEBUG的状态下,用R命令装入,也可以在程序中用指令来完成。
[3] 用T命令执行程序,可进行单步跟踪执行,每执行一条指令就可以看到各寄存器的状态,也可用R命令直接调出寄存器,来检查各寄存器内容是否正确。
微机原理实验学生实验指导书
微型计算机原理实验指导书河北大学电子信息工程学院2017年10月目录实验一系统认识及编程初步实验 (1)实验二输入输出程序设计实验 (7)实验三8255并行接口实验 (9)实验四8259中断控制实验 (13)实验五8254定时/计数器应用实验 (19)实验六综合实验 (24)实验一系统认识及编程初步实验一、实验目的1. 掌握TD系列微机原理及接口技术教学实验系统的操作,熟悉Wmd86联机集成开发调试软件的操作环境。
2. 掌握使用运算类指令编程及调试方法。
3. 学习使用软件监视变量的方法。
二、实验设备PC机一台,TD-PITE实验装置一套。
三、实验内容(一)基础实验1. 系统认识实验编写实验程序,将00H~0FH共16个数写入内存3000H开始的连续16个存储单元中。
2. 运算编程实验80X86指令系统提供了实现加、减、乘、除运算的基本指令,可对表1-1所示的数据类型进行算术运算。
本实验以二进制双精度加法运算为例,计算X+Y=Z,将结果Z存入某存储单元。
表1-1 数据类型算术运算表(二)提高实验1. 在系统认识实验中,编写程序,将内存3500H单元开始的8个数据复制到3600H单元开始的数据区中。
通过调试验证程序功能,使用E命令修改3500H单元开始的数据,运行程序后使用D命令查看3600H单元开始的数据。
2. 在运算编程实验中,求累加和程序设计,在偏移地址为1000H开始依顺序填入16个字(16个16位数),利用程序求和,存放在偏移地址2000H。
四、实验步骤(一)系统认识实验1. 运行Wmd86软件,进入Wmd86集成开发环境。
2. 根据程序设计使用语言的不同,通过在“设置”下拉列表来选择需要使用的语言和寄存器类型,这里我们设置成“汇编语言”和“16位寄存器”,如图1-1、图1-2所示。
设置选择后,下次再启动软件,语言环境保持这次的修改不变。
图1-1 语言环境设置界面图1-2 寄存器设置界面3. 语言和寄存器选择后,点击新建或按Ctrl+N组合键来新建一个文档,如图1-3所示。
微机原理实验指导书
一、众友实验箱简介1、系统组成A、CPU8088CPU。
B、系统存储器EEPROM、SRAM。
C、接口芯片及实验模块8250、8251、8253、8255、8259、8279、ADC0809、DAC0832、RAM6116、直流电机、步进电机模块、LED显示模块、键盘单元、音响模块、继电器模块、开关量输出及0-1指示模块、单脉冲触发器等。
D、外设接口外接实验扩展板接口。
E、系统电源带双重保护功能的开关电源。
2、系统功能与特点A、该系统是基于DOS系统的,具有DOS操作系统内核;B、该系统能使用通用键盘作为基本的输入工具;C、该系统可以进行联机调试;也可单独处于脱机状态调试;脱机状态时可以进行类似DOS的DEBUG调试;D、该系统可以在源程序级进行调试;E、该系统功能齐全,既可进行上位机单独的软件仿真调试,也可进行下位机的脱机调试,也可联机进行通信调试;F、该系统的调试命令与DOS下的DEBUG调试器的命令相同,没有额外的调试命令,用户无需学习机器独特的命令。
3、系统资源分配系统监控区:0C0000H-0FFFFFH;程序调试区:10FB0H-20FAFH;中断向量区:00000H-0003FFH;BIOS数据区:00400H-005FFH;系统RAM扩展:80000H-80800H。
4、注意事项A.进行程序调试时,应该注意脱机和联机的区别,对同一个实验,脱机和联机的程序应不相同;B.进行联机调试的时候,如果要用到DS,请将数据段地址设为110BH;C.由于使用的是RS_232接口,因此,联机调试时程序的运行可能会比较慢,请用户进行联机调试的时候操作不要过快;D.联机调试时,全速运行将会返回一条“调试失败”的信息,用户不用理会,此时程序处于全速运行状态,如果想继续进行其它程序的调试,将系统复位后重新进行程序的下载方可调试;E.进行联机调试时,请不要调用DOS的INT 21H中断服务的返回系统功能调用,否则将无法进行下一步的调试;F.进行联机调试时,请不要设置多个段进行调试,否则系统认为调试无效而导致系统“死机”;G.进行程序调试时,请不要使用远跳转指令,否则将导致系统“死机”;H.进行中断调试实验时,在单步跟踪情况下,监控程序将无法进行中断服务程序。
微机原理实验指导书
实验1 数据传送实验目的掌握8086指令系统的数据传送指令及8086的寻址方式利用调试工具来调试汇编语言程序实验设备PC微型计算机一台实验预习要求:复习8086指令系统的数据传送指令及8086的寻址方式学习TD.EXE的使用方法实验内容1:通过下面的程序段输入和执行来熟悉TD.EXE的使用,通过显示屏观察程序的执行情况。
练习程序段如下:MOV BL, 88HMOV CL, BLMOV AX, 9999HMOV DS:[0002H], AX操作步骤:1、启动TD.EXE方法1 直接打开BIN文件夹下TD.EXE文件,方法2 把BIN 文件夹放在根目录下,如在:D:\BIN,打开“开始—附件—命令提示符”用CD命令使当前目录为D:\BIN 然后输入TD 或TD.EXE2、输入程序段把光标移到CS:0100H处开始输入程序在光标处直接输入练习程序段,键入时屏幕上会弹出一个输入窗口,在这个窗口中输入程序段3、执行程序段按F8单步执行程序段,观察寄存器内容的变化情况和内存单元DS:[0002H]的内容变化情况实验内容2:MOV AX, 1111HMOV BX, 2222HMOV CX, 3333H第一种出栈方式PUSH AXPUSH BXPUSH CX第二种出栈方式PUSH BXPUSH CXPUSH AX第三种出栈方式PUSH CXPUSH BXPUSH AX操作步骤:1、启动TD.EXE2、输入程序段把光标移到CS:0100H处开始输入程序在光标处直接输入练习程序段,键入时屏幕上会弹出一个输入窗口,在这个窗口中输入程序段3、执行程序段按F8单步执行程序段,观察寄存器内容的变化情况和内存单元DS:[0002H]的内容变化情况实验报告要求:1、写明本次实验的执行结果,填好表1-12、设置各寄存器及存储单元的内容如下BX=0010H , SI=0001HDS:[0010H]=12H, DS:[0011H]=34H, DS:[0012H]=56H, DS:[0013H]=78H, DS:[0014H]=9AH, DS:[0015H]=0ABH, DS:[0016H]=0BCH说明下列各条指令执行完后AX寄存器中的内容,上机验证(观察寄存器和TD数据区—在窗口的左下角)并填好表1-2(注:输入下列指令前应先用MOV指令把各寄存器和在存储单元的内容设置好)(1)MOV AX, 1200H(2)MOV AX, BX(3)MOV AX, [0010H](4)MOV AX, [BX](5)MOV AX, 0006H[BX](6)MOV AX, [BX][SI](7)MOV AX, 0003H[BX][SI]实验2 算术逻辑运算及移位操作实验目的熟悉算术逻辑运算指令和移位指令的功能了解标志寄存器的各标志位的意义和指令执行对它的影响利用调试工具来调试汇编语言程序实验设备PC微型计算机一台实验预习要求:复习8086指令系统中的算术逻辑类指令和移位指令按照题目要求在实验前编写好实验中的程序段实验内容1:打开TD.EXE输入下面的程序段,观察标志寄存器区的标志位的变化,说明执行下列哪些指令时标志位变化了,哪些指令标志位没有变化(标志位变化时亮白显示),大家也可以用这操作步骤:1、启动TD.EXE2、输入程序段3、把光标移到CS:0100H处开始输入程序在光标处直接输入练习程序段,键入时屏幕上会弹出一个输入窗口,在这个窗口中输入程序段4、执行程序段按F8单步执行程序段,观察寄存器内容的变化情况和各标志位的变化情况实验报告要求:1、填好表2-12、说明ADD SUB AND OR NOT 指令对标志位的影响实验3 程序设计、调试和DOS功能调用实验目的熟悉在PC上汇编程序的建立、汇编、连接、执行、调试的全过程学习提示信息的显示和传送指令、加减1指令和串操作指令的用法。
微机原理实验指导书
实验一数据传送一、实验目的1、熟悉SH51仿真器的使用方法。
2、练习设计简单的程序。
3、掌握8031片内RAM和片外RAM的数据传送的方法,从而了解这两部分存储器的特点二、实验设备和器件PC一台、DP-51PROC单片机实验仪一台、仿真器一台。
三、实验内容将8031内容RAM40H—4FH置初值00H—0FH,然后将40H—4FH 的内容传送到外RAM4800H—480FH,再将4800H—480FH传回到内部RAM50H—5FH。
设置断点B1、B2、B3,每运行到断点时检查相应的CPU现场和存储单元的内容。
四、实验步骤1、向机器输入程序2、运行程序至第一个断点B1,检查内容RAM40H—4FH单元的内容及累加器A 的内容;3、运行程序至第二个断点B2,检查RAM4800H—480FH单元的内容及累加器A、数据指针DPTR的内容;4、运行程序至第三个断点B3,检查内容RAM50H—5FH单元的内容及累加器A、数据指针DPTR的内容;五、实验程序ORG 0000HSTART: LJMP MAINORG 0040HMAIN: MOV R0, #40HMOV R2, #10HCLR AA1: MOV @R0, AINC R0INC ADJNZ R2, A1 B1: MOV R0, #40HMOV DPTR, #4800HMOV R2, #10HA2: MOV A, @R0MOVX @DPTR, AINC R0INC DPTRDJNZ R2, A2B2: MOV R0, #50HMOV DPTR, #4800HMOV R2, #10HA3: MOVX A, @DPTRMOV @R0, AINC R0INC DPTRDJNZ R2, A3B3: SJMP $END实验二并行口一、实验目的:通过实验了解8031并口输入方式和输出方式的工作原理和编程方法。
二、实验设备及器件:PC一台、DP-51PROC单片机实验仪一台、仿真器一台。
微机原理实验指导书(修改1023)
微机原理实验指导书华中科技大学计算机学院武汉豪申光电新技术有限公司目录微机原理实验 (3)第一章16位汇编语言编程验 (3)实验一系统认识实验 (3)实验二分支程序设计实验 (6)实验三循环程序设计实验 (9)实验四排序程序设计实验 (12)实验五子程序设计实验 (15)微机接口实验 (19)第一节并行接口实验(8255芯片实验) (19)实验一8255并行接口实验 (19)第二节定时/计数实验(8253芯片实验) (26)实验二音乐发声器接口实验 (26)第三节串行通信接口实验(8251芯片实验) (33)实验三 RS-232标准全双工查询方式异步串行通信实验 (34)第四节A/D D/A转换器接口实验 (42)实验四查询方式A/D转换器接口实验(ADC0809) (42)实验五 D/A函数波形发生器接口实验(DAC0832) (49)微机原理实验第一章16位汇编语言编程验实验一系统认识实验⑴实验目的掌握在MF平台中汇编程序的编写、调试方法。
⑵实验内容基本实验将存储区BUF1中的内容复制到BUF2中。
⑶实验步骤(一)方式1(Debug方式)1.在MF2KP环境下输入汇编程序,编译、连接,生成.exe文件。
2.启动调试程序(Debug)。
3.在程序的退出处设置断点,利用Add Watch命令查看BUF2中的内容是否正确。
(二)方式2(人-机交互方式)1.在MF2KP环境下输入汇编程序,编译、连接、运行。
2.按提示输入数据,在屏幕显示的结果中查看BUF1,2中的内容是否正确。
3.输入不同的字符串,可得到不同的结果。
⑷实验资源配置IBMPC微机,Win2000操作系统,MF2KP微机原理实验集成开发环境。
⑸实验软件的编程◇实验流程图如图1.1.1所示将存储区BUF1中的内容复制到BUF2中的程序主功能模块如图1.1.1中的虚线框中所示。
◇实验参考程序如下所示;*--------------------------------------------------* ;* Aexp1.asm(汇编语言编程认识实验) * ;* Copyright (c) 2002 by HUST * ;* 程序调试:在EXIT处设置断点,利用Add Watch命令 * ;* 查看BUF1和BUF2的内容是否正确 * ;*-------------------------------------------------* DATA SEGMENTBUF1 DB 'MASM HELLO WORLD'COUNT EQU $-BUF1BUF2 DB20DUP(?)DATA ENDSSTACK1 SEGMENT STACKDB20DUP(?)STACK1 ENDSCODE SEGMENTASSUME DS:DATA,SS:STACK1,CS:CODESTART:MOV AX,DATAMOV DS,AXMOV SI,OFFSET BUF1 ;建立源地址指针MOV DI,OFFSET BUF2 ;建立目标地址指针MOV CX,COUNT ;字节数送入CX寄存器L1: MOV AL,[SI] ; 取源数据一个字节送入AL中MOV [DI],AL;将源数据送入目标地址单元中INC SIINC DIDEC CXJNZ L1 ;判断是否传送完毕EXIT: MOV AH,4CHINT21HCODE ENDSEND START⑹实验要求◇按要求完成实验得出正确结果.◇试着自己写出人机对话方式的汇编程序.◇完成实验报告实验二分支程序设计实验⑴实验目的掌握分支程序的结构。
微机原理实验指导书
目录实验一并行接口8255应用实验 (1)实验二交通灯模拟控制实验 (5)实验三可编程定时器8254应用实验 (9)实验四8254控制继电器实验 (13)实验五DAC0832数模转换实验 (17)实验六ADC0809模数转换实验 (21)实验七串行通信8251应用实验 (25)实验一并行接口8255应用实验一、实验目的1.掌握8255工作方式0的使用方法;2.掌握8255I/O口的输入输出使用方法;3.了解8255、电平开关、LED发光二极管的电路连接。
二、实验内容1、逻辑电平开关和LED显示电路如图1-1所示,8255的电路连接如图1-2所示。
2、利用8255C口作为并行数据的输入端(逻辑电平开关实现),A口作为并行数据的输出端(LED显示电路实现),当电平开关拨到上方时对应发光二极管亮,拨到下方时对应发光二极管灭,编写程序。
图1-1 逻辑电平开关和LED显示电路图1-2 8255接线电路三、接线方案PC0~PC7/8255 接K0~K7/逻辑电平开关PA0~PA7/8255 接L0~L7/LED显示CS/8255 接Y1/IO地址图1-3实验线路四、编程提示及流程图1、A口地址—288H;B口地址—289H;C口地址—28AH;8255控制寄存器端口地址—28BH。
2、参考程序流程图如图1-4所示。
图1-4 参考程序流程图五、实验步骤1、连接USB通信电缆和电源线;2、根据图1-3实验线路进行电路连接;3、打开“HQFC-A微机接口”应用程序,新建或打开实验程序;4、点击“编译”,并确保实验程序没有语法错误;5、点击“构建”,将目标文件生产可执行文件(后缀为EXE);6、点击“重构运行”,可执行文件(后缀为EXE)下载到实验设备中运行;7、观察实验现象,并记录。
若实验现象有误请重复第4~6步。
六、参考程序;*******************************;;* 8255方式0的C口输入,A口输出 *;;*******************************;data segmentio8255a equ 288hio8255b equ 28bhio8255c equ 28ahdata endscode segmentassume cs:codestart:mov ax,datamov ds,axmov es,axmain:mov dx,io8255b ;设8255为C口输入,A口输出mov al,() ;计算控制字out dx,alinout: mov dx,() ;从C口输入一数据in al,dxmov dx,() ;从A口输出刚才自C口out dx,al ;所输入的数据jmp inout ;跳转,则继续自C口输入,A口输出code endsend start七、思考题1、根据程序要求补充实验程序,并执行程序观察现象;2、修改程序,电平开关拨到上方时发光二极管灭,拨到下方时发光二极管亮。
2023年微机原理实验指导书
2.1系统生疏试验【试验目的】把握TD 系列微机原理及接口技术教学试验系统的操作,生疏Wmd86 联机集成开发调试软件的调试环境。
【试验设备】PC 机一台,TD-PITE 试验装置一套。
【试验内容】编写试验程序,将00H~0FH 共16 个数写入到内存3000H 开头的连续16 个存储单元中。
【试验步骤】1.运行Wmd86 软件,进入Wmd86 集成开发环境。
2.在设置菜单中选择“汇编语言”和“16 位存放器”。
3.单击文集菜单的建命令,建一个文档,默认文件名为Wmd861。
4.编写试验程序,并保存,此时系统会提示输入的文件名,输完后点击保存。
5.单击编译文件,假设程序编译无误,则科技连续单击进展链接,链接无误前方可以加载程序。
6.连接PC 与试验系统的通讯电缆,翻开试验系统电源。
7.编译、链接都正确并且上下机通讯成功后,就可以下载程序,联机调试了。
可以通过端口列表中的“端口测试”来检查通讯是否正常。
点击下载程序。
为编译、链接、下载组合按钮,通过该按钮可以将编译、链接、下载一次完成。
下载成功后,在输出区的结果窗中会显示“加载成功!”,表示程序已正确下载。
起始运行语句下会有一条绿色的背景。
8.将输出区切换到调试窗口,试验命令D0000:3000 查看内存3000H 起始地址的数据。
9.点击按钮运行程序,等待程序运行停顿后,通过命令来观看程序结果。
10.也可以设置端点,要修改内存中的数据可以使用命令E,如E0000:3000 可以修改地址0000:3000 处的数据,修改完一个后,可按“空格”键连续输入下一个数。
输入完成后按“回车”键退出。
2.2数制转换试验【试验目的】1 把握不同进制数及编码相互转换的程序设计方法,加深对数值转换的理解。
2.生疏程序调试的方法。
【试验设备】PC 机一台,TD-PITE 试验装置一套。
【试验内容】编写程序,将ASCII 码表示的十进制数转换为二进制数。
【试验步骤】1.依据程序流程图编写程序。
微机原理实验指导书_智能
实验一系统认识、数码转换、运算编程实验一、实验目的1.掌握TDN86/88教学系统的基本操作。
2.学习数码转换的程序设计方法;3.学习运算编程方法。
二、实验设备1.PC机一台;2.TDN86/88教学实验系统一台。
三、实验内容及步骤1.系统认识实验从3500H内存单元开始建立0-15共16个数据。
实验程序如下:STACK1 SEGMENT STACK ;8088 宏汇编程序DW 64 DUP(?) ;定义堆栈段STACK1 ENDSCODE SEGMENT ;定义代码段ASSUME CS:CODESTART: MOV DI,3500H ;程序开始设数据区首址MOV CX,0010H ;字节数送入CX中MOV AX,0000HA1: MOV [DI],AL ;写入一字节INC DI ;修改地址指针INC AX ;修改数据DAA ;十进制调整LOOP A1 ;未填完转移A2: JMP A2CODE ENDS ;代码段结束END START ;程序结束实验步骤(1)启动Wmd86联机软件Wmd86联机软件的启动方式有两种,可以在【开始】/【程序】/【TangDu】菜单中单击“Wmd86”的程序组启动,也可以直接双击桌面上的“Wmd86”快捷键启动该程序组。
启动应用程序进入主界面窗口后,应显示“串口通讯成功”小窗口,若显示“串口通讯不成功”,说明上位机和下位机的连接不正常或下位机死机,请确认下位机电源已经打开,串口线两端接触良好。
(2)输入源程序,检查无误后存盘。
(3)对源程序进行编译、链接和加载,可以使用编译菜单项,也可以使用编译工具栏。
(4)运行程序,观察结果。
连续运行程序,在输出区中的调试区用DEBUG命令观察运行结果,即键入D0000:3500 ↙,可查看3500H-350FH单元中的内容是否为0-15共16个数。
注意,因本程序的结尾为死循环,应在程序运行后停止运行再观察结果。
(5)熟悉系统提供的单步运行、断点运行等功能,可以使用调试菜单项,也可以使用调试工具栏。
微机原理实验指导书
微机原理实验指导书第一章DEBUG调试系统的使用。
1一、DEBUG的作用。
1二、DEBUG的使用。
1第二章 Intel 80x86 指令系统及寻址方式和基本程序设计。
18一、数据传送指令。
18二、算术运算类指令及线性程序设计。
20三、逻辑及移位类指令与线性程序设计。
22四、转移类指令与分支型程序设计。
24五、循环控制类指令与循环程序设计。
25第三章 DOS 功能调用。
28一、源程序的编辑和可执行文件的形成。
28二、输入输出程序设计。
29第四章循环和分支结构汇编语言程序设计。
30一、循环程序结构。
30二、分支程序结构。
31三、综合程序练习。
32第五章子程序结构汇编语言程序设计。
32一、子程序之一___原程序结构的编辑和可执行文件的形成。
32二、子程序之二___子程序的设计。
38第六章高级汇编语言程序设计。
39一、宏汇编语言程序的结构。
39二、宏汇编语言程序设计。
40三、重复汇编技术。
40第七章键盘程序设计。
40一、键盘输入程序。
40第八章音乐程序设计。
42一、发音程序。
42二、音乐程序。
42第九章活动图形显示程序。
44一、活动字符图形显示。
44二、静止复合图形显示。
45第十章磁盘文件操作程序。
47一、文本文件内容显示。
47二、磁盘文件拷贝。
50 第十一章绝对磁盘读写程序。
53一、误删除文件的恢复。
53二、磁盘目录显示程序。
53第一章DEBUG调试系统的使用一、DEBUG的作用DEBUG是DOS提供的用于程序调试的系统,作为DOS的外部命令随DOS的其它外部命令一起由DOS的提供产商向用户提供。
因此用户在使用DEBUG系统时一定要注意当前用户所使用的DOS 的外部命令中是否提供该命令(若DOS命令不全,有可能没有此命令)。
二、DEBUG的使用1、DEBUG的调用由于DEBUG是DOS的外部命令,因此必须在DOS的提示符状态下进行调用。
调用的方法如下:C:\>DEBUG [FILENAME]此处FILENAME应是文件的全名,即应包括文件的主名和扩展名(若文件有扩展名),如文件不在当前目录,则还因包括文件所存放的目录名。
