微机原理课程设计报告

上传人:公**** 文档编号:471337020 上传时间:2024-03-01 格式:DOC 页数:16 大小:62.50KB
返回 下载 相关 举报
微机原理课程设计报告_第1页
第1页 / 共16页
微机原理课程设计报告_第2页
第2页 / 共16页
微机原理课程设计报告_第3页
第3页 / 共16页
微机原理课程设计报告_第4页
第4页 / 共16页
微机原理课程设计报告_第5页
第5页 / 共16页
点击查看更多>>
资源描述

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

1、-课程设计说明书课程名称:微机原理课程设计 题目:数制转换实验院 系: 理学院 专业班级:应用物理13-1学 号: 2021305188 学生: 立才 指导教师: 声 2021年 6 月 17 日. z.-理工大学课程设计论文任务书 理学院 院系 信计 教研室学 号2021305188学生立才专业班级应物13-1 设计题目数制转换实验,小写转大写实验设计技术参数在masm for windows上经debug调试可运行;可满足设计要求。设计要求为掌握键盘承受数据的方法,并了解将键盘数据显示时必须转换为ASCII码的原理,编写程序,将键盘承受到的四位十六进制数据转换为等值的二进制数显示。为了解小

2、写字母和大写字母在计算机的表示方法,并学习如何进展转换,编写程序,承受键盘字符,并将其中的小写字母转变为大写字母,然后显示在屏幕上。工作量 查阅相关材料,完成设计,完成设计报告工作计划1.综合论证,确定设计方案。2.查阅资料,完成设计。3.完成设计报告。参考资料1 燕南,薛钧义主编.微型计算机原理第四版M.电子科技大学.2 峰主编.微型计算机原理与汇编语言第三版M.电子工业.3 雏逢兴编著.计算机硬件技术根底M,高等教育.指导教师签字教研室主任签字 年 月 日 . z.-理工大学课程设计论文成绩评定表学生: 立才 *: 2021305188 专业班级: 应物13-1 课程设计题目: 数制转换实

3、验 指导教师评语:成绩:指导教师: 年 月 日. z.-目 录1. 课程设计实验目的与要求11.1从键盘输入数据并显示11.2将键盘输入的小写字母转换成大写字母12.课程设计实验容12.1从键盘输入数据并显示12.2将键盘输入的小写字母转换成大写字母23.课程设计实验流程图23.1从键盘输入数据并显示23.2将键盘输入的小写字母转换成大写字母34.课程设计实验程序44.1从键盘输入数据并显示44.2将键盘输入的小写字母转换成大写字母85. 课程设计实验运行结果125.1从键盘输入数据并显示125.2将键盘输入的小写字母转换成大写字母136. 课程设计实验心得14. z.-1. 课程设计实验目的

4、与要求1.1从键盘输入数据并显示1. 掌握键盘承受数据的方法,并了解将键盘数据显示时必须转换为ASCII码的原理,编写程序,将键盘承受到的四位十六进制数据转换为等值的二进制数显示。2. 掌握子程序定义和调用的方法。3. 掌握循环移位指令的用法和无符号数比拟大小的方法。1.2将键盘输入的小写字母转换成大写字母1. 了解小写字母和大写字母在计算机的表示方法,并学习如何进展转换,编写程序,承受键盘字符,并将其中的小写字母转变为大写字母,然后显示在屏幕上。2. 熟练掌握汇编语言程序设计的方法及上机步骤3. 掌握将小写字母转换为相应的大写字母的方法4. 掌握子程序的设计方法5. 掌握DOS功能的调用方法

5、2.课程设计实验容2.1从键盘输入数据并显示 为了解小写字母和大写字母在计算机的表示方法,并学习如何进展转换,编写程序,承受键盘字符,并将其中的小写字母转变为大写字母,然后显示在屏幕上。 课程设计要求进展小写字母到大写字母的转换。其实字母大小写的区别在于他们的ASCII码围,它们之间的转换其实就是加减相应的ASCII码值。在判断输入的字母是大写的还是小写的即判断输入符号ASCII码在41H5AH还是在61H7AH之后,决定判断是加上还是减去ASCII码值2.2将键盘输入的小写字母转换成大写字母 第一步是实现小写字母向大写字母的转换,主要利用小写字母比大写字母大20H的关系。第二部要键盘输入,显

6、示输出。3.课程设计实验流程图3.1从键盘输入数据并显示图3-1 实验流程图3.2将键盘输入的小写字母转换成大写字母图3-2 实验流程图4.课程设计实验程序4.1从键盘输入数据并显示 data segment; 数据区定义开场 strr db please input he*adecimal number:$ errr db this is an error number!$; 数据区定义完毕data endsstack segment stack; 堆栈区定义开场 db 100 dup(); 堆栈区定义完毕stack endscode segment ; 代码区定义开场 assume cs:

7、code,ds:data,ss:stackstart: mov a*,data mov ds,a* mov a*,stack mov ss,a*; 设定区址 mov c*,00h *or b*,b* call getnum; 按提示输入四个字符,存入 B* 中 mov c*,10h; 用于下面的 loop ne*t 处,因为 B* 共有 16 位 call newline; 转到新行 mov dl,0ah mov ah,02h int 21h; 换行 mov dl,0dh mov ah,02h int 21h; 回车ne*t: rol b*,1; 把 B* 所存字符的二进制的最高位移到最低位

8、mov dl,bl and dl,01h; 获取最低位 add dl,30h; 将最低位转成数字,即字符 0 或 1 mov ah,02h int 21h; 即将之前 B* 的最高位输出到屏幕 loop ne*t; 循环,将 B* 的每一位都输出来 mov ah,4ch int 21h; 完成; -; 功能:承受四个字符,必须输入 0-9 A-F,否则提示错要重输; 假设先后输入 1 2 3 4,则最后 B* 为 0*1234getnum proc near; 子过程 getnum 开场again: push c* mov cl,4 shl b*,cl; 把 B* 左移四位,空出了低四位aga

9、in1: call newline; 转到新行 lea d*,strr mov ah,09h int 21h; 输出 please input he*adecimal number: mov ah,01h int 21h; 承受输入字符 cmp al,46h ja done; 如果字符比 F 大则转到 done cmp al,41h ne*t1; 如果字符比 A 小则转到 ne*t1 sub al,07h; 如果字符在 A 和 F 间,则减七; 提示:数字 1-9 为 0*31-0*39,字符 A-F 处理后为 0*3A-0*3F,正好接在数字后 jmp ttne*t1: cmp al,39h

10、 ja done; 如果字符比 9 大则转到 donett: cmp al,30h done; 如果字符比 0 小则转到 done sub al,30h; 减 0*30,于是原字符 0-9 A-F 变成相应的十六进制数 0*0-0*F mov ah,00h add b*,a*; 把 0*0-0*F 存到 b* 的低四位 pop c* inc c* cmp c*,04h; 是否循环了四次 je tt2 ; 是的话就跳到 tt2 完毕 jmp again; 否则跳到 again 再来一次done: call newline lea d*,errr mov ah,09h int 21h; 如果输入的

11、字符不符合要求,输出错误提示 jmp again1; 转到 again1 再次承受输入tt2: ret; 子过程 getnum 完毕getnum endp; -; 功能:输出回车换行符,即转到新行newline proc near; 子过程 newline 开场 mov dl,0ah; 设输出字符为 0*0A,即换行符 mov ah,02h int 21h mov dl,0dh; 设输出字符为 0*0D,即回车符 mov ah,02h int 21h ret; 子过程 newline 完毕newline endp; -; 代码区定义完毕code ends; 指定执行起点 end start4.2将键盘输入的小写字母转换成大写字母 DATAS SEGMENT MESSAGE DB Wele to the system!,13,10,13,10 DB The function of the program is changing small let

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

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