Convert Hex to Binary

No comments
  1. .model small
  2. .stack 150h
  3. .data
  4. s0 db 0dh,0ah,"Input your Hex number :$"
  5. s1 db 0dh,0ah,"Convert into binary :$"
  6. s2 db 0dh,0ah,"The number of 1 bit is :$"
  7. aa db '0'
  8. .code

  9. main proc
  10.     mov ax,@data
  11.     mov ds,ax
  12.     xor bx,bx
  13.     mov cl,0
  14.    
  15.       mov ah,9
  16.     lea dx,s0
  17.     int 21h
  18.     mov ah,1
  19.     int 21h
  20.    
  21.  while:
  22.     cmp al,0dh
  23.     je endw
  24.  
  25.     cmp al,40h
  26.  
  27.     jg letter
  28.     and al,0fh  
  29.     jmp shift
  30.    
  31.  letter:
  32.     sub al,37h
  33.    
  34.  shift:
  35.     add al,37h
  36.     shl bx,cl
  37.     or bl,al
  38.    
  39.     int 21h
  40.     jmp while

  41.  endw:    
  42.     mov ah,9
  43.     lea dx,s1
  44.     int 21h
  45.    
  46.     l1:
  47.    
  48.     shl bl,1
  49.  
  50.     jnc l4
  51.         mov dl,'1'
  52.     mov ah,2
  53.     int 21h
  54.      inc aa
  55.     jmp l5
  56.    
  57.    

  58.     l4:
  59.      mov dl,'0'
  60.       mov ah,2
  61.  
  62.     int 21h
  63.     l5:
  64.     inc cl
  65.     cmp cl,8
  66.     jne l1
  67.    
  68.    
  69.     end:
  70.       mov ah,9
  71.     lea dx,s2
  72.     int 21h
  73.    
  74.     mov ah,2
  75.     mov dl,aa
  76.     int 21h                                      
  77.      main endp
  78. end main

No comments :

Post a Comment