主题:请教各位高手个问题~从键盘输入一个大写字母并换为小写的,直到输入#结束~小弟初学,求高手指点
aaaa2423
[专家分:0] 发布于 2005-12-08 21:17:00
从键盘输入一个大写字母并换为小写的,直到输入#结束
回复列表 (共5个回复)
沙发
龙的传人 [专家分:400] 发布于 2005-12-08 22:33:00
CSEG SEGMENT
ASSUME CS:CSEG
START: MOV AH,1
INT 21H
CMP AL,23H
Je EXIT
cmp al,30h
jz start
CMP AL,7AH
JG start
CMP AL,5BH
JL XX
CMP AL,61H
JL EXIT
SUB AL,20H
XX: MOV DL,AL
MOV AH,2
INT 21H
JMP START
EXIT: MOV AH,4CH
INT 21H
CSEG ENDS
END START
板凳
djg [专家分:90] 发布于 2005-12-09 00:31:00
这是一个小写转大写,试看看吧!也许会有帮助的。
data segment
msg db 'plase enther a char;',00h,0ah,'$'
data ends
code segment
assume cs:code,ds:data
atart:mov ax,data
mov ds,ax
mov dx,offset msg
mov ax,9
int 21h
mov ah,1
int 21h
cmp al,'a'
jb exit
cmp al,'z'
ja exit
sub al,20h
mov dl,al
mov ah,2
int 21h
exit: mov ah,4ch
int 21h
code ends
end start
3 楼
erping [专家分:3660] 发布于 2005-12-09 12:39:00
.model tiny
.code
org 100H
_main:
_@1:
mov ah, 7
int 21H
cmp al, '#'
jz _exit
cmp al, 'A'
jb _show_char
cmp al, 'Z'
ja _show_char
or al, 'a' - 1
_show_char:
mov dl, al
mov ah, 2
int 21H
jmp _@1
_exit:
mov ax, 4c00H
int 21H
end _main
4 楼
aaaa2423 [专家分:0] 发布于 2005-12-10 16:58:00
谢谢大家了。
5 楼
er72681085 [专家分:0] 发布于 2005-12-10 17:20:00
可采用循环结构程序设计的基数器控制法可解决:
code segment
assume cs:code
start: mov cx,10
l: mov ah,1
int 21h
sub al,20h
mov bl,al
mov dl,bl
mov ah,2
int 21h
mov dl,0dh
mov ah,2
int 21h
mov dl,0ah
mov ah,2
int 21h
dec cx
jnz l
mov ah,4ch
int 21h
code ends
end start
我来回复