微机系统实验报告89553.docx
《微机系统实验报告89553.docx》由会员分享,可在线阅读,更多相关《微机系统实验报告89553.docx(8页珍藏版)》请在冰豆网上搜索。
![微机系统实验报告89553.docx](https://file1.bdocx.com/fileroot1/2022-10/14/12a91461-b07f-455c-907d-198d8201a760/12a91461-b07f-455c-907d-198d8201a7601.gif)
微机系统实验报告89553
实验报告
(2016--2017学年第1学期)
课程名称
微型计算机原理与接口技术
实验名称
(1)排除语法错误
(2)测试微机系统串行口
实验时间
2016
年
12
月
11
日
指导单位
南京邮电大学
指导教师
李爱群
学生姓名鞠黄杰班级学号B14020230
学院电子科学与工程专业电子科学与技术
实验报告
(一)
实验名称
排除语法错误
指导教师
李爱群
实验类型
验证
实验学时
2
实验时间
2016.11.
一、实验目的和要求
进一步学习汇编语言的源程序的编辑、汇编、目标文件的廉洁和可执行文件的执行全过程;掌握编辑软件、MASM、LINK和Debug的使用方法;掌握汇编语言的语法规则。
二、实验环境(实验设备)
未来汇编软件、windows7
三、实验原理及内容
1、实验【1.3.1】中要求通过比较法完成8位二进制数转换成十进制数送屏幕显示功能。
所给出的程序有很多语法错误,要求按照原样对源程序进行编辑,汇编后,根据TASM给出的错误信息对源程序进行修改,直到没有语法错误为止,然后进行链接,并执行相应的可执行文件。
正确的执行结果是在屏幕上显示:
25+9=34,修改后程序如下:
.486
DATASEGMENTUSE16
SUMDB?
?
MESGDB'25+9='
DB0,0,'$'
N1DB9
N2DB25
DATAENDS
CODESEGMENTUSE16
ASSUMECS:
CODE,DS:
DATA
BEG:
MOVAX,DATA
MOVDS,AX
MOVBX,OFFSETSUM
MOVAH,N1
MOVAL,N2
ADDAH,AL
MOV[BX],AH
CALLCHANG
MOVAH,9
MOVDX,OFFSETMESG
INT21H
MOVAH,4CH
INT21HCHANGPROC
LAST:
CMPBYTEPTR[BX],10
JCNEXT
SUBBYTEPTR[BX],10
INCBYTEPTR[BX+7]
MOVAH,BYTEPTR[BX]
JMPLAST
NEXT:
ADDBYTEPTR[BX+8],AH
ADDBYTEPTR[BX+7],30H
ADDBYTEPTR[BX+8],30H
RETCHANG
ENDPCODE
ENDS
ENDBEG
2、实验【2.3.4】从数据段NUM单元开始存有9个有符号数,并编写一个程序实现:
找出最小值存放到数据段MIN单元,并将负数的个数以十进制的形式显示在屏幕上
程序清单:
.486
DATASEGMENTUSE16
NUMDB2,-3,4,-4,5,-1,9,-7,1,6
MINDB?
ABDB'0'
DATAENDS
CODESEGMENTUSE16
ASSUMECS:
CODE,DS:
DATA
BEG:
MOVAX,DATA
MOVDS,AX
MOVBX,OFFSETNUM
MOVCH,0
MOVCL,9
AGAIN:
CMPBYTEPTR[BX],0
JGNEXT1
INCAB
CMPBYTEPTR[BX],CH
JGNEXT1
MOVCH,BYTEPTR[BX]
NEXT1:
INCBYTEPTRBX
DECCL
JNEAGAIN
MOVMIN,CH
MOVAH,2
MOVDL,AB
INT21H
MOVAH,4CH
INT21H
CODEENDS
ENDBEG
四、实验小结(包括问题和解决方法、心得体会、意见与建议等)
实验过程:
在实验1的修改中,忽略了DB0,0,'$'中的'$',导致结果出现乱码;实验2中的关键思想在于:
循环每个数和0比较,大于等于0跳转到厦门,INCBX,小于则计数器加1,并再比较最小值,然后INCBX,用02功能显示个数,把计数送入DL。
五、指导教师评语
成绩
批阅人
李爱群
日期
实验报告
(二)
实验名称
测试微机系统串行口
指导教师
李爱群
实验类型
设计
实验学时
2
实验时间
2016.11.
四、实验目的和要求
掌握8250串行接口芯片的使用方法及初始化编程。
五、实验环境(实验设备)
PC系列机、汇编语言开发工具。
.586
DATASEGMENTUSE16
BUFDB'hellowword',09H
LENSEQU$-BUF
MESGDB'THERECEIVEDCHARACTERS:
','$'
DATAENDS
CODESEGMENTUSE16
ASSUMECS:
CODE,DS:
DATA
BEG:
MOVAX,DATA
MOVDS,AX
CALLI8250
MOVDX,OFFSETMESG
MOVAH,9H
INT21H
LEABX,BUF
MOVCX,LENS
SCAN:
MOVDX,2FDH;通信线状态寄存器
INAL,DX;此时要查看发送保持寄存器是否有值
TESTAL,01H
JNZPROCESS;如果可以读取
TESTAL,20H;若有A5为1则写入发送保存寄存器
JZSCAN;否则就不可以写入,继续查看
MOVDX,2F8H;写入发送保存寄存器
MOVAL,[BX]
OUTDX,AL
INCBX;写完之后考虑直接用读取输出到屏幕上
LOOPSCAN
PROCESS:
;接收子程序
MOVDX,2F8H
INAL,DX
ANDAL,01111111B
CMPAL,03H
JNZDISP;此时可以从接受缓存寄存器中读取
MOVAH,4CH
INT21H
DISPPROC
PUSHAX
MOVAH,02H
MOVDL,AL
INT21H
POPAX
JMPSCAN
DISPENDP
I8250PROC
MOVDX,2FBH
MOVAL,80H
OUTDX,AL
MOVDX,2F9H
MOVAL,0
OUTDX,AL
MOVDX,2F8H
MOVAL,30H
OUTDX,AL
MOVDX,2FBH
MOVAL,0AH
OUTDX,AL
MOVDX,2F9H
MOVAL,0
OUTDX,AL
MOVDX,2FCH
MOVAL,0
OUTDX,AL
RET
I8250ENDP
CODEENDS
ENDBEG
四、实验小结(包括问题和解决方法、心得体会、意见与建议等)
通过这次实验我对串行通信的基本知识,8251、8255的结构更加的了解了也加深对串行接口的控制端口、数据端口工作方式的理解。
五、指导教师评语
成绩
批阅人
李爱群
日期
欢迎您的下载,
资料仅供参考!
致力为企业和个人提供合同协议,策划案计划书,学习资料等等
打造全网一站式需求