home *** CD-ROM | disk | FTP | other *** search
/ Vectronix 2 / VECTRONIX2.iso / FILES_10 / DEVPAC56.ZIP / MATMULT3.S56 < prev    next >
Text File  |  1993-12-20  |  1KB  |  69 lines

  1.  
  2. ;    MATMULT3.S56 Matrix multiplication for the Atari Falcon
  3. ;    part of the HiSoft DevpacDSP tutorial.
  4. ;    (c) Copyright HiSoft 1993
  5. ;      All rights reserved.
  6. ;
  7. HSR    equ    $ffe9
  8. HTX    equ    $ffeb
  9.  
  10. N    equ     4
  11.  
  12.     org    P:$40
  13. start
  14.  
  15. ; first set the modulo registers corresponding to all the
  16. ; R registers we are going to use to disable modulo addresssing
  17.     move    #-1,M0
  18.     move    #-1,M1
  19.     move    M0,M4
  20.     move    M0,M5
  21.     move    M0,M6
  22.     move    #bbuffer,R5
  23.     move    #cbuffer,R6
  24.     move    #N,N0    
  25.     move    #N,N5
  26.     do    #N,iloop
  27.     move    #abuffer,R1    
  28.     do    #N,jloop
  29.     move    R5,R4        
  30.     clr    a        R1,R0
  31.     do    #N,kloop
  32.     move    X:(R0)+N0,X0    Y:(R4)+,Y0
  33.     mac    x0,y0,A
  34. kloop
  35.     move    (R1)+
  36. ; Now store A in two DSP words
  37.     move    A2,Y:(R6)+        
  38.     move    A1,Y:(R6)+
  39. jloop
  40.     lua    (R5)+N5,R5
  41. iloop
  42.  
  43.     move    #cbuffer,R6
  44.     DO    #N*N*2,sendloop
  45.     move    Y:(R6)+,Y0
  46. pxmit    jclr    #1,X:HSR,pxmit
  47.     movep    Y0,X:HTX
  48. sendloop    
  49.  
  50. forever    jmp    forever    ;        just hang
  51.  
  52.     org     X:$40
  53. abuffer    dc     .07483626,.184443,.7055502,.1768224 
  54.     dc     .5215743,.6521941,.4704354,.455802 
  55.     dc     .8373808,.519858,.09587825,.379077 
  56.     dc     .371908,.3766014,.202421,.8229417 
  57.  
  58.  
  59.     org    Y:$1000
  60. bbuffer
  61.     dc     .1410046,.1712484,.3422694,.3676988 
  62.     dc     .807768,.6713575,.7668441,.2701154 
  63.     dc     .7455041,.7600289,.6523577,.9965845 
  64.     dc     .9586045,.6935848,.911911,.528457 
  65.  
  66. ; the results
  67. cbuffer    ds    N*N*2
  68.     end
  69.