Advertisement
Guest User

Untitled

a guest
Jun 24th, 2017
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. mov src, dst
  2.  
  3. subcc src, x, dst
  4. smul %i1, 4, %l6
  5.  
  6. ld [%i0], %l1
  7. add %l1, 1, %l1
  8. st %l1, [%i0]
  9.  
  10. be koniec
  11. bg koniec
  12. bl koniec
  13. ble koniec
  14. bne koniec
  15. ba koniec
  16.  
  17. cmp %i0, 5
  18. be koniec
  19.  
  20. nop
  21.  
  22. ---
  23.  
  24. void fun(int *tab1, int *tab2, int *tab3, int size)
  25. {
  26.     int i;
  27.     for(i=0; i<size;i++)
  28.         tab3[i] = tab1[i] + tab2[i] + i;
  29. }
  30.  
  31.  
  32. ---
  33.  
  34. .global fun
  35. .proc 4
  36.  
  37. fun:                               
  38.     save %sp, -95, %sp              !; dane wejsciowe znajduja sie w %i0, %i1, %i2, %i3
  39.     mov 0, %l3                      !; i = 0
  40.    
  41. petla:
  42.     cmp %l3, %i3
  43.     bge koniec
  44.     nop
  45.    
  46.     ld [%i0], %l0
  47.     ld [%i1], %l1
  48.    
  49.     add %l0, %l1, %l2
  50.     add %l2, %l3, %l2
  51.    
  52.     st %l2, [%i2]
  53.    
  54.     add %i0, 1, %i0
  55.     add %i1, 1, %i1
  56.     add %i2, 1, %i2
  57.     add %l3, 1, %l3
  58.    
  59.     ba petla
  60.     nop
  61.    
  62. koniec:                             !; wynik powinien znajdowac sie juz w %i0
  63.     ret
  64.     restore
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement