2024年5月30日发(作者:)

实验一 字母大小写转换实验

一、实验目的:

了解各种字符尤其是小写字母和大写字母在计算机内的表示方式,并学习如何进

行大小写字母的转换。同时通过该实验熟悉汇编语言程序调试的过程和基本方

法。

二、实验内容

已知程序功能如下:

接收键盘输入按键,并将按键对应的ASCII码放入AL中,若按下Enter(回车)

键则结束输入,显示转换结果,并返回继续等待键盘输入,若按下“CTRL+C”,

则程序结束。

要求:为程序填空,实现将输入的小写字母转换为大写字母,除小写字母外的其

他字符保持不变的功能。

提示:对AL中的ASCII码进行判断,是回车键则结束输入,否则继续判断是否

小写字母,如果是小写字母则转换为大写字母,否则保持不变。

三、实验步骤:

1、画出程序流程图

2、列出程序清单,并进行注释

3、对程序进行上机调试,观察实验结果

四、思考

如何修改程序,使键盘接收到Enter(回车)键后只显示转换的大写字母,其他

的非字母字符不显示,然后返回继续等待键盘输入。

附录:

程序

DATA SEGMENT

BUF DB 100 DUP(?) ;BUF缓冲区用来保存转换成功的大写字母的

ASCII码

MESS DB 'please enter your word:',0AH,0DH,'$'

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV BX,OFFSET BUF

KKK: MOV SI,0000H

LEA DX,MESS ;显示‘PLEASE ENTER YOUR WORD:'提示字

MOV AH,9 ;显示‘PLEASE ENTER YOUR WORD:'提示字

INT 21H ;显示‘PLEASE ENTER YOUR WORD:'提示字符

GGG: MOV AH,01H ;从键盘接收一个键的输入,并把得到按键对应

字符的ASCII码存入AL

INT 21H ;从键盘接收一个键的输入,并把得到按键对应字

符的ASCII码存入AL

CMP AL,0DH

JZ BBB

CMP AL,61H

JB GGG

CMP AL,7AH

JA GGG

SUB AL, 20H

TTT: MOV [BX+SI],AL

INC SI

JMP GGG

BBB: MOV [BX+SI],AL ;BBB程序段负责处理回车键按下的事件

MOV AL,0AH ;把转换成功的大写字母显示出来并继续等待

下一次输入

MOV [BX+SI+1],AL

MOV AL,'$'

MOV [BX+SI+2],AL

MOV AH,02H

MOV DL,0DH

INT 21H

MOV AH,02H

MOV DL,0AH

INT 21H

MOV AH,09H

MOV DX,BX

INT 21H

JMP KKK

PPP: MOV AX,4C00H

INT 21H

CODE ENDS

END START

思考题程序

把GGG内的“JA GGG和JB GGG”改为“JA TTT和JB TTT”