注册 登录
编程论坛 汇编论坛

总是得不到结果!!大侠们帮帮忙!

kongwei254 发布于 2008-06-01 10:16, 914 次点击
该题是把输入的字符串中的大写换成小写!!
DATAS SEGMENT
string1 db 100
        db 0
        db 100 dup(0) ;此处输入数据段代码  
DATAS ENDS

STACKS SEGMENT
    ;此处输入堆栈段代码
STACKS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
    MOV AX,DATAS
    MOV DS,AX
    mov dx,seg string1
    mov ds,dx
    mov dx,offset string1
    mov ah,0ah
    int 21h     
    mov si,offset string1      ;daxie->xiaoxie
    mov si,1
    mov cx,20
    inc si
again:
    cmp [si],41h
    jb out1
    cmp [si],5ah
    ja out1
    add [si],20h
out1:
    mov ah,02h
    mov dl,[si]
    int 21h
    inc si
    loop again
    ;此处输入代码据段代码
    MOV AH,4CH
    INT 21H
CODES ENDS
    END START
1 回复
#2
zhulei19782008-06-05 18:51
程序代码:
DATAS SEGMENT
string1 db 100
        db 0
        db 100 dup(0) ;此处输入数据段代码  
DATAS ENDS

STACKS SEGMENT
    ;此处输入堆栈段代码
STACKS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
    MOV AX,DATAS
    MOV DS,AX
    mov dx,seg string1
    mov ds,dx
    mov dx,offset string1
    mov ah,0ah
    int 21h     
    mov si,offset string1      ;daxie->xiaoxie
    add si,1
    mov cl,[si]
    mov ch,0
    inc si
again:
    cmp byte ptr[si],41h
    jb out1
    cmp byte ptr[si],5ah
    ja out1
    add byte ptr[si],20h
out1:
    mov ah,02h
    mov dl,[si]
    int 21h
    inc si
    loop again
    ;此处输入代码据段代码
    MOV AH,4CH
    INT 21H
CODES ENDS
    END START
1