Advertisement
Guest User

martix math

a guest
Sep 19th, 2018
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ;Matrix Multiplier 3x3 by 3x3
  2. ;Written by: Marcel Verdaasdonk
  3.  
  4. ;registers used
  5. ;fp0 R0
  6. ;fp1 R1
  7. ;fp2 R2
  8. ;fp3 C0
  9. ;fp4 C1
  10. ;fp5 C2
  11. ;A0 Base Matrix 0
  12. ;A3 Index Matrix 0
  13. ;A1 Base Matrix 1
  14. ;A4 Index Matrix 1
  15. ;A2 Base Matrix Sigma
  16. ;A5 Index Matrix Sigma
  17. ;d0 loop counter
  18. ;d1 offset
  19. ;d2 outer loop counter
  20.  
  21.     fmovem.x fp5-fp0, -(a7)
  22.     movem.l a5-a3, -(a7)
  23.     movea.l a1, a4
  24.     movea.l a0, a3
  25.     movea.l a2, a5
  26.     moveq #2, d1
  27. OUT:
  28.     fmove.s (a4)+, FP3
  29.     addq.l #8, a4
  30.     moveq #2, d0
  31.     fmove.s (a4)+, fp4
  32.     addq.l #8, a4
  33.     fmove.s (a4), fp5
  34. LOOP:
  35.     fmove.s (a3)+, fp0
  36.     fsmul fp3, fp0
  37.     fmove.s (a3)+, fp1
  38.     fsmul fp4, fp1
  39.     fmove.s (a3)+, fp2
  40.     fsmul fp5, fp2
  41.     fadd.s fp0, fp1
  42.     fadd.s fp1, fp2
  43.     fmove.s fp2, (a5)+
  44.     addq.l #8, a5
  45.     dbra.s d0, LOOP
  46.     movea.l a1, a4
  47.     addq.l #4, a4
  48.     movea.l a0, a3
  49.     addq.l #4, a3
  50.     movea.l a2, a5
  51.     addq.l #4, a5
  52.     moveq #8, d1
  53.     dbra.s d1, OUT
  54.     movem.l (a7)+, a5-a3
  55.     fmovem.x (a7)+, fp5-fp0
  56.     rts
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement