


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计说明书课程名称 : 微机原理课程设计题目:数制转换实验院 系: 理学院专业班级:应用物理 13-1学 号: 2013305188学生姓名: 李立才指导教师: 李 声2016 年 6 月 17 日安徽理工大学课程设计(论文)任务书理学院 院系信计 教研室学号2013305188 学生姓名 李立才 专业(班级) 应物 13-1设计题目数制转换实验,小写转大写实验设计 技 术参 数在 masm for windows 上经 debug 调试可运行;可满足设计要求。设 计 要 求为掌握键盘接受数据的方法,并了解将键盘数据显示时必须转换为 ASCII 码的原理,编写程序,将键盘接受到的四位十六进
2、制数据转换为等值的二进制数 显示。为了解小写字母和大写字母在计算机内的表示方法, 并学习如何进行转换, 编写程序,接受键盘字符,并将其中的小写字母转变为大写字母,然后显示在屏 幕上。工作量查阅相关材料,完成设计,完成设计报告工作 计 划1.综合论证,确定设计方案。 2.查阅资料,完成设计。 3.完成设计报告。参 考 资 料1 姚燕南 ,薛钧义主编 .微型计算机原理第四版 M. 西安电子科技大学出版社 .2 潘峰主编 .3 雏逢兴编著微型计算机原理与汇编语言第三版 M. 电子工业出版社 .计算机硬件技术基础 M, 高等教育出版社 .指导教师签字教研室主任签字年月日安徽理工大学课程设计(论文)成绩
3、评定表学生姓名: 李立才 学号: 2013305188 专业班级: 应物 13-1 课程设计题目: 数制转换实验指导教师评语:成绩:指导教师:目录1. 课程设计实验目的与要求 1.从键盘输入数据并显示 1.将键盘输入的小写字母转换成大写字母 1.2. 课程设计实验内容 1.从键盘输入数据并显示 1.将键盘输入的小写字母转换成大写字母 2.3. 课程设计实验流程图 2.从键盘输入数据并显示 2.将键盘输入的小写字母转换成大写字母 3.4. 课程设计实验程序 4.从键盘输入数据并显示 4.将键盘输入的小写字母转换成大写字母 8.5. 课程设计实验运行结果 1.2.从键盘输入数据并显示 1.2将键盘
4、输入的小写字母转换成大写字母 1. 26. 课程设计实验心得 1.3.1. 课程设计实验目的与要求从键盘输入数据并显示1. 掌握键盘接受数据的方法,并了解将键盘数据显示时必须转换为 ASCII码的原理,编写程序,将键盘接受到的四位十六进制数据转换 为等值的二进制数显示。2. 掌握子程序定义和调用的方法。3. 掌握循环移位指令的用法和无符号数比较大小的方法。将键盘输入的小写字母转换成大写字母1. 了解小写字母和大写字母在计算机内的表示方法,并学习如何进行 转换,编写程序,接受键盘字符,并将其中的小写字母转变为大写 字母,然后显示在屏幕上。2. 熟练掌握汇编语言程序设计的方法及上机步骤3. 掌握将
5、小写字母转换为相应的大写字母的方法4. 掌握子程序的设计方法5. 掌握 DOS功能的调用方法2. 课程设计实验内容从键盘输入数据并显示 为了解小写字母和大写字母在计算机内的表示方法, 并学习如何进行转换, 编写程序, 接受键盘字符, 并将其中的小写字母转变为大写字母, 然后显示在屏 幕上。课程设计要求进行小写字母到大写字母的转换。其实字母大小写的区别在 于他们的 ASCII码范围,它们之间的转换其实就是加减相应的 ASCII码值。在判 断输入的字母是大写的还是小写的 (即判断输入符号 ASCII码在 41H5AH还是在 61H7AH内)之后,决定判断是加上还是减去 ASCII码值将键盘输入的小
6、写字母转换成大写字母第一步是实现小写字母向大写字母的转换,主要利用小写字母比大写字母大 20H 的关系。第二部要键盘输入,显示输出。3. 课程设计实验流程图从键盘输入数据并显示图 3-1 实验流程图将键盘输入的小写字母转换成大写字母图 3-2 实验流程图4. 课程设计实验程序从键盘输入数据并显示data segment; 数据区定义开始strr db please input hexadecimal number:$ errr db this is an error number!$; 数据区定义结束data endsstack segment stack; 堆栈区定义开始db 100 dup
7、(); 堆栈区定义结束stack endscode segment; 代码区定义开始assume cs:code,ds:data,ss:stackstart: mov ax,datamov ds,axmov ax,stackmov ss,ax; 设定区址mov cx,00hxor bx,bxcall getnum; 按提示输入四个字符,存入 BX 中mov cx,10h; 用于下面的 loop next 处,因为 BX 共有 16 位call newline; 转到新行mov dl,0ahmov ah,02hint 21h; 换行mov dl,0dhmov ah,02hint 21h; 回车n
8、ext: rol bx,1; 把 BX 所存字符的二进制的最高位移到最低位mov dl,bland dl,01h; 获取最低位add dl,30h; 将最低位转成数字,即字符 0 或 1mov ah,02hint 21h; 即将之前 BX 的最高位输出到屏幕loop next; 循环,将 BX 的每一位都输出来mov ah,4chint 21h ; 完成功能:接受四个字符,必须输入 0-9 A-F,否则提示错要重输; 假设先后输入 1 2 3 4,则最后 BX 为 0x1234getnum proc near; 子过程 getnum 开始again: push cxmov cl,4shl bx
9、,cl; 把 BX 左移四位,空出了低四位again1: call newline; 转到新行lea dx,strrmov ah,09hint 21h; 输出 please input hexadecimal number:mov ah,01h int 21h; 接受输入字符cmp al,46h ja done; 如果字符比 F 大则转到 donecmp al,41h jb next1; 如果字符比 A 小则转到 next1sub al,07h; 如果字符在 A 和 F 间,则减七; 提示:数字 1-9 为 0x31-0x39,字符 A-F 处理后为 0x3A-0x3F,正好接在 数字后jmp
10、 tt next1: cmp al,39h ja done; 如果字符比 9 大则转到 donett: cmp al,30h jb done; 如果字符比 0 小则转到 donesub al,30h0x0-0xF; 减 0x30,于是原字符 0-9 A-F 变成相应的十六进制数mov ah,00h add bx,ax; 把 0x0-0xF 存到 bx 的低四位pop cx inc cx cmp cx,04h; 是否循环了四次je tt2; 是的话就跳到 tt2 结束 jmp again; 否则跳到 again 再来一次done: call newline lea dx,errr mov ah,
11、09h int 21h; 如果输入的字符不符合要求,输出错误提示 jmp again1; 转到 again1 再次接受输入tt2: ret; 子过程 getnum 结束getnum endp; 功能:输出回车换行符,即转到新行 newline proc near; 子过程 newline 开始 mov dl,0ah; 设输出字符为 0x0A,即换行符 mov ah,02h int 21hmov dl,0dh; 设输出字符为 0x0D,即回车符 mov ah,02h int 21hret; 子过程 newline 结束newline endp; 代码区定义结束 code ends; 指定执行起点
12、end start将键盘输入的小写字母转换成大写字母DATAS SEGMENTMESSAGE DB Welcome to the system!,13,10,13,10DB The function of the program is changing small letters to capital letters.,13,10DB If you enter capital letters or numbers there will be no changes.,13,10,13,10DB Please enter a string.,13,10,$CR DB 13,10,$ ;回车换行ST
13、RING DB 100DB 0DB 80 DUP(0) 定; 义缓冲区AGAIN DB Do you want to try again(Y or N),13,10,$ERROR DB ERROR!,13,10,Please enter the right commomds.,13,10,$错 ; 误提示DATAS ENDSSTACKS SEGMENTDB 200 DUP()STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:HEAD:MOV AX,DATASMOV DS,AXLEA DX,MESSAG输E 出; 提示
14、语MOV AH,09HINT 21HLEA DX,STRINGMOV AH,0AHINT 21H ;把字符串输入到 BUF 区LEA DX,CRMOV AH,09HINT 21H ;以上为回车换行LEA SI,STRING+把2 ;字符串首地址存入 BXMOV CL,STRING+1把 ;字符个数存 CXMOV CH,0NEXT1:MOV DL,SICMP DL,aJB NEXT2CMP DL,zJA NEXT2 ;ASCII码小于 a 和大于 z 的跳过,其余的减 32 SUB DL,20H ;大小写字母的 ASCII码差 32NEXT2:MOV AH,02HINT 21HINC SI ;B
15、X 自加,判断下一个字符DEC CX ;CX自减,最终将是 0 JNE NEXT1 ;CX非零时,跳回 NEXT1 MOV DX,OFFSET C输R 出; 回车换行MOV AH,09HINT 21HJMP EXITOVERFLOW:;错误提示LEA DX,CRMOV AH,09HINT 21HLEA DX,ERRORMOV AH,09HINT 21HEXIT:LEA DX,CRMOV AH,09HINT 21HLEA DX,AGAIN 提; 示是否再试一次MOV AH,09HINT 21HMOV AH,01H INT 21H PUSH AX LEA DX,CRMOV AH,09H INT 2
16、1H POP AX CMP AL,Y JZ HEAD CMP AL,y JZ HEAD CMP AL,N JZ OVER CMP AL,n JZ OVER JMP OVERFLOWOVER:MOV AH,4CHINT 21HCODES ENDSEND START5. 课程设计实验运行结果从键盘输入数据并显示图 5-1实验运行结果将键盘输入的小写字母转换成大写字母图 5-2 实验运行结果6. 课程设计实验心得通过这次课程设计,使我认识到自己理论知识掌握不够,对于许多指令和 一些基本的编程方法都掌握不清晰。为了顺利完成课程设计,我重新拿起课本, 用心阅读,问题才一一解决。由此看来,知识只有在实践中
17、才能真正掌握。难怪 人们说汇编语言编程必须在使用中慢慢理解。本学期做了许多微机原理的实验,开始以为这次课程设计会像前几次实验 简单。直到要编写程序实现的时候,才发现自己对汇编程序的了解确实还不够, 尤其是编程方面的能力有待提高。 在不断地再次学习和理解过程中, 我慢慢掌握 了更多汇编语言的应用知识,最终写出了大小写字母转换的程序。把编写好的程序输入软件时候,也出现了许多小问题,比如没有定义变量 等等。归纳起来都是因为编程掌握不牢固, 写程序没有条理, 加上自己粗心大意 的恶习依旧没改正造成的,以后需要努力改正。总的来说,这次课程设计,自己受益匪浅。不但加固了微机原理知识的理 解,而且加强了对汇
18、编语言的应用能力。 同时,非常感谢指导老师与同学给予我 在编程方面的帮助,让我能够完成这次设计。参考文献1 姚燕南,薛钧义主编 .微型计算机原理 (第四版),西安:西安电子科技大学 出版社 ,20032 潘峰主编 .微型计算机原理与汇编语言 (第三版 ) , 西安电子工业出版 社,20033 雏逢兴编著 .计算机硬件技术基础 ,北京:高等教育出版社 ,19984 王永山等编著 .微型计算机原理与应用 ,西安:电子科技大学出版社, 19995 舒贞权等编著 .Intel 8086/8088 系列微型计算机原理 .西安:西安交通大学 出版社, 19936 Hwang S, Choi S. Ironbird Gro
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 劳斯莱斯魅影购车合同范本
- 为要使用合同范本
- pvc销售合同范本
- 代办旅游合同范本
- 兼职司机 合同范本
- 养生店合同范本
- 分期车辆协议合同范本
- 2024年上海健康医学院招聘考试真题
- 北京一对一合伙合同范本
- 下铺门店转让合同范本
- 2024年泰州职业技术学院高职单招数学历年参考题库含答案解析
- 劳动法培训课件
- 2024-2025学年成都市成华区七年级上英语期末考试题(含答案)
- 2024年05月青海青海省农商银行(农信社)系统招考专业人才笔试历年参考题库附带答案详解
- 2025年山西杏花村汾酒集团限责任公司人才招聘71名高频重点提升(共500题)附带答案详解
- 贵州黔源电力股份有限公司招聘笔试冲刺题2025
- 2025年江苏省环保集团招聘笔试参考题库含答案解析
- 新修订中华人民共和国畜牧法全文解读学习
- 统编版语文五年级下册第二单元习作:写读后感课件
- 学校提高《规范书写水平、传承汉字文化》活动方案3篇
- 幕墙施工现场安全检查方案
评论
0/150
提交评论