微机原理试验Word文档格式.docx
- 文档编号:820179
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:28
- 大小:92.45KB
微机原理试验Word文档格式.docx
《微机原理试验Word文档格式.docx》由会员分享,可在线阅读,更多相关《微机原理试验Word文档格式.docx(28页珍藏版)》请在冰点文库上搜索。
2000
输入G=0000:
2000运行程序,查看电路是否能满足要求,有问题Ctrl+C终止程序,关闭实验箱,修改电路,重复上一步骤直至满足要求。
经老师验收(查看电路情况)可以结束该实验。
四、实验结果
软件实验的时候注意记录出现的错误类型及其改正过程,硬件实验的时候除了要记录软件出现的问题外,还应该记录电路出现的问题及其改正过程。
实验一分支程序设计与调试(2学时)
1、实验内容:
a、设计统计一门课的成绩及多字节十进制加法程序
b、设计数据块移动及有序表的折半查找程序
c、调试程序,得到正确结果,掌握分支程序设计方法
2、基本要求:
a、熟练掌握指令系统
b、掌握分支与循环程序的设计方法和过程
c、熟练掌握汇编语言程序设计的格式、一般过程、调试过程和方法
3、软件实验步骤:
实验报告填写内容
实验类型:
设计型
一、实验目的
1、熟练掌握指令系统,并能在设计程序的过程中熟练应用各个指令;
2、掌握分支与循环程序的设计方法和过程,加深对分支与循环结构的理解;
3、熟练掌握汇编语言程序设计的格式、一般过程、调试过程和方法。
二、准备报告
1、实验方案概述
【实验内容及要求】
1)实验内容:
a、统计一门课的成绩中优、良、中、及格、不及格各多少人,并计算平均成绩;
b、多字节十进制数的被加数放在A单元,加数放在B单元,求和后结果放在A单元;
2)基本要求:
c、能熟练调试程序,并得到正确结果,
【基本原理】
1)根据程序设计的一般步骤进行程序的设计,在编程过程中熟练应用指令系统常用的指令完成编程任务;
在程序设计过程中进一步熟悉指令系统的特点和用法;
2)根据分支循环结构设计的时候要注意的要点:
a、循环体和循环次数的确定,b、判断条件和分支的确定,根据实验要求设计出相应的分支结构和循环结构;
3)汇编程序的建立和调试过程,及常用的DEBUG命令的使用方法。
【设计思想】
1)统计一门课的成绩中有:
优、良、中、及格、不及格中的人数,循环体——判断每个学生的成绩属于哪一个范围,循环次数——学生人数,判断条件——人数是否结束,分支——学生的成绩属于:
优、良、中、及格、不及格中的那一类;
2)多字节十进制加法程序,循环体——每个字节的加法,循环次数——十进制数的位数,判断条件——十进制是否全部加完。
2、设计方案
【电路设计】无
【程序流程图】
实验1-1统计一门课程的成绩流程图实验1-2多位十进制加法流程图
三、实验设备
装有DOS系统和MASM5.0的微机一台或TDN86/88微机原理实验教学系统一台。
四、实验内容
1、程序代码(加注解)
实验1-1统计一门课程的成绩程序
DATASEGMENT
SUTDENTNUMEQU50
SCOREDB88,85,75,72,58,69,……
LT60DB0
GE60DB0
GE70DB0
GE80DB0
GE90DB0
DATAENDS
STACKSEGMENT
DW20DUP(?
)
STACKENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STACK
START:
PUSHDS
MOVAX,0
PUSHAX
MOVAX,DATA
MOVDS,AX
MOVAX,STACK
MOVSS,AX
MOVCX,SUTDENTNUM
LEABX,SOCRE
B60:
MOVAL,[BX]
CMPAL,60
JAEM60
LEASI,LT60
INCBYTEPTR[SI]
JMPNEXT
M60:
CMPAL,70
JAEM70
LEASI,GE60
M70:
CMPAL,80
JAEM80
LEASI,GE70
M80:
CMPAL,90
JAEM90
LEASI,GE80
M90:
LEASI,GE90
NEXT:
INCBX
LOOPB60
RET
CODEENDS
ENDSTART
;
定义数据段
定义学生人数
定义学生成绩
存放不及格人数
存放及格人数
存放中人数
存放良人数
存放优人数
数据段定义结束
定义堆栈段
定义20字的空间
堆栈段定义结束
段寻址伪指令指示各段
DS:
00入栈
AX→DATA数据段
DS→DATA数据段
AX→STACK堆栈段
DS→STACK堆栈段
循环次数CX=学生人数
BX指向成绩的首地址
AL中取一个学生的成绩
成绩与60相比较
大于等于60转移到M60
否则SI取LT60地址
不及格人数LT60+1
无条件转移到NEXT处
成绩与70相比较
大于等于70转移到M70
否则SI取GE60地址
及格人数GE60+1
成绩与80相比较
大于等于80转移到M80
否则SI取GE70地址
中人数GE70+1
成绩与90相比较
大于等于90转移到M90
否则SI取GE80地址
良人数GE80+1
SI取GE90地址
优人数GE90+1
BX指向下一个学生成绩
CX-1≠0循环到B60
结束后返回
数据段结束
程序结束
实验1-2多位十进制加法程序
DECIMALADT3245763299
DECIMALBDT4891047327
MOVSI,OFFSETDECIMALA
MOVDI,OFFSETDECIMALB
MOVCX,5
CLC
LOOP1:
MOVAL,[SI]
ADCAL,[DI]
DAA
MOV[SI],AL
INCSI
INCDI
LOOPLOOP1
定义被加数A
定义加数B
SI指向被加数A的首地址
DI指向加数B的首地址
循环次数CX=10
进位标志CF清0
AL存放被加数[SI]
AL加加数[DI],带进位位加法
BCD码加法调整
调整后的结果存放在A中
指向A下一字节
指向B下一字节
CX≠0循环到LOOP1
结束返回
2、实验数据记录与结果分析
(实验过程中要认真记录数据和实验中出现的问题)
记录内容:
1)出错的地方和错误类型;
2)出错的原因及改正方法;
3、实验总结
总结内容:
1)收获有哪些,对分支结构和循环结构的理解有哪些进步;
2)如何在将来的设计过程中避免错误的发生;
3)MASM5.0汇编过程及调试程序;
4)实际操作与理论的差距有哪些?
实验二循环程序设计与调试(2学时)
a、设计计算Y=1+2+3+……+100的程序
b、求数据块求最大值、最小值程序
c、调试程序,得到正确结果,掌握循环程序设计方法
c、调试程序,得到正确结果。
1、进一步熟悉指令系统,并能在设计程序的过程中熟练应用各个指令;
2、掌握分支与循环程序的设计方法和过程,进一步加深对分支与循环结构的理解;
3、进一步加深对汇编语言程序设计的格式、一般过程、调试过程和方法的掌握。
a、设计程序完成Y=1+2+3+……+100的计算;
b、求出数据块求最大值、最小值;
1)完成Y=1+2+3+……+100的计算,循环体——自然数求和,循环次数——100,判断条件——是否到了100;
2)求出数据块求最大值、最小值,循环体——数据比较求较大值、最小值,最大值存放在BH中,最小值存放在BL中,循环次数——数据个数-1,判断条件——是否是最后一个数据;
【电路设计】无【程序流程图】
实验2-1求Y=1-2+3+……100的流程图实验2-2求数据块最大值、最小值流程图
实验2-1求Y=1+2+3+……+100的程序
MAXDW100
SUMDW?
MOVCX,MAX
MOVBX,1
ADDAX,BX
INCBX
定义循环次数为100
定义结果存放地方
AX清0
CX设定为循环次数100
BX为第一个数1
AX+BX→AX(存放结果),
BX+1
CX≠0转移到LOOP1
程序返回
实验2-2求出数据块求最大值、最小值程序
NUMEQU16
NUMBERDB16,25,32,83……
DW20HDUP(?
CODE,DS:
PUSHDS
MOVAX,0
PUSHAX
MOVAX,DATA
MOVDS,AX
MOVAX,STACK
MOVSS,AX
MOVSI,OFFSETNUMBER
MOVCX,NUM
MOVBH,[SI]
MOVBL,BH
LOOP1:
MOVAL,[SI]
CMPAL,BH
JGL1
CMPAL,BL
JLL2
JMPL3
L1:
MOVBH,AL
L2:
MOVBL,AL
L3:
RET
ENDSTART
定义数据个数
定义数据块内容
SI指向数据块的首地址
循环次数CX=NUM
BH存放第一个数
BL存放第一个数
SI+1,指向下一个数据
AL存放下一个数
比较AL与BH
大于时转移到L1
否则比较Al与BL
小于转移到L2
无条件转移到L3
将AL的内容给BH
将AL的内容给BL
实验三8255并行接口实验(2学时)
a、熟悉微机原理实验箱的使用
b、理解8位微处理器扩展接口方法和原理
c、能使用实验箱扩展总线,按不同地址范围扩展并行接口8255A
d、编写程序实现:
通过8255A用发光二极管显示出开关状态
a、理解8位微处理器扩展接口方法和原理
b、能使用实验箱扩展总线,按不同地址范围扩展接口器件
c、编写程序实现实验内容的要求
3、硬件实验步骤
1、学习并掌握8255A并行接口方式0及其应用;
2、学习在系统接口实验单元上构造实验电路;
3、进一步加深对8255A并行接口的内部结构、引脚、方式控制字、端口地址等的理解。
a、熟悉微机原理实验箱的使用方法,理解8位微处理器扩展接口方法和原理
b、能使用实验箱扩展总线,按不同地址范围扩展并行接口8255A
c、编写程序实现:
使用8255A的A组、B组均工作与方式0,端口B工作于输入方式,端口A工作于输出方式,用一组开关信号接入端口B,端口A输出线接至一组发光二极管上,对8255A编程,使得发光二极管可以反映开关的状态。
1)充分认识接口的作用、重要性、地位,加深对并行接口的理解;
2)深入学习8255A的内部结构、引脚、方式控制字、端口地址、初始化方法等;
3)进一步加深对汇编程序的建立和调试过程,及常用的DEBUG命令的使用方法。
1)根据题目的要求进行接线,端口A接发光二极管,端口B接开关信号;
2)根据要求写出方式控制字为:
82H,确定端口A、B、C、控制的地址分别为:
60H、61H、62H、63H;
3)然后画出流程图,并按流程图编写程序实现对8255A的初始化及对端口A和端口B的控制。
【电路设计】
实验38255A方式0实验流程图
1、TDN86/88微机原理实验教学系统一台;
2、四芯排线2根,八芯排1根;
3、西安唐都科教仪器公司的16位开放式微机实验箱一个。
实验38255A方式0实验程序
CODE,SS:
MOVAL,82H
OUT63H,AL
INAL,61H
OUT60H,AL
JMPLOOP1
方式控制字给Al
方式控制字写入控制端口
从B口读入一个数据
将B口内容从A口输出,
无条件转移到LOOP1处
2)出错的原因及改正方法(包括电路、软件);
1)收获有哪些,对8255A的内部结构、引脚、方式控制字、端口地址、初始化方法的理解有哪些进步;
2)如何在将来的设计过程中避免错误的发生——包括软硬件两方面;
3)进一步熟悉MASM5.0汇编过程及调试方法;
4)实际操作连线与理论的差距有哪些?
实验四8253定时器计数器接口实验(2学时)
a、利用实验箱上的8253A,设计计数器,能对通过开关产生的计数脉冲进行计数
b、设计8253A不同工作方式时的计数过程
c、编写程序,实现相应功能
d、掌握8253计数器各种工作方式的使用
a、理解8253A计数器的使用和原理
b、掌握8253A的初始化编程和各种工作方式的使用
下输入D86,选择串口1,如果没有WELCOME信号,按F8退出,重新输入D86,选择串口2,如
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 试验