5_9.asm

来自「汇编语言课后习题答案」· 汇编 代码 · 共 78 行

ASM
78
字号
;193页第五章第9题 键盘接收4位16进制数,并以二进制的形式显示出来。

codesg  segment
main    proc   far
        assume  cs:codesg
start:
        mov  bx,0
        mov  ch,4
newchar:mov  ah,01
        int  21h

        cmp  al,30h
        jl   exit

        cmp  al,39h
        jg   next1

        sub  al,30h
        jmp  next2

next1:  cmp  al,41h
        jl   exit

        cmp  al,46h
        jg   exit

        sub  al,30h
        sub  al,07h

next2:  cbw
        mov cl,4
        shl bx,cl
        add  bx,ax

        dec ch
        jnz newchar

        mov  dl,0dh
        mov  ah,02
        int  21h

        mov  dl,0ah
        mov  ah,02
        int  21h

        mov  cx,16
loop2:  shl  bx,1
        jc   next3

        mov  dl,30h
        mov  ah,02
        int  21h

        jmp  next4

next3:  mov  dl,31h
        mov  ah,02
        int  21h

next4:  loop loop2

        mov  dl,0dh
        mov  ah,02
        int  21h

        mov  dl,0ah
        mov  ah,02
        int  21h

        jmp  start

exit:   mov  ax,4c00h
        int  21h

main    endp
codesg  ends
        end  start

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?