求高手写个汇编语言程序

来源:百度知道 编辑:UC知道 时间:2024/05/13 11:18:22
从键盘输入数字键0-9,按回车键转换显示为大写字母A-J。按ESC键可结束返回DOS。

;从键盘输入数字键0-9,按回车键转换显示为大写字母A-J。
;按ESC键可结束返回DOS,未考虑不合法输入
code segment
assume cs:code,ds:code
org 100h
start:
push cs
pop ds
again:lea dx,mes
mov ah,9
int 21h
lea dx,buf
mov ah,0ah
int 21h
cld
lea si,buf
mov cl,[si+1]
xor ch,ch
mov dx,si
mov byte ptr [si],0dh
mov byte ptr [si+1],0ah
inc si
inc si
next:
mov al,[si]
add al,11h ;数字0-9转换为A-J显示
mov [si],al
inc si
loop next
mov al,'$' ;添上串结束标记
mov [si],al
mov ah,9
int 21h
mov ah,0
int 16h
cmp al,1bH; ESC
jnz again ;ESC键可结束返回DOS
mov ax,4c00h
int 21h

mes db 0dh,0ah,'Input a String...',0dh,0ah,'$'
buf db 11,0,11 dup(0)
db '$'
code ends
end start