输入字母并以汇编语言

时间:2017-02-16 09:49:32

标签: assembly x86-16 tasm

您好我正在创建接受单个字符并显示字母表的汇编程序。要求是(1)应显示输入字符(2)单个大写字母的输入应显示为小写字母。 (3)字母应显示水平位置,(3)只接受字母'X'作为输入。

我输入一个大写字符时设法让程序以小写字母显示字母,但它显示垂直位置和显示的大写字母。我不知道怎么弄清楚,有人可以帮我谈谈这个话题......谢谢

.model small
.stack
.data
    input db "Input a Uppercase Character -> $"
.code
org 100h
start:
    main proc
        mov ax,03
        int 10h
        mov ax,@data
        mov ds,ax
        mov ah,9     
        lea dx, input
        int 21h
        mov ah,01
        int 21h
        mov dh,al
                mov ah,02
                mov dl,13
                int 21h
                mov dl,10
                int 21h
        mov al,dh
        mov bl,al
        cmp bl, 'a'
        jb main
        cmp bl, 'z'
        ja main
        mov dl,al
        sub dl,20h
        mov ah,02
        int 21h
        mov cx,26
        mov dh,dl
            letters:
                 mov bx,cx
                 call down
                 mov dl,dh
                 cmp dl,'Z'
                 je exit
                 inc dl
                 int 21h
                 mov dh,dl
                 mov cx,bx
            loop letters
        mov ah,4ch
        int 21h
    main endp
            down proc
                mov dl,13
                int 21h
                mov dl,10
                int 21h
                ret
            down endp
            exit proc
                mov ah,4ch
                int 21h
            exit endp
end start

输出应该是这样的: 即便

输入:X

XYZ

0 个答案:

没有答案