AMX 68000 User Manual Page 74

  • Download
  • Add to my manuals
  • Print
  • Page
    / 90
  • Table of contents
  • BOOKMARKS
  • Rated. / 5. Based on customer reviews
Page view 73
B-12
K
A
DAK
AMX 68000 Target Guide
Example #include "CJZZZ.H"
void CJ_CCPP dowork(struct cjxjbuf *jbp);
static struct cjxjbuf jumpbuffer;
#define STACKSIZE 512 /* Stack size (longs) */
#define STACKDIR 1 /* 0=grows up; 1=grows down */
static long newstack[STACKSIZE];
#if (STACKDIR == 1)
#define STACKP (&newstack[STACKSIZE - 1])
#else
#define STACKP newstack
#endif
void CJ_CCPP taskbody(void) {
if (cjcfjset(&jumpbuffer) == 0)
/* Switch to new stack and do work */
cjcfstkjmp(&jumpbuffer, STACKP,
(CJ_VPPROC)dowork);
/* Never returns to here */
/* Do work using original stack */
dowork(NULL);
}
void CJ_CCPP dowork(struct cjxjbuf *jbp) {
/* Do work */
/* If jump buffer provided, then use long jump to */
/* restore the original stack and return */
if (jbp != NULL)
cjcfjlong(jbp, 1);
}
See Also cjcfstkjmp
Page view 73
1 ... 73 74 75 ... 90

Comments to this Manuals

No comments