⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 m1.asm

📁 4.asm…… 响铃程序
💻 ASM
字号:
.model small
.stack
.data
string db 'Please input 8 binary number:',0dh,0ah,'$'
.code
.startup
	mov ah,9
	lea dx,string
	int 21h

	call decibin
	call crlf
        mov ah,2
        mov dl,'='
        int 21h
       call binihex
       call binidec
       call crlf 
.exit 0
decibin  proc near
        mov bx,0
newchar:mov ah,1
       int 21h
       sub al,30h
        jl exit
        cmp al,1
        jg exit
        cbw
        xchg ax,bx
        mov  cx,2
        mul  cx
        xchg ax,bx
        add  bx,ax
       jmp   newchar
exit:  
        ret
decibin  endp

binihex  proc near
         mov  ch,4
rotate:  mov  cl,4
         rol  bx,cl
         mov  al,bl
         and  al,0fh
         add  al,30h
         cmp  al,3ah
         jl   printit
         add  al,7h
printit: 
         
         mov  dl,al
         mov  ah,2
         int  21h
         dec  ch
         jnz  rotate
         mov  dl,'H'
         mov  ah,2
         int  21h
         mov ah,2
         mov dl,'='
         int 21h
         ret
binihex  endp
binidec  proc  near
                          ;不用将上个子程序中的ax包春在bx中。
         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
         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
    end

⌨️ 快捷键说明

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