下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、微机原理课程设计报告学院: 电气学院班级:姓名:学号:指导老师:时间:2014年 1月 15日一课程设计目的:1. 结合微型计算机原理课程的学习,进一步巩固已学的知识,同时针对计算 机原理知识的具体应用,学会对系统中 DOS和BIOS的使用。学会使用屏幕编辑程 序 EDIT弄, 懂汇编程序的上级过程以及如何运用 DEBUG软件进行汇编程序的 调试。2. 学会将课本上的理论知识和实际有机的结合起来, 锻炼自己分析解决实际 问题的能力。提高适应实际,实践编程的能力。3. 为了进一步巩固学习的理论知识, 增强学生对所学知识的实际应用能力和 运用所学的知识解决实际问题的能力, 开始为期两周的课程设计。
2、 通过设计使学 生在巩固所学知识的基础之上具有初步的单片机系统设计与应用能力。二课程设计内容:1. 接受年、月、日信息并显示的设计为掌握响铃使用方法, 并掌握年、月、 日输入方法。 编写程序, 先显示“ WHAT IS THE DATA (MM/DD/YY)?”并响铃一次,然后接受键盘输入的月 /日/年信息,并显示。2. 字符串匹配设计为掌握提示信息的设置方法及读取键入信息的方法, 编写程序实现两个字 符串比较,如相同则显示“ MATCH”,否则显示“ NO MATCH”。3. 从键盘输入数据并显示的设计为掌握键盘接受数据的方法,并了解将键盘数据显示时必须转换为ASCI码I的原理,编写程序,将
3、键盘接受到的四位十六进制数据转换为等值的二进制数显 示。4. 字符和数据的显示设计为掌握字符和和数据的显示方法。 编写程序,先显示信息 :INPUT STRING,THE END FLAG IS$再, 接受字符。如为 0-9,则计数器加 1,并显示数据;如为非数字, 则直接显示,但不计数。三典型题目举例:1接收年月日信息并显示的设计为掌握响铃使用方法, 并掌握年、 月、日输入方法。 编写程序, 先显示“ WHAT IS THEDATA (MM/DD/YY)?”并响铃一次,然后接受键盘输入的月/ 日/年信息,并显示。流程图:程序代码及注释:;显示字符串;月字符串;日字符串;年字符串 ;存放接受的
4、月DATA SEGMENTS1DB WHAT IS THE DATA (MM/DD/YY)? ,0DH,0AH,$S2DB MONTH,0DH,0AH,$S3DB DAY,0DH,0AH,$S4DB YEAR,0DH,0AH,$S5DB 4DB ?DB 4 DUP( $);存放接受的日S6DB 4DB ?DB 4 DUP( $);存放接受的年S7DB 6 DB ?DB 6 DUP( $)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV DX,OFFSET S1MOV AH,9INT 21HMOV D
5、L,07HMOV AH,2INT 21HMOV CX,0FFFHL1:PUSH CXMOV CX,0FFFFHL2: LOOP L2POP CXLOOP L1MOV DX,OFFSET S5MOV AH,0AHINT 21HMOV DX,OFFSET S6MOV AH,0AHINT 21HMOV DX,OFFSET S7MOV AH,0AHINT 21HMOV DL,0DHMOV AH,2INT 21HMOV DL,0AHMOV AH,2INT 21HMOV DX,OFFSET S5ADD DX,2MOV AH,9INT 21HMOV DX,OFFSET S2MOV AH,9INT 21HMO
6、V DX,OFFSET S6ADD DX,2MOV AH,9INT 21HMOV DX,OFFSET S3MOV AH,9INT 21H;段寄存器初始化;显示提示信息;响铃一次;延迟,用内外双重循环实现;接受月数据,放入变量;接受日数据,放入变量;接受年数据,放入变量;显示回车;显示换行;显示月数据;显示月字符;显示日数据;显示日字符;显示年数据;显示年字符;返回 DOSMOV DX,OFFSET S7ADD DX,2MOV AH,9INT 21HMOV DX,OFFSET S4MOV AH,9INT 21HMOV AH,4CHINT 21HCODE ENDSEND START结果截图:2字符
7、串的匹配设计为掌握提示信息的设置方法及读取键入信息的方法。 编写程序实现两个字符 串比较。如相同,则显示“ MATC”H,否则,显示“ NO MATC”H。程序清单:CRLF MACRO ; 显示回车MOV DL,0DHMOV AH,02HINT 21HMOV AH,02HMOV DL,0AHINT 21HENDMDATA SEGMENTMESS1 DB MATCH,0DH,0AH,$MESS2 DB NO MATCH,0DH,0AH,$MESS3 DB INPUT STRING1!,0DH,0AH,$MESS4 DB INPUT STRING2!,0DH,0AH,$MAXLEN1 DB 10
8、0STRING1 DB 100 DUP(?)MAXLEN2 DB 100STRING2 DB 100 DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATASTART: MOV AX,DATAMOV DS,AXMOV ES,AXMOV AH,09HMOV DX,OFFSET MESS3INT 21HMOV AL,MAXLEN1MOV BX,OFFSET STRING1MOV BX,ALMOV AH,0AHMOV DX,OFFSET STRING1INT 21H ;CRLFMOV AH,09HMOV DX,OFFSET MESS4INT
9、 21HMOV AL,MAXLEN2MOV BX,OFFSET STRING2MOV BX,ALMOV AH,0AHMOV DX,OFFSET STRING2INT 21HCRLFCLDLEA SI,STRING1MOV CL,SI+1MOV CH,0BEING: LEA DI,STRING2MOV DL,DI+1MOV DH,0J1: MOV AL,SI+2 ;CMP DI+2,ALJE J3J2: INC DI ;DEC DXJZ NOMATJMP J1J3: DEC CXJZ MATCHDEC DXJZ NOMATINC SI; 显示提示信息 1; 最大字符缓冲接收键入的字符串 1; 显
10、示提示信息 2; 最大字符缓冲设置; 接收键入的字符串 2;字符串 1 的地址送给 SI; 字符串 1的字符数送给 CX;字符串 2 的地址送给 DI; 字符串 2的字符数送给 DX字符串 1的第一个字符在字符串 2中匹配; 匹配成功则跳转指向字符串 2下一个字符;字符串 2 完,不匹配;字符串 2没完, 重新匹配;字符串 1完,匹配;字符串 2 完,不匹配;指向串 1 下一个字符INC DIMOV AL,SI+2 CMP DI+2,AL JE J3 DEC DX JZ NOMAT LEA SI,STRING1 MOV CL,SI+1 MOV CH,0 JMP J1指向串 2下一个字符匹配 ,
11、 跳转;字符串 2 完,不匹配重新从串 1的第一个字符匹配输出匹配信息输出不匹配信息程序终止MATCH: MOV AH,09HMOV DX,OFFSET MESS1INT 21HJMP NEXTNOMAT: MOV AH,09HMOV DX,OFFSET MESS2INT 21HNEXT: MOV AH,4CHINT 21HCODE ENDS END START3从键盘输入数据并显示的数据为掌握接收键盘数据的方法,并了解将键盘数据显示时须转换为ASCII码的原理。编写程序, 将键盘接收到的四位十六进制数据转换为等值的二进制数, 再 显示在终端上。程序清单:DATA SEGMENTMSG1 DB
12、 Hex:, $MSG2 DB 0DH, 0AH, Binary:, $COUNT EQU 4BUF DB 4 DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX, DATAMOV DS, AXLEA DX, MSG1MOV AH, 9INT 21HMOV CX, COUNTMOV SI, 0INPUT:MOVA H, 1; 通过四次循环从键盘读入四位十六进制数INT 21HMOV BUFSI, ALDEC CXINC SICMP CX, 0JNZ INPUTNEXT3: LEA DX, MSG2MOV AH, 9INT
13、 21HMOV CX, COUNTMOV SI, 0NEXT2: MOV BL, BUFSICMP BL , 9JBE OK ; 读入的字符 9 转向 OKSUB BL, 7 ;读入字符= 9 减 7OK: PUSH CXMOV CL ,4SHL BL, CL;逻辑左移 4位,低 4位高4位MOV CX, 4; 4次循环将当前处理字符的 4位二进制输出NEXT1: MOV DL, 0SHLBL, 1JNCSKIPINCDLSKIP: MOV AH, 2INT 21HLOOP NEXT1POP CX ;INC SILOOP NEXT2 ; 4次循环将 4位十六进制数每位转换为对应的 4 位二进制
14、 EXIT: MOV AH, 4CHINT 21HCODE ENDSEND START4字符和数据的显示程序为掌握字符和数据的显示方法。 编写程序,先显示信息: INPUTS TRING,THEE ND FLAG IS$, 再接收字符。如为 0-9, 则计数器加 1,并显示数据;如为非数字,则 直接显示,但不技计数。程序清单:CRLF MACROMOV AH,02HMOV DL,0DHINT 21HMOV AH,02HMOV DL,0AHINT 21HENDMDATA SEGMENTMESS1 DB INPUT$MESS2 DB zifu zongshu= $MESS3 DB no zifu
15、zongshu= $MESS4 DB shuzi zifu zongshu= $ TOTAL DW ?DATA ENDSSTACK SEGMENTSTA DW 32 DUP (?)TOP DW ?STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK START: MOV AX,DATAMOV DS,AXMOV ES,AXMOV SP,TOP ;MOV BX,0000H ;MOV AH,09HMOV DX,OFFSET MESS1INT 21HCRLFXXX: MOV AH,01HINT 21H ;CMP AL,20HJZ U
16、UU ;CMP AL,0DHJNZ IIICRLF ;JMP UUUIII: CMP AL,30HJB YYYCMP AL,39HJBEVVV;0-9YYY:INCBX;VVV:INCTOTALJMP XXX初始化计数值清 0接收键入字符是空格键则转 UUU是回车键则转 UUU转 VVV 计数值加 1UUU: CRLFMOV AH,09HLEA DX,MESS2 ;显示字符总数INT 21HMOV AX,TOTALCALL DISPMOV AH,02HMOV DL,HINT 21HCRLF ;回车换行MOV AH,09HMOV DX,OFFSET MESS3INT 21H ;显示非数字字符总数
17、MOV AX,BXCALL DISPMOV AH,02HMOV DL,HINT 21H ;十六进制数标志CRLFMOV AH,09HLEA DX,MESS4 ;显示数字字符总数INT 21HMOV AX,BXSUB TOTAL,AXMOV AX,TOTALCALL DISPMOV AH,02HMOV DL,HINT 21HMOV AX,4C00HINT 21HDISPP PROCN EAR; 显示子程序 , 显示 AL中的数按十六进制数方式MOV BL,AL ;AL 中数送 BL KKK: MOV DL,BLMOV CL,04ROL DL,CLAND DL,0FHCALL DISPL; 显示字
18、节高位MOV DL,BLAND DL,0FHCALL DISPL; 显示字节低位RETDISPP ENDPDISPL PROC NEARADD DL,30H ;由数值转为参应字符的 ASCII 码CMP DL,3AHJB DDD; 是 0-9 转 DDDADD DL,27H; 是 A-FDDD: MOV AH,02HINT 21H;显示 DL 中字符RET; 返回DISPL ENDP ;显示子程序,显示 AX中的数按十六进制数方式DISP PROC NEARPUSH BXPUSH CXPUSH DXPUSH AX;入栈保存MOV AL,AHCALL DISPP;显示高字节POP AXCALL DISPPPOP DXPOP CXPOP BXRET ; 出栈DISP ENDPCODE ENDSEND START四心得体会: 经过这次课程设计,跟加深了对汇编语言的理解和认识,尤其是DOS系统的功能调用。 这次一共做了 4 道题目,每一道题都有其难
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 低压电应急预案(3篇)
- 家庭健身策划活动方案(3篇)
- 抗滑桩施工方案范例(3篇)
- 整体定制施工方案(3篇)
- 晚间酒水活动策划方案(3篇)
- 水源性应急预案(3篇)
- 济宁校园营销方案(3篇)
- 烧烤促销活动策划方案(3篇)
- 甲醛应急预案演练(3篇)
- 社区暑假活动方案策划(3篇)
- 2026年民政通APP养老服务消费券申领使用教程
- 2026福建莆田城市园林发展集团有限公司招聘13人笔试历年参考题库附带答案详解
- 高速公路机电考核制度
- 全国金融工作会议精神
- 2026年一季度湖南能源集团社会招聘520人笔试参考题库及答案解析
- 外研社校招会计笔试试题及答案
- 美容抗衰培训课件
- 2026广东河源市东源县市场监督管理局乡镇市场监管所执法辅助人员招聘15人笔试模拟试题及答案解析
- 《验检测机构资质认定管理办法(修订草案)》2025版(征求意见稿)修订内容及其新旧条文对照表
- 2026年《必背60题》车辆工程专业26届考研复试高频面试题包含详细解答
- 多个项目合同范本
评论
0/150
提交评论