为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

代码转换(大小写字母转换)

2018-01-18 9页 doc 28KB 141阅读

用户头像

is_212655

暂无简介

举报
代码转换(大小写字母转换)代码转换(大小写字母转换) 北 华 航 天 工 业 学 院 课程设计报告(论文) 设计课题: 代码转换 大小写字母转换 专业班级: 电子信息工程 学生姓名: 指导教师: 设计时间: 2010-12-16 1 北华航天工业学院电子工程系 微机原理 课程设计任务书 姓 名: 专 业: 电子信息工程 班 级: 指导教师: 职 称: 课程设计题目: 代码转换(大小写字母转换) 已知技术参数和设计要求: 按屏幕提示要求输入,从屏幕上获得正确结果。 所需仪器设备: 计算机、 masm for windows...
代码转换(大小写字母转换)
代码转换(大小写字母转换) 北 华 航 天 工 业 学 院 课程(论文) 设计课题: 代码转换 大小写字母转换 专业班级: 电子信息工程 学生姓名: 指导教师: 设计时间: 2010-12-16 1 北华航天工业学院电子工程系 微机原理 课程设计任务书 姓 名: 专 业: 电子信息工程 班 级: 指导教师: 职 称: 课程设计题目: 代码转换(大小写字母转换) 已知技术参数和设计要求: 按屏幕提示要求输入,从屏幕上获得正确结果。 所需仪器设备: 计算机、 masm for windows 软件 成果验收形式: 实现大小写字母、设计报告 参考文献: 微机原理与接口技术 8086实验指导书 时间 安排 指导教师: 教研室主任: 月 日 年 2 内 容 摘 要 在课程设计之前,具备微机原理的理论知识和实践能力;熟悉汇编语言编程技术;熟悉80X86的CPU结构和指令系统;熟悉相关常用接口电路的设计使用方法是必不可少的。因此原理部分重新温习并整理了相关知识。 课程设计要求进行大小写字母的转换。其实字母大小写的区别在于他们的,,,,,码范围,它们之间的转换其实就是加减相应的,,,,,码值。在判断输入的字母是大写的还是小写的(即判断输入符号,,,,,码在41H~5AH还是在61H~7AH内)之后,决定判断是加上还是减去,,,,,码值。 关键词: 汇编 代码转换 大小写 3 目 录 一、概 述 „„„„„„„„„„„„„„„„„„„„„„„„„ 1 二、设计与论证 „„„„„„„„„„„„„„„„„„„„„ 1 1. 汇编语言基础 „„„„„„„„„„„„„„„„„„„„„ 1 2. 方案设计 „„„„„„„„„„„„„„„„„„„„„„„ 2 三、程序设计 „„„„„„„„„„„„„„„„„„„„„„„„„ 3 1. 程序设计流程图 „„„„„„„„„„„„„„„„„„„„ 3 2. 程序代码 „„„„„„„„„„„„„„„„„„„„„„„ 4 四、运行结果 „„„„„„„„„„„„„„„„„„„„„„„„„ 5 五、心得体会 „„„„„„„„„„„„„„„„„„„„„„„„„ 6 六、参考文献 „„„„„„„„„„„„„„„„„„„„„„„„„ 6 4 一、概述: 在计算机系统中有多种数制和编码,常用的数制有二进制、八进制以及十六进制,常用的代码有BCD码、ASCll码和七段显示码等。这些数制和编码根据其作用的不同,在存储形式上也有差异。在实际应用中,它们也因使用的要求不同而有所差异。在配备操作系统管理程序的计算机中,有些代码转换程序已在系统管理软件中编好。还有些代码转换需要根据使用要求通过编程完成。因此,代码转换是非数据处理中最常见的情况。 二、方案设计: 1、汇编语言基础 汇编:计算机不能直接识别和执行汇编语言程序,而要通过“翻译”把源程序译成机器语言程序(目标程序)才能执行,这一“翻译”工作称为汇编。汇编有人工汇编和计算机汇编两种方法。 汇编语言是面向机器的,每一类计算机分别有自己的汇编语言。汇编语言占用的内存单元少,执行效率高,广泛应用于工业过程控制与检测等场合。 汇编语言语句格式 标号: 操作符 操作数 ;注释 START: MOV A, 30H ;A?(30H) 标号用来标明语句地址,它代表该语句指令机器码的第一个字节的存储单元地址。 标号一般规定由1,8个英文字母或数字组成,但第一个符号必须是英文字母。 注释只是对语句或程序段的含义进行解释,以方便程序的编写、阅读和交流,简化软件的维护,一般只在关键处加注释。 伪指令:伪指令只用于汇编语言源程序中,对汇编过程起控制和指导的作用,不生成机器码。汇编结束,自动消失。 汇编语言程序设计步骤 5 (1)问题。 (2)确定算法。 (3)设计程序流程。 (4)分配内存单元:分配内存工作单元,确定程序和数据区的起始地址。 (5)编写汇编语言程序。 (6)调试程序。 2、方案设计 模块1、实现小写字母向大写字母的转换,主要利用小写字母比大写字母大20H的关系。 模块2、实现大写字母向小写字母的转换,与模块2类似,将大写字母的ASCll值加上20H就可以转换成小写字母。 模块3、键盘输入,显示输出。 6 三、程序设计 1、程序设计流程图 开始 键盘输入字符 逐个判断输入的 字符 Y 输入字符是否在41H~5AH之间, N Y 输入字符是否在61H~7AH之间, N N 输入字符是否是$? Y 回车换行输出 显示结果 结束 7 2、程序代码 从键盘输入一串字符,若是小写字符则转换成大写字符在下一行输出,若是大写字符则转换成小写字符在下一行输出,若都不是则原样在下行输出。 data segment p1 db 100 p2 db 0 array db 100h dup(?) ;置100个字节的缓冲区存放数据 data ends code segment ;代码段 assume cs:code,ds:data begin: lea bx,array ;将array的首地址给bx mov ax,cs ;置cs-->ds mov ds,ax mov dx,offset p1 ;将p1的偏移量给dx mov ah,0ah ;调用中断21的0a号功能从键盘接收字符 int 21h mov bx,0 mov bl,p2 mov array[bx],'$' ;送'$'至字符串尾 mov di,0ffffh ;-1-->di next: inc di ;di自加 cmp array[di],'$' ;比较 je exit ;相等,则跳到exit执行 cmp array[di],41h ;arrary[di]中的字符与A比较 jl next ;小于,则跳 cmp array[di],5ah ;与Z比较 jg next1 ;大于,则跳 add array[di],20h ;加20h,大写转小写 jmp next next1: cmp array[di],'$' ;比较 je exit ;相等,则跳到exit执行 8 cmp array[di],61h ; arrary[di]中的字符与a比较 jl next ;小于,则跳 cmp array[di],7ah ;与z比较 jg next ;大于,则跳 sub array[di],20h ;减20h,小写转大写 jmp next exit: mov p1,0dh ;回车换行 mov p2,0ah mov ah,09h int 21h mov ah,4ch ;程序结束 int 21h code ends end begin 四、运行结果: 当输入字母串abcdef67ABCDE后,按回车键转换为ABCDE67abcdef,结果如下图所示 9 五、心得体会: 一直以为自己微机原理的水平不错了,直到着手做课程设计才不得不承认,自己的理论知识并不扎实,对于许多指令和一些基本的编程方法都掌握不清晰。于是,为了顺利完成课程设计,我又拿起课本,用心的阅读,重新掌握了相关的知识。由此看来,知识只有在实践中才能真正掌握。难怪人们说汇编语言编程必须在使用中慢慢理解。 因为本学期做了许多微机原理的实验,这次要用汇编语言来实现大小写字母的转换,所以自己一开始感觉这会非常的简单。直到真正的理解相关原理,要编写程序实现的时候,才发现自己对汇编程序的了解确实还不够,尤其是编程方面的能力有待提高。在不断地再次学习和理解过程中,我慢慢掌握了更多汇编语言的应用知识,最终在参考程序的辅助下顺利编写出了大小写字母转换的程序。总结起来,自己发现,编程必须在应用过程中才会更加牢固。想想自己大三上学期做过的上机实验也不少,个把月不用,就一下子生疏了,因此我感觉对于重要的知识,偶尔复习下还是很有必要的,正所谓温故而知新。 把编写好的程序输入软件时候,出现了许多小问题,比如句子没有加逗号,没有定义变量等等。归纳起来都是因为编程掌握不牢固,写程序没有条理,加上自己粗心大意的恶习依旧没改正造成的,以后需要努力改正。 总的来说,这次课程设计,自己受益匪浅。不但加固了微机原理部分知识的理解,而且加强了对汇编语言的应用能力。 六、参考文献: [1] 微型计算机原理与接口技术 张荣标编著 机械工业出版社 10 电子工程系 微机原理与接口技术 课程设计成绩评定表 专业:电子信息工程 班级: 学号: 姓名: 课题名称 代码转换(大小写字母之间转换) 已知技术参数和设计要求: 1( 编程实现大小写字母的转换 设2( 按屏幕提示要求输入,从屏幕上获得正确的结果 计3( 输入英文字母串,在回车后实现大小写转换 任4( 输入非英文字母,原文输出 务5( 程序采用汇编语言在计算机上完成 与 要 求 指导 教师 评语 建议成绩: 指导教师: 课程 小组 评定 评定成绩: 课程负责人: 年 月 日 11
/
本文档为【代码转换(大小写字母转换)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索