Advertisement
Guest User

Untitled

a guest
May 11th, 2019
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  7      short _dlms(DATA* x, DATA* h, DATA* r, DATA* des, DATA* dbuffer, short STEP, short NH, short NX) {
  2.         _dlms:
  3. 023609:   4eed                     AADD #-19,SP
  4. 02360b:   c516                     MOV T1,*SP(#0bh)
  5. 02360d:   c414                     MOV T0,*SP(#0ah)
  6. 02360f:   eb10c5                   MOV XAR4,dbl(*SP(#08h))
  7. 023612:   eb0cb5                   MOV XAR3,dbl(*SP(#06h))
  8. 023615:   eb08a5                   MOV XAR2,dbl(*SP(#04h))
  9. 023618:   eb0495                   MOV XAR1,dbl(*SP(#02h))
  10. 02361b:   eb0085                   MOV XAR0,dbl(*SP(#00h))
  11.  9          DATA err = 0;
  12. 02361e:   e61a00                   MOV #0,*SP(#0dh)
  13. 11          for (i = 0; i < NX; i++) {
  14. 023621:   e61800                   MOV #0,*SP(#0ch)
  15. 023624:   a928                     MOV *SP(#14h),AR1
  16. 023626:   aa18                     MOV *SP(#0ch),AR2
  17. 023628:   12a890                   CMP AR2 >= AR1, TC1
  18. 02362b:   6d6400da                 BCC C$DW$L$,TC1
  19. 12              int n = i % (NH + 2); //i % (NH + 1) + 1;
  20.         C$DW$L$, C$L1:
  21. 02362f:   a916_4762                MOV *SP(#0bh),AR1 || BCLR ST1_FRCT
  22. 023633:   7b000259                 ADD #2,AR1,T1
  23. 023637:   6c024277_23a4            CALL I$$MOD || MOV AR2,T0
  24. 02363d:   c41c                     MOV T0,*SP(#0eh)
  25. 13              dbuffer[n] = x[i];
  26. 02363f:   ed10bf                   MOV dbl(*SP(#08h)),XAR3
  27. 023642:   a91c                     MOV *SP(#0eh),AR1
  28. 023644:   ed00af                   MOV dbl(*SP(#00h)),XAR2
  29. 023647:   a418                     MOV *SP(#0ch),T0
  30. 023649:   1490b0                   AADD AR1,AR3
  31. 02364c:   805d84                   MOV *AR2(T0),*AR3
  32. 16              for (j = 0; j < NH; j++) {
  33. 02364f:   e61e00                   MOV #0,*SP(#0fh)
  34. 023652:   a916                     MOV *SP(#0bh),AR1
  35. 023654:   aa1e                     MOV *SP(#0fh),AR2
  36. 023656:   12a890                   CMP AR2 >= AR1, TC1
  37. 023659:   046433                   BCC C$DW$L$,TC1
  38. 17                  r[i] += (((LDATA)h[j] * x[i-j] << 1) >> 16);
  39.         C$DW$L$, C$L2:
  40. 02365c:   a41e                     MOV *SP(#0fh),T0
  41. 02365e:   2245                     MOV T0,T1
  42. 023660:   ed00bf                   MOV dbl(*SP(#00h)),XAR3
  43. 023663:   d81855                   SUB T1,*SP(#0ch),T1
  44. 023666:   ed04cf                   MOV dbl(*SP(#02h)),XAR4
  45. 023669:   ed08af                   MOV dbl(*SP(#04h)),XAR2
  46. 02366c:   a918                     MOV *SP(#0ch),AR1
  47. 02366e:   1450b0_4763              AADD T1,AR3 || BSET ST1_FRCT
  48. 023673:   86627000_2394            MPYM *AR3,*AR4(T0),AC0 || MOV AR1,T0
  49. 023679:   100530                   SFTS AC0,#-16,AC0
  50. 02367c:   d64b00                   ADD *AR2(T0),AC0,AC0
  51. 02367f:   c04b                     MOV AC0,*AR2(T0)
  52. 16              for (j = 0; j < NH; j++) {
  53. 023681:   f71e0001                 ADD #1,*SP(#0fh)
  54. 023685:   a916                     MOV *SP(#0bh),AR1
  55. 023687:   aa1e                     MOV *SP(#0fh),AR2
  56. 023689:   12a490                   CMP AR2 < AR1, TC1
  57. 02368c:   0464cd                   BCC C$DW$L$,TC1
  58. 20              for (j = 0; j < NH; j++) {
  59.         C$DW$L$, C$L3:
  60. 02368f:   e61e00                   MOV #0,*SP(#0fh)
  61. 023692:   a916                     MOV *SP(#0bh),AR1
  62. 023694:   aa1e                     MOV *SP(#0fh),AR2
  63. 023696:   12a890                   CMP AR2 >= AR1, TC1
  64. 023699:   04644f                   BCC C$DW$L$,TC1
  65. 21                  LDATA erst = (((LDATA)STEP * err) << 1) >> 16;
  66.         C$DW$L$, C$L4:
  67. 02369c:   a51a_4763                MOV *SP(#0dh),T1 || BSET ST1_FRCT
  68. 0236a0:   d31405                   MPYM *SP(#0ah),T1,AC0
  69. 0236a3:   100530                   SFTS AC0,#-16,AC0
  70. 0236a6:   eb2008                   MOV AC0,dbl(*SP(#10h))
  71. 23                  n = (n + (NH + 1)) % (NH + 2);
  72. 0236a9:   a916                     MOV *SP(#0bh),AR1
  73. 0236ab:   d61c99                   ADD *SP(#0eh),AR1,AR1
  74. 0236ae:   7b000149                 ADD #1,AR1,T0
  75. 0236b2:   a916_4762                MOV *SP(#0bh),AR1 || BCLR ST1_FRCT
  76. 0236b6:   7b000259                 ADD #2,AR1,T1
  77. 0236ba:   6c024277                 CALL I$$MOD
  78. 0236be:   c41c                     MOV T0,*SP(#0eh)
  79. 24                  h[j] += (((erst * dbuffer[n]) << 1) >> 16);
  80. 0236c0:   ed10af                   MOV dbl(*SP(#08h)),XAR2
  81. 0236c3:   ed04bf                   MOV dbl(*SP(#02h)),XAR3
  82. 0236c6:   a91e                     MOV *SP(#0fh),AR1
  83. 0236c8:   ed2008                   MOV dbl(*SP(#10h)),AC0
  84. 0236cb:   a14b                     MOV *AR2(T0),AC1
  85. 0236cd:   6c02436d                 CALL I$$LMPY
  86. 0236d1:   2294                     MOV AR1,T0
  87. 0236d3:   4450                     SFTS AC0,#1
  88. 0236d5:   100530                   SFTS AC0,#-16,AC0
  89. 0236d8:   d66b00                   ADD *AR3(T0),AC0,AC0
  90. 0236db:   c06b                     MOV AC0,*AR3(T0)
  91. 20              for (j = 0; j < NH; j++) {
  92. 0236dd:   f71e0001                 ADD #1,*SP(#0fh)
  93. 0236e1:   a916                     MOV *SP(#0bh),AR1
  94. 0236e3:   aa1e                     MOV *SP(#0fh),AR2
  95. 0236e5:   12a490                   CMP AR2 < AR1, TC1
  96. 0236e8:   0464b1                   BCC C$DW$L$,TC1
  97. 29              err = des[i] - r[i];
  98.         C$DW$L$, C$L5:
  99. 0236eb:   a418                     MOV *SP(#0ch),T0
  100. 0236ed:   ed08bf                   MOV dbl(*SP(#04h)),XAR3
  101. 0236f0:   a96b                     MOV *AR3(T0),AR1
  102. 0236f2:   ed0cbf                   MOV dbl(*SP(#06h)),XAR3
  103. 0236f5:   d86b99                   SUB AR1,*AR3(T0),AR1
  104. 0236f8:   c91a                     MOV AR1,*SP(#0dh)
  105. 11          for (i = 0; i < NX; i++) {
  106. 0236fa:   f7180001                 ADD #1,*SP(#0ch)
  107. 0236fe:   aa18                     MOV *SP(#0ch),AR2
  108. 023700:   a928                     MOV *SP(#14h),AR1
  109. 023702:   12a490                   CMP AR2 < AR1, TC1
  110. 023705:   6d64ff26                 BCC C$L1,TC1
  111. 31          return 0;
  112.         C$DW$L$, C$L6:
  113. 023709:   3c04                     MOV #0,T0
  114. 32      }
  115. 02370b:   4e13                     AADD #19,SP
  116. 02370d:   4662                     BCLR ST1_FRCT
  117. 02370f:   4804                     RET
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement