DMG

Tri kolone: broj, korijen, kvadrat

DMG
May 28th, 2012
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ; Napisati program koji prikazuje tabelu sa tri kolone. U prvoj koloni su prirodni brojevi od N1 do N2. U drugoj koloni su cjelobrojne vrijednosti kvadratnog korijena, a u trecoj vrijednosti kvadrata.
  2. ; Napomena*: program radi za jednocifrene brojeve!
  3. data segment
  4.     n1 db ?
  5.     n2 db ?
  6.     korijen db ?
  7.     razmak db "  ", "$"
  8.     n db ?
  9.     prvcif db ?
  10.     drucif db ?
  11.     nr db 10, 13, "$"
  12.     pkey db "press any key...$"
  13. ends
  14.  
  15. stack segment
  16.     dw   128  dup(0)
  17. ends
  18.  
  19. code segment
  20. start:
  21. ; set segment registers:
  22.     mov ax, data
  23.     mov ds, ax
  24.     mov es, ax
  25.  
  26.     ; add your code here
  27.  
  28.    
  29.     mov ah, 1
  30.     int 21h
  31.     sub al, 48
  32.     mov n1, al ; unos prvog broja
  33.    
  34.     int 21h
  35.     sub al, 48
  36.     mov n2, al ; unos drugog broja      
  37.    
  38.     mov ah, 9
  39.     lea dx, nr
  40.     int 21h
  41.    
  42.     mov cl, n1
  43.    
  44.     for2:
  45.        
  46.         cmp cl, n2
  47.         jle radi
  48.         jmp kraj
  49.        
  50.     radi:
  51.         mov ah, 2
  52.         mov dl, cl
  53.         add dl, 48
  54.         int 21h
  55.        
  56.         mov ah, 9
  57.         lea dx, razmak
  58.         int 21h
  59.        
  60.         mov n, cl
  61.         call proc_kor  
  62.         mov ah, 2
  63.         mov dl, korijen
  64.         add dl, 48
  65.         int 21h
  66.        
  67.         mov ah, 9
  68.         lea dx, razmak
  69.         int 21h
  70.        
  71.         mov al, cl
  72.         mul cl
  73.         mov bh, 10
  74.         div bh
  75.        
  76.         mov prvcif, al
  77.         mov drucif, ah
  78.        
  79.         mov ah, 2
  80.         mov dl, prvcif
  81.         add dl, 48
  82.         int 21h
  83.        
  84.         mov ah, 2
  85.         mov dl, drucif
  86.         add dl, 48
  87.         int 21h
  88.                
  89.         mov ah, 9
  90.         lea dx, nr
  91.         int 21h
  92.        
  93.         add cl, 1
  94.         jmp for2
  95.        
  96.     kraj:
  97.         nop        
  98.        
  99.  
  100.  
  101.    proc_kor PROC
  102.        
  103.         mov bh, 1
  104.         for1:
  105.         cmp bh, 9
  106.         jle racunajkor
  107.         jmp krajfor1
  108.        
  109.     racunajkor:
  110.        
  111.         mov al, bh
  112.         mul bh
  113.         mov bl, 1
  114.         div bl
  115.        
  116.         cmp al, n
  117.         jge korijenje
  118.         jmp uvecaj
  119.        
  120.     korijenje:
  121.         mov korijen, bh
  122.         jmp krajfor1
  123.        
  124.     uvecaj:
  125.         add bh, 1
  126.         jmp for1
  127.        
  128.     krajfor1:
  129.    
  130.     RET
  131.     proc_kor ENDP  
  132.    
  133.        
  134.            
  135.     lea dx, pkey
  136.     mov ah, 9
  137.     int 21h        ; output string at ds:dx
  138.    
  139.     ; wait for any key....    
  140.     mov ah, 1
  141.     int 21h
  142.    
  143.     mov ax, 4c00h ; exit to operating system.
  144.     int 21h    
  145. ends
  146.  
  147. end start ; set entry point and stop the assembler.
Advertisement
Add Comment
Please, Sign In to add comment