1 /* setjmp for the Blackfin project
3 * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org>
4 * Copyright (C) 2003 Metrowerks
5 * Based on code from Analog Devices.
7 * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
14 int setjmp(jmp_buf env)
21 "[p0++] = r0;\n\t" /* GP address registers */
28 "[p0++] = FP;\n\t" /* frame pointer */
29 "[p0++] = SP;\n\t" /* stack pointer */
31 "[p0++] = p0;\n\t" /* data regs */
43 "r0 = LC0;\n\t" /* loop counters */
58 "r0 = i0;\n\t" /* index registers */
67 "r0 = m0;\n\t" /* modifier registers */
76 "r0 = l0;\n\t" /* length registers */
85 "r0 = b0;\n\t" /* base registers */
94 "r0 = RETS;\n\t" /* store return address */