annotate packages/hal/m68k/arch/current/src/hal_arch.S @ 211:6eb55882e01c

Merge from eCos master repository on 2002-05-29-16:32:18-BST
author jlarmour
date Wed, 29 May 2002 18:28:03 +0000
parents
children c8ac62402c90
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
211
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
1 ##=============================================================================
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
2 #####ECOSGPLCOPYRIGHTBEGIN####
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
3 ## -------------------------------------------
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
4 ## This file is part of eCos, the Embedded Configurable Operating System.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
5 ## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
6 ##
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
7 ## eCos is free software; you can redistribute it and/or modify it under
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
8 ## the terms of the GNU General Public License as published by the Free
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
9 ## Software Foundation; either version 2 or (at your option) any later version.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
10 ##
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
11 ## eCos is distributed in the hope that it will be useful, but WITHOUT ANY
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
12 ## WARRANTY; without even the implied warranty of MERCHANTABILITY or
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
13 ## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
14 ## for more details.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
15 ##
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
16 ## You should have received a copy of the GNU General Public License along
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
17 ## with eCos; if not, write to the Free Software Foundation, Inc.,
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
18 ## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
19 ##
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
20 ## As a special exception, if other files instantiate templates or use macros
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
21 ## or inline functions from this file, or you compile this file and link it
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
22 ## with other works to produce a work based on this file, this file does not
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
23 ## by itself cause the resulting work to be covered by the GNU General Public
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
24 ## License. However the source code for this file must still be made available
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
25 ## in accordance with section (3) of the GNU General Public License.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
26 ##
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
27 ## This exception does not invalidate any other reasons why a work based on
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
28 ## this file might be covered by the GNU General Public License.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
29 ##
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
30 ## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
31 ## at http://sources.redhat.com/ecos/ecos-license/
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
32 ## -------------------------------------------
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
33 #####ECOSGPLCOPYRIGHTEND####
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
34 ##=============================================================================
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
35 /*****************************************************************************
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
36 hal_arch.S -- m68k architecture code
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
37 *****************************************************************************/
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
38
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
39 #include <pkgconf/hal.h>
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
40
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
41 /*****************************************************************************
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
42 FUNC_START -- Function declaration macro
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
43 *****************************************************************************/
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
44 #define FUNC_START(name) \
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
45 .text; \
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
46 .even; \
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
47 .globl name; \
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
48 name:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
49
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
50 /*****************************************************************************
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
51 The following routines assume the hal_jmp_buf structure is defined as
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
52 shown below.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
53
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
54 typedef struct {
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
55 cyg_uint32 d2;
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
56 cyg_uint32 d3;
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
57 cyg_uint32 d4;
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
58 cyg_uint32 d5;
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
59 cyg_uint32 d6;
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
60 cyg_uint32 d7;
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
61 cyg_uint32 a2;
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
62 cyg_uint32 a3;
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
63 cyg_uint32 a4;
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
64 cyg_uint32 a5;
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
65 cyg_uint32 a6;
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
66 cyg_uint32 sp;
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
67 cyg_uint32 pc;
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
68 } hal_jmp_buf_t;
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
69 typedef cyg_uint32 hal_jmp_buf[sizeof(hal_jmp_buf_t) / sizeof(cyg_uint32)];
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
70 *****************************************************************************/
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
71
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
72 /*****************************************************************************
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
73 hal_m68k_setjmp -- Generic setjmp for the m68k architecture
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
74
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
75 externC int hal_m68k_setjmp(hal_jmp_buf env);
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
76
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
77 INPUT:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
78
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
79 0(%sp): return address
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
80
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
81 4(%sp): env - address of a hal_jmp_buf structure
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
82
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
83 OUTPUT:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
84
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
85 d0, d1, a0, a1 are ours to abuse.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
86
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
87 RETURN VALUE:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
88
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
89 This routine always returns zero in d0.l.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
90
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
91 *****************************************************************************/
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
92 FUNC_START(hal_m68k_setjmp)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
93
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
94 lea.l 4(%sp),%a1 /* Get a pointer to the position */
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
95 /* of the stack pointer before this */
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
96 /* call was made. IMPORTANT: The */
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
97 /* longjmp routine and the */
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
98 /* exception handler assume that */
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
99 /* saved stack pointers point to */
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
100 /* the location of the stack before */
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
101 /* the routine/exception occurred. */
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
102
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
103 move.l (%a1),%a0 /* Get a pointer to the buffer to */
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
104 /* save our state into. */
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
105
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
106 movem.l %d2-%d7/%a2-%a6,(%a0) /* Write all of the preserved */
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
107 lea (11*4)(%a0),%a0 /* registers, the stack pointer, */
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
108 move.l %a1,(%a0)+ /* and the return address into the */
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
109 move.l (%sp),(%a0) /* structure. */
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
110
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
111 moveq.l #0,%d0 /* Load a zero return value and */
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
112 rts /* return. */
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
113
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
114 /*****************************************************************************
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
115 hal_m68k_longjmp -- Generic longjmp for the m68k architecture
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
116
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
117 externC void hal_m68k_longjmp(hal_jmp_buf env, int val);
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
118
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
119 INPUT:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
120
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
121 0(%sp): return address
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
122
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
123 4(%sp): env - address of a hal_jmp_buf structure
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
124
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
125 8(%sp): val - the non-zero value to return
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
126
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
127 OUTPUT:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
128
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
129 d0, d1, a0, a1 are ours to abuse.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
130
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
131 RETURN VALUE:
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
132
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
133 This routine always returns the value from the val parameter in d0.l
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
134 and to the location of the PC in the env structure.
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
135
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
136 *****************************************************************************/
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
137 FUNC_START(hal_m68k_longjmp)
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
138
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
139 move.l 8(%sp),%d0 /* Load the return value */
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
140 /* parameter. */
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
141
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
142 move.l 4(%sp),%a0 /* Get a pointer to the buffer to */
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
143 /* read our state from. */
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
144
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
145 movem.l (%a0),%d2-%d7/%a2-%a6 /* Load our preserved registers, */
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
146 lea (11*4)(%a0),%a0 /* stack pointer and return address */
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
147 move.l (%a0)+,%d1 /* from the structure. */
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
148 move.l (%a0),%a1
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
149
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
150 move.l %d1,%sp /* Set the stack pointer from the */
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
151 jmp (%a1) /* structure as out current stack */
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
152 /* pointer and jump to the return */
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
153 /* address from the structure. */
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
154
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
155
6eb55882e01c Merge from eCos master repository on 2002-05-29-16:32:18-BST
jlarmour
parents:
diff changeset
156