回 帖 发 新 帖 刷新版面

主题:[原创]帮下我看看代码有什么问题``````急急急急

data     segment
    string     db    9, ?, 9, dup('?')
data     ends
code    segment
    assume    cs:code,ds:data
main    proc    far
start:
    push    ds
    sub    ax,ax
    push    ax
    
    mov     ax,data
        mov     ds,ax

    Lea    dx,string
    mov    ah,0ah
    int    21h
    
    mov    dl,0dh
    mov    ah,2
    int    21h
    mov    dl,0ah
    mov    ah,2                    
    int    21h
    
    lea    si,string+2
    mov    cl,7
    mov    dx,0
    mov    cx,string+1
a_loop:
    mov    al,[si]
    sub    al,30h
    mov    ax,al
    sar    ax,cl
    add    bx,ax
    inc    si
    dec    cl                    
    loop    a_loop
    
rotae:
    mov    cl,4
    rol    bx,cl                    
    mov    al,bl
    add    al,0fh
    add    ax,30h
    cmp    al,3ah
    jl    printit
    add    al,7h
printit:
    mov    dl,al
    mov    ah,2
    int    21h                    
    jnz    rotae
        
    proc    near
    mov    dl,0dh
    mov    ah,2
    int    21h
    mov    dl,0ah
    mov    ah,2                    
    int    21h
    ret
main    endp
code    ends
    end    strat
在键盘输入一个8位的2进制数,把这8位2进制数转换位16进制并显示出来
这是题目
帮我改下`````````````急急急

回复列表 (共1个回复)

沙发

data     segment
    string     db    9, ?, 9  dup('?')
data     ends
code    segment
    assume    cs:code,ds:data
main    proc    far
strat:
    push    ds
    sub    ax,ax
    push    ax
    
    mov     ax,data
        mov     ds,ax

    Lea    dx,string
    mov    ah,0ah
    int    21h
    
    mov    dl,0dh
    mov    ah,2
    int    21h
    mov    dl,0ah
    mov    ah,2                    
    int    21h
    
    lea    si,string+2
    mov    dh,8
    mov    cx,7
a_loop:
    mov    al,[si]
    sub    al,30h
    sal    ax,cl
    add    bx,ax
    inc    si                    
    dec    cx
    dec    dh
    jnz    a_loop
   
    mov    ax,bx
    and    al,0F0H            ;clear the low 4 bit of al
        mov    cl,4
        shr    al,cl            ;al shift to right 4
        mov    dl,al
    
    cmp    dl,0Ah
        js     dis_num2
        add    dl,37h
        jmp    display2
dis_num2:
        add    dl,30h

display2:
        mov    ah,02
        int    21h
    
    mov    ax,bx
    and    al,0FH            ;clear the high 4 bit of ah
        mov    dl,al

        cmp    dl,0Ah
        js     dis_num1
        add    dl,37h
        jmp    display1
dis_num1:
        add    dl,30h

display1:
        mov    ah,02
       int    21h
    mov    ah,07            ;wait a input from keyboard
        int    21h
    ret
main    endp
code    ends
        end     strat
我自己写出来了````

    

    

    
    

我来回复

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