当前位置:文档之家› 微机原理课程设计 汇编语言 ——将键盘输入的小写字母转换成大写字母的设计

微机原理课程设计 汇编语言 ——将键盘输入的小写字母转换成大写字母的设计


SEGMENT DB 20 DUP(?) DB 'please input letters, end with enter, exit with ctrl-c',0DH,0AH,'$' DB 'the inverted litter is:', 0DH, 0AH,'$' DB 0DH,0AH,'$' ENDS
L4: CODE
LEA DX,DISPP3 MOV AH,9 INT 21H JMP L4 MOV AH,4CH INT 21H ENDS END START
4. 运行结果显示:
INT 21H 的 01H 号子功能接收键入字符
Y
是 ctrl+c 键?
N Y
是回车键?
N N
是小写字母?
Y
小写字母的 ASCII 码值转化为大写字母的 ASCII 码值
存入字符缓冲区[BX+SI]单元 SI 加 1 指向下一单元
显示转换后的字符行缓冲区内容 返回 DOS
3. 程序清单: DATA DATA1 DISPP1 DISPP2 DISPP3 DATA
设计 6、将键盘输入的小写字母转换成大写字母的设计 1. 实验要求:
为了解小写字母和大写字母在计算机内的表示方法,并学习如何进行转换。编写程 序,接收键盘字符,并将其中的小写字母转变为大写字母,然后显示在屏幕上。
2. 参考流程:
入口
段寄存器和堆栈初始化
BX 指向字符行缓冲区首址
偏移指针 SI 清 0
CODE START:
L1:
L2: L3:
SEGMENT ASSUME CS:CODE,DS:DATA MOV AX,DATA MOV DS,AX MOV SI,00H MOV BX,OFFSET DATA1 LEA DX,DISPP1 MOV AH,9 INT 21H MOV AH,1 INT 21H CMP AL,03H JZ L4 CMP AL,0DH JZ L3 CMP AL,61H JZ L2 SUB AL,20H JMP L2 MOV [BX+SI],AL INC SI JMP L1 LEA DX,DISPP3 MOV AH,9 INT 21H LEA DX,DISPP2 MOV AH,9 INT 21H MOV [BX+SI],AL MOV AL,0AH MOV [BX+SI+1],AL MOV AL,'$' MOV [BX+SI+2],AL MOV DX,BX MOV AH,9 INT 21H
相关主题