annotate src/cs/system/main/gcc/int_dummy.S @ 90:2de9e5f46550

.../main/gcc/bootentry.S: the literal pool needs to be arranged the way TI had it
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 20 Jul 2018 23:39:27 +0000
parents 31384f415dae
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
80
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 /*
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 * This assembly module contains a few dummy INT_*() functions
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 * which are needed by Nucleus (tcc.c) but aren't used in TI's
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 * environment. This code used to be in the big messy int.s
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 * assembly module in the original version.
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 .text
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 .code 32
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 /*************************************************************************/
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 /* FUNCTION */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 /* INT_Vectors_Loaded */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 /* DESCRIPTION */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 /* This function returns the flag that indicates whether or not */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 /* all the default vectors have been loaded. If it is false, */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 /* each LISR register also loads the ISR shell into the actual */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 /* vector table. */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 /* AUTHOR */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 /* Barry Sellew, Accelerated Technology, Inc. */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 /* CALLED BY */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 /* TCC_Register_LISR Register LISR for vector */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 /* CALLS */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 /* None */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36 /* INPUTS */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38 /* None */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40 /* OUTPUTS */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42 /* None */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
43 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44 /* HISTORY */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46 /* NAME DATE REMARKS */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
47 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
48 /* B. Sellew 01-19-1996 Created initial version 1.0 */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
49 /* B. Sellew 01-22-1996 Verified version 1.0 */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
50 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51 /*************************************************************************/
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
52
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
53 @INT INT_Vectors_Loaded(void)
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
54 @{
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
55 .globl INT_Vectors_Loaded
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
56 INT_Vectors_Loaded:
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
57 @
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
58 @ /* Just return the loaded vectors flag. */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
59 @ return(INT_Loaded_Flag);
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
60 @
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
61 MOV a1,#1 @ Always return TRUE since there
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
62 @ are really only two normal
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
63 @ vectors IRQ & FIQ
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
64 BX lr @ Return to caller
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
65 @}
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
66
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
67
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
68 /*************************************************************************/
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
69 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
70 /* FUNCTION */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
71 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
72 /* INT_Setup_Vector */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
73 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
74 /* DESCRIPTION */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
75 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
76 /* This function sets up the specified vector with the new vector */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
77 /* value. The previous vector value is returned to the caller. */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
78 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
79 /* AUTHOR */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
80 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
81 /* Barry Sellew, Accelerated Technology, Inc. */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
82 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
83 /* CALLED BY */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
84 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
85 /* Application */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
86 /* TCC_Register_LISR Register LISR for vector */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
87 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
88 /* CALLS */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
89 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
90 /* None */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
91 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
92 /* INPUTS */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
93 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
94 /* vector Vector number to setup */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
95 /* new Pointer to new assembly */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
96 /* language ISR */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
97 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
98 /* OUTPUTS */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
99 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
100 /* old vector contents */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
101 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
102 /* HISTORY */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
103 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
104 /* NAME DATE REMARKS */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
105 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
106 /* B. Sellew 01-19-1996 Created initial version 1.0 */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
107 /* B. Sellew 01-22-1996 Verified version 1.0 */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
108 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
109 /*************************************************************************/
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
110
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
111 @VOID *INT_Setup_Vector(INT vector, VOID *new)
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
112 @{
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
113 .globl INT_Setup_Vector
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
114 INT_Setup_Vector:
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
115 @
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
116 @VOID *old_vector; /* Old interrupt vector */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
117 @VOID **vector_table; /* Pointer to vector table */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
118 @
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
119 @ /* Calculate the starting address of the actual vector table. */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
120 @ vector_table = (VOID **) 0;
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
121 @
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
122 @ /* Pickup the old interrupt vector. */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
123 @ old_vector = vector_table[vector];
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
124 @
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
125 @ /* Setup the new interrupt vector. */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
126 @ vector_table[vector] = new;
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
127 @
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
128 @ /* Return the old interrupt vector. */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
129 @ return(old_vector);
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
130 @
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
131 MOV a1,#0 @ This routine is not applicable to
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
132 @ THUMB, return a NULL pointer
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
133 BX lr @ Return to caller
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
134 @}
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
135
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
136
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
137 /*************************************************************************/
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
138 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
139 /* FUNCTION */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
140 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
141 /* INT_Retrieve_Shell */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
142 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
143 /* DESCRIPTION */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
144 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
145 /* This function retrieves the pointer to the shell interrupt */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
146 /* service routine. The shell interrupt service routine calls */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
147 /* the LISR dispatch routine. */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
148 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
149 /* AUTHOR */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
150 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
151 /* Barry Sellew, Accelerated Technology, Inc. */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
152 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
153 /* CALLED BY */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
154 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
155 /* TCC_Register_LISR Register LISR for vector */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
156 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
157 /* CALLS */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
158 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
159 /* None */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
160 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
161 /* INPUTS */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
162 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
163 /* vector Vector number to setup */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
164 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
165 /* OUTPUTS */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
166 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
167 /* shell pointer */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
168 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
169 /* HISTORY */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
170 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
171 /* NAME DATE REMARKS */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
172 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
173 /* B. Sellew 01-19-1996 Created initial version 1.0 */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
174 /* B. Sellew 01-22-1996 Verified version 1.0 */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
175 /* */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
176 /*************************************************************************/
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
177
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
178 @VOID *INT_Retrieve_Shell(INT vector)
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
179 @{
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
180 .globl INT_Retrieve_Shell
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
181 INT_Retrieve_Shell:
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
182 @
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
183 @ /* Return the LISR Shell interrupt routine. */
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
184 @ return(INT_Vectors[vector]);
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
185 @
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
186 MOV a1,#0 @ This routine is not applicable to
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
187 @ THUMB, return a NULL pointer
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
188 BX lr @ Return to caller
31384f415dae created int_dummy.S with INT_*() functions for tcc.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
189 @}