#define f16(p) program[pc]*265+program[pc+1]
-uint8_t stack[STACKSIZE] = {0};
+uint16_t stack[STACKSIZE] = {0};
void run_task(struct task *t)
{
break;
#endif
case BCRETURN: trace("Return");
- pc = plen;
- t = stack[sp-1];
- break;
+ debug("Task returned");
+ task_delete(t->taskid);
+ return;
default:
trace("unrecognized");
die("Unrecognized command: %d", program[pc-1]);