7.asm

来自「汇编语言向实现输入输出的源程序」· 汇编 代码 · 共 72 行

ASM
72
字号
decidec segment
      assume cs:decidec
main     proc  far
repeat:  call    decibin
         call    crlf
         call    binidec
         call    crlf
         jmp     repeat
main     endp


decibin  proc  near
         mov   bx,0 ;
newchar:
         mov   ah,1
         int   21h
         sub   al,30h
         jl    exit
         cmp   al,9d
         jg    exit
         cbw          ;byte in AL to word AX
         xchg  ax,bx
         mov   cx,10d
         mul   cx
         xchg    ax,bx
;Add digit in AX to nnumber in BX
         add   bx,ax
         jmp   newchar
  exit:
           ret
decibin    endp   ;end of decbin proc
binidec    proc   near
;Subbroutine to convert binary number in BX
; to decimal on console screen
         mov    cx,10000d
         call   dec_div
         mov    cx,1000d
         call   dec_div
         mov    cx,100d
         call   dec_div
         mov    cx,10d
         call   dec_div
         mov    cx,1d
         call   dec_div
         ret
;*********************************
dec_div  proc   near
         mov    ax,bx
         mov    dx,0
         div    cx
         mov    bx,dx
         mov    dl,al
;print the contents of DL on screen
         add   dl,30h
         mov   ah,2
         int   21h
         ret 
 dec_div  endp
binidec  endp
;*************************************
crlf    proc  near
        mov  dl,0dh
        mov   ah,2
        int   21h
        mov  dl,0ah
        mov  ah,2
        int  21h
        ret
crlf   endp
decidec    ends
     end    main

⌨️ 快捷键说明

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