回 帖 发 新 帖 刷新版面

主题:请教各位高手个问题~从键盘输入一个大写字母并换为小写的,直到输入#结束~小弟初学,求高手指点

从键盘输入一个大写字母并换为小写的,直到输入#结束







回复列表 (共5个回复)

沙发

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

板凳

这是一个小写转大写,试看看吧!也许会有帮助的。
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 楼



.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 楼

谢谢大家了。

5 楼

可采用循环结构程序设计的基数器控制法可解决:
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

我来回复

您尚未登录,请登录后再回复。点此登录或注册