Subversion Repositories pentevo

Rev

Blame | Last modification | View Log | Download | RSS feed | ?url?

  1.                 cpu             mcf5307         ; MAC but no EMAC
  2.  
  3.                 page            0
  4.  
  5. proc            macro           name
  6.                 section         name
  7.                 public          name
  8. name            equ             *
  9.                 endm
  10.  
  11. endp            macro
  12.                 rts
  13.                 endsection
  14.                 endm
  15.  
  16.                 proc            fft16
  17.                 and.l           #$ffff0000,d2
  18.                 move.l          d2,ACC
  19.                 msacl.w         d0.u,d4.u,<<,(a3),d5
  20.                 msacl.w         d0.l,d5.u,<<,(a1),d7
  21.                 move.l          ACC,d3
  22.                 asr.l           d1,d3
  23.                 move.w          d3,(a0)+
  24.                 add.l           d2,d2
  25.                 asr.l           d1,d2
  26.                 sub.l           d3,d2
  27.                 move.w          d2,(a2)+
  28.                 and.l           #$ffff0000,d7
  29.                 move.l          d7,ACC
  30.                 macl.w          d0.l,d4.u,<<,(a0),d2
  31.                 msacl.w         d0.u,d5.u,<<,(a2),d4
  32.                 move.l          ACC,d3
  33.                 asr.l           d1,d3
  34.                 move.w          d3,(a1)+
  35.                 add.l           d7,d7
  36.                 asr.l           d1,d7
  37.                 sub.l           d3,d7
  38.                 move.w          d7,(a3)+
  39.                 endp
  40.  
  41.                 proc            fft32
  42.                 movem.l         (a4),d0-d1
  43. next_bf:        move.l          d2,ACC
  44.                 msacl.l         d0,d4,(a3),d5
  45.                 msacl.l         d1,d5,(a1),a6
  46.                 move.l          ACC,d3
  47.                 move.l          d3,(a0)+
  48.                 add.l           d2,d2
  49.                 sub.l           d3,d2
  50.                 move.l          d2,(a2)+
  51.                 move.l          a6,ACC
  52.                 macl.l          d1,d4,(a0),d2
  53.                 msacl.l         d0,d5,(a2),d4
  54.                 move.l          ACC,d3
  55.                 move.l          d3,(a1)+
  56.                 adda.l          a6,a6
  57.                 suba.l          d3,a6
  58.                 move.l          a6,(a3)+
  59.                 adda.l          d6,a4
  60.                 addq.l          #4,d7
  61.                 cmp.l           a5,d7
  62.                 bcs.b           next_bf
  63.                 endp
  64.  
  65.                 proc            fir16
  66. .FORk3:         cmp.l           d0,d2
  67.                 bcc             .ENDFORk3
  68.                 move.l          -(a1),d3
  69.                 mac.w           d3.u,d4.l,<<
  70.                 mac.w           d3.l,d4.u,<<,(a3)+,d4
  71.                 addq.l          #2,d2
  72.                 bra             .FORk3
  73. .ENDFORk3:
  74.                 endp
  75.  
  76.                 proc            fir32
  77. .FORk3:         move.l          -(a1),d3
  78.                 mac.w           d3.u,d4.u,<<,(a3)+,d4,ACC0
  79.                 addq.l          #1,d2
  80.                 cmp.l           d0, d2
  81.                 bcs             .FORk3
  82.                 endp
  83.  
  84.                 proc            iir16
  85. .FORk3:         cmp.l           d0,d2
  86.                 bcc             .ENDFORk3
  87.                 move.l          -(a1),d3
  88.                 mac.w           d3.l,d4.u,<<
  89.                 move.l          -(a5),d3                ; was mac.w in original?
  90.                 mac.w           d3.l,d4.l,<<,(a3)+,d4
  91.                 addq.l          #1,d2
  92.                 bra             .FORk3
  93. .ENDFORk3:
  94.                 endp
  95.  
  96.                 proc            iir32
  97. .FORk1:         cmp.l           d1,d2
  98.                 bcc             .ENDFORk1
  99.                 move.l          -(a1),d3
  100.                 mac.w           d3.u,d4.u,<<,(a3)+,d4,ACC0
  101.                 move.l          -(a5),d3                ; was mac.w in original?
  102.                 mac.w           d3.u,d4.u,<<,(a3)+,d4,ACC0
  103.                 addq.l          #1,d2
  104.                 bra             .FORk1
  105. .ENDFORk1:
  106.                 endp
  107.