键盘输入的小写字母转换成大写字母

时间:2026-01-19

微型计算机原理课程设计实验报告

学院:电气信息工程学院

班级:生医0901

姓名:曹佳浩

学号:3090505024

微型计算机原理课程设计实验报告

一、实验目的

结合微型计算机原理课程的学习,进一步巩固已学的知识,同时针对微型计算机原理知识的具体应用,学会对系统中DOS和BIOS的使用。学会使用全屏幕编辑程序—PE,弄懂汇编程序的上机过程以及如何运用DEBUG软件进行汇编程序的调试。

二、实验内容

1、响铃设计

为掌握响铃的使用方法。编写程序,从键盘接收输入字符,如是数字N则响铃N次;如不是数字,则不响。

2、将键盘输入的小写字母转换成大写字母的设计

为了解小写字母和大写字母在计算机中的表示方法,并学习如何进行转换。编写程序,接收键盘字符,并将其中的小写字母转变为大写字母,然

后显示在屏幕上。

3、字符串匹配设计

为掌握提示信息的设置方法及读取键入信息的方法。编写程序实现两个字符串比较。如相同,则显示“MATCH”,否则,显示“NO MATCH”。

4、计算N!的设计

为了解高级语言中的数学函数是怎样在汇编语言一级上实现的。编写计算N!的程序。数值N由键盘输入,结果在屏幕上输出。N的范围为0~65535。即刚好能被一个16位寄存器容纳。

5、学生成绩名次表设计

为进一步熟悉排序方法。编写程序,将0~100之间的30个成绩存入首址为1000H的存储区中。1000H+i表示学号为i的学生成绩。编写程序使得在

2000H开始的区域排出名次表。2000H+i为学号为i的学生的名次。

三、将键盘输入的小写字母转换成大写字母的设计

四、流程图

-3-

入口

段寄存器和堆栈初始化

BX 指向字符行缓冲区首址

偏移指针 SI 清零

INT 21H 的 01H 号子功能接受键入字符

Y 是∧-C 键? N Y 是回车键? N N 是小写字母? Y 小写字母的 ASCII 码值转化为 大写字母的 ASCII 码值

存入字符行缓冲区[BX+SI]单元

SI 加 1 指向下一单元

显示转换后的字符行缓冲区内容

返回 DOS

五、实验参考程序

DATA SEGMENT

BUF DB 82 DUP (?)

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,ES:DATA

START: MOV AX,DATA

MOV DS,AX

MOV ES,AX ;段寄存器初始化

MOV BX,OFFSET BUF ;BX指向字符行缓冲区首址

KKK: MOV SI,00H ;指针SI清0

GGG: MOV AH,01H ;接收键入字符

INT 21H

CMP AL,03H

JZ PPP ;是CTRL-C键则转结束

CMP AL,0DH

JZ BBB ;是回车键则转BBB

CMP AL,61H

JB TTT

CMP AL,7AH

JA TTT ;不是小写字母转TTT

SUB AL,20H ;小写字母转化为大写字母

TTT: MOV [BX+SI],AL ;存入字符行缓冲区中

INC SI ;指针加1

JMP GGG

BBB: MOV [BX+SI],AL

MOV AL,0AH

MOV [BX+SI+1],AL ;加入换行符

MOV AL,'$'

MOV [BX+SI+2],AL ;再加一个'$'标志字符

MOV AH,09H

MOV DX,BX

INT 21H ;显示转换后的字符串 JMP KKK

PPP: MOV AH,4CH

INT 21H

CODE ENDS

END START

该程序段中的一些指令功能:

CMP:比较指令。将源操作数和目的操作数相减,结果不存储。影响标志位。

JZ:条件跳转指令。零标志ZF为1,则转移。

JB:条件跳转指令。低于、或不高于且不等于,则跳转。

JA:条件跳转指令。高于、或不低于且不等于,则跳转。

SUB:算术减法指令。将目的操作数减源操作数,结果送目的操作数。。 JMP:无条件转移指令。

该程序段中,SUB AL,20H,表示将输入字符的ASCII码减去20 从而实现将小写字母转换成大写。JMP KKK,无条件转移到KKK程序段,从而实现程序的循环,对输入的字符串中的下一个字符进行判断。

六、心得体会

通过这一个星期微机原理的课程设计,我对微机原理这门课程有了更进一步的了解。通过自己积极地查阅相关资料,请教老师,与同组的同学一起讨论,最终完成设计。

本学期做了许多微机原理的实验,这次要用汇编语言来实现大小写字母的转换,所以自己一开始感觉这会非常的简单。直到真正的理解相关原理,要编写程序实现的时候,才发现,自己对汇编程序的了解确实还不够,尤其是编程方面的能力有待提高。在不断地再次学习和理解过程中,我慢慢掌握了更多汇编语言的应用知识,更为值得骄傲的是,自己在参考程序的辅助下顺利编写出了大小写字母转换的程序。

把编写好的程序输入软件时候,出现了许多小问题,比如句子没有加逗号,没有定义变量等等。归纳起来都是因为编程掌握不牢固,写程序没有条理,加上自己粗心大意的恶习依旧没改正造成的,以后需要努力改正。

通过本次课程设计我学到了很多新的东西,极大地拓宽了我的知识面,锻炼了能力,综合素质也得到较大提高,我感到收获不小。但在设计中也发现了大量问题,有些在设计过程中已经解决,有些还需要在今后慢慢学习,只要学习就会有更多的问题,有更多的难 …… 此处隐藏:286字,全部文档内容请下载后查看。喜欢就下载吧 ……

键盘输入的小写字母转换成大写字母.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:4.9 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:19元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219