Advertisement
Guest User

Test123

a guest
Apr 28th, 2015
197
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ; FILIPARAG © 2015
  2.  
  3. ; maximum / minimum / summation / inversion
  4.  
  5. org 100h
  6.  
  7. .data
  8.     niz dw 3, 7, 4, 5, 8, 2, 9
  9.     n dw 7
  10.     result dw ?
  11.  
  12. .code
  13.     mov ax, @data
  14.     mov ds, ax
  15.     lea si, niz
  16.     mov cx, n
  17.     bacanje:
  18.         push [si]
  19.         add si, 2
  20.     loop bacanje    
  21.     ; call max
  22.     ; call min
  23.     ; call sum
  24.     ; call inv
  25.     mov result, dx
  26.  
  27. proc max
  28.     pop bp
  29.     mov cx, n
  30.     mov dx, 0
  31.     maxskidanje:
  32.         pop ax
  33.         cmp ax, dx
  34.         jbe maxpreskoci
  35.         mov dx, ax
  36.         maxpreskoci:
  37.     loop maxskidanje
  38.     push bp
  39.     ret
  40. endp        
  41.  
  42. proc min
  43.     pop bp
  44.     mov cx, n
  45.     sub cx, 1
  46.     pop dx
  47.     minskidanje:
  48.         pop ax
  49.         cmp ax, dx
  50.         jae minpreskoci
  51.         mov dx, ax
  52.         minpreskoci:
  53.     loop minskidanje
  54.     push bp
  55.     ret
  56. endp
  57.  
  58. proc sum
  59.     pop bp
  60.     mov cx, n
  61.     mov dx, 0
  62.     sumskidanje:
  63.         pop ax
  64.         add dx, ax
  65.     loop sumskidanje
  66.     push bp
  67.     ret
  68. endp
  69.  
  70. proc inv
  71.     pop bp
  72.     mov cx, n
  73.     mov si, 0
  74.     invskidanje:
  75.         pop ax
  76.         mov [si], ax
  77.         add si, 2
  78.     loop invskidanje
  79.     mov si, 0
  80.     mov dx, [si]
  81.     push bp
  82.     ret
  83. endp
  84.  
  85. end
  86.  
  87. ; crossover
  88.  
  89. org 100h
  90.  
  91. .data                        
  92.     niz1 dw 1, 2, 3, 4, 5, 6
  93.     niz2 dw 7, 8, 9, 10, 11, 12
  94.     n dw 6
  95.    
  96. .code
  97.     mov ax, @data
  98.     mov ds, ax
  99.     lea si, niz1
  100.     mov ax, n
  101.     mov bx, 2
  102.     div bx
  103.     mov cx, ax
  104.     add si, n
  105.     sub si, 2
  106.     b1:
  107.         push [si]
  108.         sub si, 2
  109.     loop b1
  110.     lea si, niz2
  111.     mov cx, ax
  112.     mov ax, n
  113.     mov bx, 2
  114.     mul bx
  115.     add si, ax
  116.     sub si, 2
  117.     b2:
  118.         push [si]
  119.         sub si, 2
  120.     loop b2    
  121.     call crs
  122.  
  123. proc crs
  124.     pop bp
  125.     lea si, niz1
  126.     mov ax, n
  127.     mov bx, 2
  128.     div bx
  129.     mov cx, ax
  130.     s1:
  131.         pop [si]
  132.         add si, 2
  133.     loop s1
  134.     lea si, niz2
  135.     mov cx, ax
  136.     add si, n
  137.     s2:
  138.         pop [si]
  139.         add si, 2
  140.     loop s2
  141.     push bp
  142.     ret
  143. endp
  144.  
  145. end
  146.        
  147. ; inversion2
  148.  
  149. org 100h
  150.  
  151. .data                        
  152.     niz1 dw 1, 2, 3, 4, 5, 6
  153.     niz2 dw dup(6)
  154.     n dw 6
  155.    
  156. .code
  157.     mov ax, @data
  158.     mov ds, ax
  159.     lea si, niz1
  160.     mov cx, n
  161.     bacanje:
  162.         push [si]
  163.         add si, 2
  164.     loop bacanje    
  165.     call inv2
  166.  
  167. proc inv2
  168.     pop bp
  169.     lea si, niz2
  170.     mov cx, n
  171.     skidanje:
  172.         pop [si]
  173.         add si, 2
  174.     loop skidanje
  175.     push bp
  176.     ret
  177. endp
  178.  
  179. end
  180.        
  181. ; summation2
  182.  
  183. org 100h
  184.  
  185. .data
  186.     niz dw 1, 2, 3, 4, 5, 6, 7, 8, 9
  187.     n dw 9
  188.     result dw ?
  189.  
  190. .code
  191.     mov ax, @data
  192.     mov ds, ax
  193.     lea si, niz
  194.     mov ax, n
  195.     push ax
  196.     push si
  197.     call sum2
  198.     mov result, dx
  199.    
  200. proc sum2
  201.     push bp
  202.     mov bp, sp
  203.     mov si, [bp+4]
  204.     mov cx, [bp+6]
  205.     mov dx, 0
  206.     sabiranje:
  207.         add dx, [si]
  208.         add si, 2
  209.     loop sabiranje
  210.     mov sp, bp
  211.     pop bp
  212.     ret
  213. endp  
  214.  
  215. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement