求答案:试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。

来源:百度知道 编辑:UC知道 时间:2024/05/28 23:07:59
这题出自清华大学出版社的汇编语言程序设计第二版第五章第一题

NAME TURN
DSEG SEGMENT
A DB 'PLEASE INPUT (a~z):','$'
B DB 0AH,0DH,'$'
DSEG ENDS
SSEG SEGMENT STACK
DB 90H DUP(?)
SSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG,SS:SSEG
START:
MOV AX,DSEG
MOV DS,AX

MOV DX,OFFSET A///提示输入
MOV AH,09H
INT 21H

MOV AH,01H
INT 21H
MOV BL,AL
SUB BL,20H///转换

MOV DX,OFFSET B
MOV AH,09H
INT 21H

MOV DL,BL
MOV AH,02
INT 21H//输出

MOV AH,4CH
INT 21H/////结束
CSEG ENDS
END START

;按回车结束程序
CODES SEGMENT
ASSUME CS:CODES
START:
a: mov ah,01h
int 21h
cmp al,0dh
jz exit
sub al,32
mov dl,al
mov ah,02
int 21h
jmp a
exit: MOV AH,4CH
INT 21H
CODES ENDS
END START

;////////////////////////////////////////////////////////////////////
;// 字 符