Advertisement
NB52053

nadui

Jul 21st, 2018
424
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. org 100h
  2. .stack 100h
  3. .data
  4.  
  5.  ;count db 0
  6. nl db 0dh, 0ah,'$'
  7.  
  8.    
  9. .code
  10.  
  11. onem macro x
  12.     push ax      ; cz AX mirjafor! value chng kore dey -_-
  13.    
  14.     mov dx,x     ;dl dile 8 bit er sthe 16 bit korte jabe! SO ERROR , tai amra eikhne DL na diye DX disi
  15.     mov ah,2
  16.     add dl,'0'
  17.     int 21h
  18.    
  19.     pop ax
  20.    
  21. endm onem
  22.  
  23.  
  24.  
  25. nl macro
  26.    
  27.    
  28.         mov ah, 9
  29.         lea dx, nl
  30.         int 21h
  31.    
  32.    
  33.     endm nl
  34.  
  35.  
  36.  
  37.  
  38.  
  39. main proc
  40. mov dx, @data
  41. mov ds, dx
  42.  
  43.     ;mov ax, 12345
  44.  
  45.     call inputAX
  46.     nl
  47.     mov ah,0
  48.     mov al,res
  49.     call printAX
  50.  
  51.      
  52. mov ah,4ch
  53. int 21h
  54. endp main
  55.  
  56.  
  57.  
  58.  
  59. inputAX proc
  60.     mov AX,0
  61.     mov bl, 10
  62.     mov res,0
  63.    
  64.     inputloop:
  65.     mov ah,1
  66.     int 21h
  67.    
  68.    
  69.     sub al, '0'  ; aschii --> value
  70.     mov dl, al   ; new input
  71.    
  72.     cmp al,0dh
  73.     je doneinput
  74.    
  75.    
  76.     mov al, res  ; a; = res
  77.     mul bl       ; al = res * 10
  78.     mov res,al
  79.     add res,dl   ; al = res + new digit
  80.              
  81.    
  82.     jmp inputloop
  83.    
  84.              
  85.     doneinput:
  86.     mov al, res
  87.     ret  
  88.    
  89.    
  90.    
  91. endp inputAX
  92.  
  93.    
  94.    
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101. printAX proc
  102.    
  103.     mov bx,10
  104.     count db 0
  105.    
  106.    
  107.     L1:
  108.     mov bx,10
  109.    
  110.     xor dx, dx
  111.     div bx ; DX = AX % 10, AX = AX/10
  112.     push dx
  113.     inc count
  114.     cmp ax,0
  115.    
  116.     je L2
  117.     jmp L1
  118.    
  119.     L2:
  120.    
  121.       dec count
  122.       pop dx
  123.       onem dx
  124.       cmp count,0
  125.       je done
  126.       jmp L2
  127.      
  128.      done:
  129.      
  130.      
  131.      
  132.      ret
  133.  
  134.  
  135.  
  136.  
  137.  
  138.    endm printAX
  139.  
  140. end main
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement