江苏大学微机原理课程设计报告

上传人:第*** 文档编号:57492772 上传时间:2018-10-22 格式:DOC 页数:29 大小:304KB
返回 下载 相关 举报
江苏大学微机原理课程设计报告_第1页
第1页 / 共29页
江苏大学微机原理课程设计报告_第2页
第2页 / 共29页
江苏大学微机原理课程设计报告_第3页
第3页 / 共29页
江苏大学微机原理课程设计报告_第4页
第4页 / 共29页
江苏大学微机原理课程设计报告_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《江苏大学微机原理课程设计报告》由会员分享,可在线阅读,更多相关《江苏大学微机原理课程设计报告(29页珍藏版)》请在金锄头文库上搜索。

1、微机原理 课 程 设 计一课程设计目的:一课程设计目的: 结合微型计算机原理课程的学习,进一步巩固已学的知识,同时针对微型计算机原理知识 的具体应用,学会对系统中 DOS 和 BIOS 的使用。学会使用全屏幕编辑程序PE,弄懂 汇编程序的上机过程以及如何运用 DEBUG 软件进行汇编程序的调试。 二课程设计的任务:二课程设计的任务:实验一实验一实验要求:实验要求: 字符串匹配的设计 编写程序实现两个字符串比较,如相同,则显示“MATCH” ;否则,显示“NO MATCH” 。流程图:流程图:显示“NO MATCH”SI 加 1,指向下一字符串 1 字符已取完?返回 DOS相等?显示“MATCH

2、”入口段寄存器堆栈初始化显示请输入字符串 1 用 INT 21H 的 0AH 号子功能,接收字符串显示请输入字符串 2SI 指向串 1 的首字 符SI 指向的字符和字符串 2 比较NYNY程序程序 CRLF MACRO ;显示回车MOV DL,0DHMOV AH,02HINT 21H MOV AH,02HMOV DL,0AHINT 21HENDMDATA SEGMENT MESS1 DB MATCH,0DH,0AH,$ MESS2 DB NO MATCH,0DH,0AH,$ MESS3 DB INPUT STRING1!,0DH,0AH,$ MESS4 DB INPUT STRING2!,0D

3、H,0AH,$ MAXLEN1 DB 100 STRING1 DB 100 DUP(?) MAXLEN2 DB 100 STRING2 DB 100 DUP(?) DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA START: MOV AX,DATAMOV DS,AXMOV ES,AXMOV AH,09HMOV DX,OFFSET MESS3INT 21H ;显示提示信息 1MOV AL,MAXLEN1MOV BX,OFFSET STRING1MOV BX,AL ;最大字符缓冲MOV AH,0AHMOV DX,OFFSET STRING1

4、INT 21H ;接收键入的字符串 1CRLFMOV AH,09HMOV DX,OFFSET MESS4INT 21H ;显示提示信息 2MOV AL,MAXLEN2MOV BX,OFFSET STRING2MOV BX,AL ;最大字符缓冲设置MOV AH,0AHMOV DX,OFFSET STRING2INT 21H ;接收键入的字符串 2CRLF CLDLEA SI,STRING1 ;字符串 1 的地址送给 SIMOV CL,SI+1 ;字符串 1 的字符数送给 CXMOV CH,0 BEING: LEA DI,STRING2 ;字符串 2 的地址送给 DIMOV DL,DI+1 ;字符

5、串 2 的字符数送给 DXMOV DH,0 J1: MOV AL,SI+2 ;字符串 1 的第一个字符在字符串 2 中匹配CMP DI+2,ALJE J3 ;匹配成功则跳转 J2: INC DI ;指向字符串 2 下一个字符DEC DXJZ NOMAT ;字符串 2 完,不匹配JMP J1 ;字符串 2 没完,重新匹配 J3: DEC CXJZ MATCH ;字符串 1 完,匹配DEC DXJZ NOMAT ;字符串 2 完,不匹配INC SI ;指向串 1 下一个字符INC DI ;指向串 2 下一个字符MOV AL,SI+2CMP DI+2,ALJE J3 ;匹配,跳转DEC DXJZ N

6、OMAT ;字符串 2 完,不匹配LEA SI,STRING1 ;重新从串 1 的第一个字符匹配MOV CL,SI+1MOV CH,0JMP J1 MATCH: MOV AH,09H ;输出匹配信息MOV DX,OFFSET MESS1INT 21H JMP NEXT NOMAT: MOV AH,09H ;输出不匹配信息MOV DX,OFFSET MESS2INT 21H NEXT: MOV AH,4CH ;程序终止INT 21H CODE ENDS END START 运行结果运行结果实验二实验二实验要求:实验要求: 从键盘输入数据并显示的设计 为掌握键盘接受数据的方法,并了解将键盘数据显示

7、时必须转换为ASCII码的 原理,编写程序,将键盘接受到的四位十六进制数据转换为等值的二进制数显 示。流程图:流程图:程序:程序: DATA SEGMENT CUE DB PLEASE INPUT SIXTEEN DATA,0DH,0AH,$ CHA DB 0DH,0AH,CHANGE NUM :,0DH,0AH,$ DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,0MOV AX,DATAMOV DS,AXMOV DX,OFFSET CUE ;显示输入十六进制数MOV AH,9INT 21HCALL SHOWMOV AH,4CHI

8、NT 21HSHOW PROC NEAR MOV CL,4MOV CH,4MOV BX,0LP1: MOV AH,01HINT 21HSUB AL,0 ;存放差值CMP AL,9JNG LPSUB AL,7 LP: ROL BX,CL ;十六进制数存放到 BX 中OR BL,ALDEC CHJNZ LP1MOV DX,OFFSET CHAMOV AH,9INT 21HMOV CX,16 LP2: SHL BX,1 ;二进制转化JC LP3MOV DL,0JMP NEXT LP3: MOV DL,1 NEXT: ADD DL,0MOV AH,2INT 21HLOOP LP2RET SHOW EN

9、DPCODE ENDSEND START运行结果:运行结果:实验三实验三字符和数据的显示设计实验要求:实验要求: 为掌握字符和数据的显示方法。编写程序,先显示信息:INPUT STRING,THE END FLAG IS $,再接收字符。如为 0-9,则计数器加 1,并显示数据;如为非 数字,则直接显示,但不计数。流程图:流程图:Y NYN实验程序实验程序: DATA SEGMENTDATA1 DB 40 DUP(?)DISPP1 DB input string,the end flag is CR,quit with ctrl-c,0DH,0AH,$DISPP2 DB 0DH,0AH,$DI

10、SPP3 DB the input string is:,$ DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA START: MOV AX,DATA入口段寄存器初始化非数字字符计数器 BX 清 0显示提示信息INT 21H 的 01 子功能接收键入字符是“$”字符?是回车键?非 09?计数器 BX 加 1回车换行调用 DISP,显示计数结果返回 DOSMOV DS,AXMOV SI,00HMOV CL,0MOV BX,OFFSET DATA1 LEA DX,DISPP1MOV AH,9INT 21HL1: MOV AH,1INT 21HCMP AL,03H

11、JZ L4CMP AL,0DHJZ L3MOV BX+SI,AL INC SICMP AL,30HJNB kkJMP L1 kk: CMP AL,39HJNA L2JMP L1 L2: INC CL JMP L1 L3: LEA DX,DISPP2MOV AH,9INT 21HLEA DX,DISPP3MOV AH,9INT 21H ADD CL,30HMOV BX+SI+1,CLMOV AL,0AHMOV BX+SI+2,AL MOV AL,$ MOV BX+SI+3,AL MOV DX,BX MOV AH,9 INT 21H JMP L4 L4: MOV AH,4CHINT 21H COD

12、E ENDSEND START运行结果运行结果:实验四实验四实验要求:实验要求: 从键盘按收输入字符,如是数字 N,则响铃 N 次,如不是数字或数字是 0,则不响 流程图:流程图:入口段寄存器及堆栈段初始化INT 21H 的 1 号子功能,读入数字BP 为 0?对应次数送入 CX发出响铃,输出字符 延时返回 DOS是09?次数 BP 减 1是 CtrlC?YYNNNY程序:程序: DATA SEGMENT CUE DB PLEASE INPUT NUM,0DH,0AH,$ DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA START: MOV AX,DAT

13、AMOV DS,AXLEA DX,CUEMOV AH,09HINT 21HLOP: MOV AH,01HINT 21H CMP AL,0DH ;回车转到 PPPJE PPP CMP AL,39H ;大于 39H 从新输入JA LOP; SUB AL,2FHXOR AH,AHMOV BP,AX LOP1: DEC BPJZ LOPMOV AH,02H ;响铃MOV DL,07HINT 21H MOV CX,0FFFFH ;延迟 LOP2: LOOP LOP2 JMP LOP1 PPP: MOV AH,4CHINT 21H CODE ENDSEND START 运行结果:运行结果:实验五实验五实验要求:实验要求: 接收年,月,日信息并显示的设计:掌握响铃使用方法,并掌握年,月,日输 入方法。编写程序,先显示“WHAT IS THE DATE(MM/DD/YY)?”并响铃一次, 然后接收键盘输入的月/日/年信息,并显示。 流程图流程图:初始化,清错误标志调用键读入子程序,读 月有出错标志吗?显示提示

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号