arm_call_via.s
上传用户:nvosite88
上传日期:2007-01-17
资源大小:4983k
文件大小:1k
源码类别:

VxWorks

开发平台:

C/C++

  1. /* arm_call_via.s - _call_via_rX routines for Thumb mode */
  2. /* Copyright 2001-2002 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01c,30apr02,to   add .text
  7. 01b,22apr02,sn   SPR 76106 - added marker symbol
  8. 01a,05dec01,to   written
  9. */
  10. #define _ASMLANGUAGE
  11. #include "vxWorks.h"
  12. #include "asm.h"
  13. .data
  14. .globl __arm_call_via_o
  15. __arm_call_via_o:
  16. .long 0x0
  17. #define CALL_VIA(reg) 
  18. .globl _call_via_##reg ;
  19. .thumb_func ;
  20. _call_via_##reg##: ;
  21. bx reg
  22. #define CALL_VIA2(reg1, reg2) 
  23. .globl _call_via_##reg1;
  24. .globl _call_via_##reg2;
  25. .thumb_func ;
  26. _call_via_##reg1##: ;
  27. _call_via_##reg2##: ;
  28. bx reg1
  29. #if (ARM_THUMB == TRUE)
  30. .text
  31. .code 16
  32. .balign 2
  33. CALL_VIA(r0)
  34. CALL_VIA(r1)
  35. CALL_VIA(r2)
  36. CALL_VIA(r3)
  37. CALL_VIA(r4)
  38. CALL_VIA(r5)
  39. CALL_VIA(r6)
  40. CALL_VIA(r7)
  41. CALL_VIA(r8)
  42. CALL_VIA(r9)
  43. CALL_VIA2(r10, sl)
  44. CALL_VIA2(r11, fp)
  45. CALL_VIA2(r12, ip)
  46. CALL_VIA(sp)
  47. CALL_VIA(lr)
  48. #endif /* (ARM_THUMB == TRUE) */
  49. .end