当前位置: 代码迷 >> 汇编语言 >> 见见这个程序
  详细解决方案

见见这个程序

热度:1847   发布时间:2013-02-26 00:00:00.0
看看这个程序
键盘输入十进制数输出二进制 

data segment
 a dw 0
 input db 'please input the 10 number:$'
 ero db 'error!please input again!$'
 data ends
 cod segment
 assume cs:cod,ds:data
 start:mov ax,data
       mov ds,ax
       call receive
       call enter
       call disp
       mov ah,4ch
       int 21h
 receive proc
        mov bx,0
        mov dx,offset input
        mov ah,9
        int 21h
      mov bx,0
   next: mov ah,1
         int 21h
         cmp al,0dh
         jz return
         cmp al,30h
         jb err
         cmp al,3ah
         jb num
         
        jmp err
  num:   sub al,30h
         jmp save
  
        err: call enter
           mov dx,offset ero
           mov ah,9
           int 21h
           jmp next
       save:mov cl,3
            mov a,0
           mov a,bx
           shl bx,cl
           mov cl,1
           shl a ,cl

           adc bx,a
           add bx,ax
           
           
           
                     
           jmp  next
       return: ret
       receive endp
       enter proc
        mov ah,2
        mov dl,0dh
        int 21h
        mov dl,0ah
        int 21h
        ret
  相关解决方案