汇编,输入一个小写字母转成大写字母
;Ex502
dseg segment
Msg1 db 'Input a lowercase letter:$'
Msg2 db 0dh,0ah,'Uppercase letter is:'
Result db ?
db '$'
dseg ends
cseg segment
assume cs:cseg,ds:dseg
Start:
mov ax,dseg
mov ds,ax
lea dx,Msg1
mov ah,09h
int 21h
mov ah,1
int 21h
cmp al,'a'
jb Exit
cmp al,'z'
ja Exit
sub al,20h
mov Result,al
lea dx,Msg2
mov ah,9
int 21h
Exit: mov ah,4ch
int 21h
cseg ends
end Start
我遇到的问题是:编译连接成功后,生成exe文件,执行exe文件时,当程序提示输入一个字符时,只要我随便按下键盘的任一个键,程序就会自动退出,反汇编显示在,第一个in 21h后程序就跳走了,但是很诡异,不知道为什么?