020_hdr.asm
Upload User: hbbaokai
Upload Date: 2009-07-13
Package Size: 328k
Code Size: 7k
Category:

VOIP program

Development Platform:

Visual C++

  1. /* This file contains the interrupt table for the ADSP-21020 */
  2. /* When the C program exits either by returning from main() or by an  */
  3. /* explicit or implicit call to exit(), control will transfer to the  */
  4. /* label ___lib_prog_term.  Currently, the ___lib_prog_term label is  */
  5. /* defined at the end of the reset vector as an IDLE instruction.     */
  6. /* If your application needs to perform some operation AFTER the C    */
  7. /* program has finished executing, remove the ___lib_prog_term label  */
  8. /* from the runtime header, and place it at the beginning of your     */
  9. /* code.       */
  10. .GLOBAL ___lib_prog_term;      /*Termination address */
  11. .SEGMENT/PM     seg_rth; /*Runtime header segment*/
  12. NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP; /*Reserved interrupt */
  13. ___lib_RSTI:   CALL ___lib_setup_hardware;      /*Reset Interrupt  */
  14.   CALL ___lib_setup_processor;
  15.   CALL ___lib_setup_environment; 
  16.   JUMP _main (DB);      /*Begin user progam  */
  17. NOP;NOP;
  18. ___lib_prog_term: IDLE;
  19. JUMP ___lib_prog_term; /*Stay at idle */
  20. NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP; /*Reserved interrupt */
  21. /* Interrupt vector for status stack/loop stack overflow or PC stack full:  */
  22. ___lib_SOVFI: JUMP ___lib_int_cntrl (DB); /*Jump to dispatcher  */
  23. BIT CLR MODE1 0x1000; /*Disable interrupts  */
  24. BIT SET MODE2 0x00080000; /*Freeze cache  */
  25. NOP;NOP;NOP;NOP;NOP; /*Pad to next vector  */
  26. /* Interrupt vector for high priority timer interrupt: */
  27. ___lib_TMZOI: JUMP ___lib_int_cntrl (DB); /*Jump to dispatcher  */
  28. BIT CLR MODE1 0x1000; /*Disable interrupts  */
  29. BIT SET MODE2 0x00080000; /*Freeze cache  */
  30. NOP;NOP;NOP;NOP;NOP; /*Pad to next vector  */
  31. /* Interrupt vector for external interrupts:*/
  32. .global ___lib_IRQ3I;
  33. ___lib_IRQ3I: idle;
  34. BIT CLR MODE1 0x1000; /*Disable interrupts  */
  35. nop; /* BIT SET MODE2 0x00080000; Freeze cache */
  36. NOP;NOP;NOP;NOP;NOP; /*Pad to next vector  */
  37. ___lib_IRQ2I: JUMP ___lib_int_cntrl (DB); /*Jump to dispatcher  */
  38. BIT CLR MODE1 0x1000; /*Disable interrupts  */
  39. BIT SET MODE2 0x00080000; /*Freeze cache  */
  40. NOP;NOP;NOP;NOP;NOP; /*Pad to next vector  */
  41. ___lib_IRQ1I: JUMP ___lib_int_cntrl (DB); /*Jump to dispatcher  */
  42. BIT CLR MODE1 0x1000; /*Disable interrupts  */
  43. BIT SET MODE2 0x00080000; /*Freeze cache  */
  44. NOP;NOP;NOP;NOP;NOP; /*Pad to next vector  */
  45. ___lib_IRQ0I: JUMP ___lib_int_cntrl (DB); /*Jump to dispatcher  */
  46. BIT CLR MODE1 0x1000; /*Disable interrupts  */
  47. BIT SET MODE2 0x00080000; /*Freeze cache  */
  48. NOP;NOP;NOP;NOP;NOP; /*Pad to next vector  */
  49. NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP; /*Reserved interrupt */
  50. NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP; /*Reserved interrupt */
  51. /* Interrupt vector for DAG1 buffer 7 circular buffer overflow */
  52. ___lib_CB7I: JUMP ___lib_int_cntrl (DB); /*Jump to dispatcher  */
  53. BIT CLR MODE1 0x1000; /*Disable interrupts  */
  54. BIT SET MODE2 0x00080000; /*Freeze cache  */
  55. NOP;NOP;NOP;NOP;NOP; /*Pad to next vector  */
  56. /* Interrupt vector for DAG2 buffer 15 circular buffer overflow */
  57. ___lib_CB15I: JUMP ___lib_int_cntrl (DB); /*Jump to dispatcher  */
  58. BIT CLR MODE1 0x1000; /*Disable interrupts  */
  59. BIT SET MODE2 0x00080000; /*Freeze cache  */
  60. NOP;NOP;NOP;NOP;NOP; /*Pad to next vector  */
  61. NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP; /*Reserved interrupt  */
  62. /* Interrupt vector for lower priority timer interrupt */
  63. ___lib_TMZI: JUMP ___lib_int_cntrl (DB); /*Jump to dispatcher  */
  64. BIT CLR MODE1 0x1000; /*Disable interrupts  */
  65. BIT SET MODE2 0x00080000; /*Freeze cache  */
  66. NOP;NOP;NOP;NOP;NOP; /*Pad to next vector  */
  67. /* Interrupt vector for fixed point overflow interrupt */
  68. ___lib_FIXI: JUMP ___lib_int_cntrl (DB); /*Jump to dispatcher  */
  69. BIT CLR MODE1 0x1000; /*Disable interrupts  */
  70. BIT SET MODE2 0x00080000; /*Freeze cache  */
  71. NOP;NOP;NOP;NOP;NOP; /*Pad to next vector  */
  72. /* Interrupt vector for floating point overflow interrupt */
  73. ___lib_FLTOI: JUMP ___lib_int_cntrl (DB); /*Jump to dispatcher  */
  74. BIT CLR MODE1 0x1000; /*Disable interrupts  */
  75. BIT SET MODE2 0x00080000; /*Freeze cache  */
  76. NOP;NOP;NOP;NOP;NOP; /*Pad to next vector  */
  77. /* Interrupt vector for floating point underflow interrupt */
  78. ___lib_FLTUI: JUMP ___lib_int_cntrl (DB); /*Jump to dispatcher  */
  79. BIT CLR MODE1 0x1000; /*Disable interrupts  */
  80. BIT SET MODE2 0x00080000; /*Freeze cache  */
  81. NOP;NOP;NOP;NOP;NOP; /*Pad to next vector  */
  82. /* Interrupt vector for floating point invalid operation interrupt */
  83. ___lib_FLTII: JUMP ___lib_int_cntrl (DB); /*Jump to dispatcher  */
  84. BIT CLR MODE1 0x1000; /*Disable interrupts  */
  85. BIT SET MODE2 0x00080000; /*Freeze cache  */
  86. NOP;NOP;NOP;NOP;NOP; /*Pad to next vector  */
  87. NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP; /*Reserved interrupt */
  88. NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP; /*Reserved interrupt */
  89. NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP; /*Reserved interrupt */
  90. NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP; /*Reserved interrupt */
  91. NOP;NOP;NOP;NOP;NOP;NOP;NOP;NOP; /*Reserved interrupt */
  92. /* Interrupt vectors for user interrupts 0 - 7 */
  93. ___lib_USR0I: JUMP ___lib_int_cntrl (DB); /*Jump to dispatcher  */
  94. BIT CLR MODE1 0x1000; /*Disable interrupts  */
  95. nop; /* DO NOT Freeze cache  */
  96. NOP;NOP;NOP;NOP;NOP; /*Pad to next vector  */
  97. ___lib_USR1I: JUMP ___lib_int_cntrl (DB); /*Jump to dispatcher  */
  98. BIT CLR MODE1 0x1000; /*Disable interrupts  */
  99. BIT SET MODE2 0x00080000; /*Freeze cache  */
  100. NOP;NOP;NOP;NOP;NOP; /*Pad to next vector  */
  101. ___lib_USR2I: JUMP ___lib_int_cntrl (DB); /*Jump to dispatcher  */
  102. BIT CLR MODE1 0x1000; /*Disable interrupts  */
  103. BIT SET MODE2 0x00080000; /*Freeze cache  */
  104. NOP;NOP;NOP;NOP;NOP; /*Pad to next vector  */
  105. ___lib_USR3I: JUMP ___lib_int_cntrl (DB); /*Jump to dispatcher  */
  106. BIT CLR MODE1 0x1000; /*Disable interrupts  */
  107. BIT SET MODE2 0x00080000; /*Freeze cache  */
  108. NOP;NOP;NOP;NOP;NOP; /*Pad to next vector  */
  109. ___lib_USR4I: JUMP ___lib_int_cntrl (DB); /*Jump to dispatcher  */
  110. BIT CLR MODE1 0x1000; /*Disable interrupts  */
  111. BIT SET MODE2 0x00080000; /*Freeze cache  */
  112. NOP;NOP;NOP;NOP;NOP; /*Pad to next vector  */
  113. ___lib_USR5I: JUMP ___lib_int_cntrl (DB); /*Jump to dispatcher  */
  114. BIT CLR MODE1 0x1000; /*Disable interrupts  */
  115. BIT SET MODE2 0x00080000; /*Freeze cache  */
  116. NOP;NOP;NOP;NOP;NOP; /*Pad to next vector  */
  117. ___lib_USR6I: JUMP ___lib_int_cntrl (DB); /*Jump to dispatcher  */
  118. BIT CLR MODE1 0x1000; /*Disable interrupts  */
  119. BIT SET MODE2 0x00080000; /*Freeze cache  */
  120. NOP;NOP;NOP;NOP;NOP; /*Pad to next vector  */
  121. ___lib_USR7I: JUMP ___lib_int_cntrl (DB); /*Jump to dispatcher  */
  122. BIT CLR MODE1 0x1000; /*Disable interrupts  */
  123. BIT SET MODE2 0x00080000; /*Freeze cache  */
  124. NOP;NOP;NOP;NOP;NOP; /*Pad to next vector  */
  125. .ENDSEG;