asmmisc.s 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. ;/* ***** BEGIN LICENSE BLOCK *****
  2. ; * Version: RCSL 1.0/RPSL 1.0
  3. ; *
  4. ; * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved.
  5. ; *
  6. ; * The contents of this file, and the files included with this file, are
  7. ; * subject to the current version of the RealNetworks Public Source License
  8. ; * Version 1.0 (the "RPSL") available at
  9. ; * http://www.helixcommunity.org/content/rpsl unless you have licensed
  10. ; * the file under the RealNetworks Community Source License Version 1.0
  11. ; * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl,
  12. ; * in which case the RCSL will apply. You may also obtain the license terms
  13. ; * directly from RealNetworks. You may not use this file except in
  14. ; * compliance with the RPSL or, if you have a valid RCSL with RealNetworks
  15. ; * applicable to this file, the RCSL. Please see the applicable RPSL or
  16. ; * RCSL for the rights, obligations and limitations governing use of the
  17. ; * contents of the file.
  18. ; *
  19. ; * This file is part of the Helix DNA Technology. RealNetworks is the
  20. ; * developer of the Original Code and owns the copyrights in the portions
  21. ; * it created.
  22. ; *
  23. ; * This file, and the files included with this file, is distributed and made
  24. ; * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  25. ; * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  26. ; * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS
  27. ; * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  28. ; *
  29. ; * Technology Compatibility Kit Test Suite(s) Location:
  30. ; * http://www.helixcommunity.org/content/tck
  31. ; *
  32. ; * Contributor(s):
  33. ; *
  34. ; * ***** END LICENSE BLOCK ***** */
  35. AREA |.text|, CODE, READONLY
  36. THUMB
  37. REQUIRE8
  38. PRESERVE8
  39. ; int xmp3_MULSHIFT32(int x, int y)
  40. EXPORT xmp3_MULSHIFT32
  41. EXPORT xmp3_FASTABS
  42. ;.cpu cortex-m3
  43. ;.fpu softvfp
  44. ;.syntax unified
  45. ;.thumb
  46. ;.text
  47. ; .global xmp3_MULSHIFT32
  48. ; .thumb_func
  49. xmp3_MULSHIFT32 PROC
  50. smull r2, r0, r1, r0
  51. ; mov pc, lr // KJ changed to BX for Cortex
  52. BX lr
  53. ENDP
  54. ;.global xmp3_FASTABS
  55. ;.thumb_func
  56. xmp3_FASTABS PROC
  57. mov r1, r0
  58. mov r0, #0x0
  59. eor r0, r1, r1, asr # 31
  60. sub r0, r0, r1, asr # 31
  61. bx lr
  62. ENDP
  63. END