40 lines
874 B
C
40 lines
874 B
C
#define POP_N_INSTINIT \
|
|
BLOCKADDRESS = (CELL)(*_PREG); \
|
|
register CELL d0; \
|
|
d0 = (*_PREG)->u.os.s; \
|
|
SP = (CELL *) (((char *) SP) + d0); \
|
|
d0 = SP[0]; \
|
|
if (d0) { \
|
|
(*_SREG) = (CELL *) (SP[1]); \
|
|
SP += 2; \
|
|
(*_PREG) = NEXTOP((*_PREG), s); \
|
|
GONext(); \
|
|
} \
|
|
else { \
|
|
(*_SREG) = (CELL *) (SP[1]); \
|
|
SP += 2; \
|
|
(*_PREG) = NEXTOP((*_PREG), s); \
|
|
GONextW(); \
|
|
}
|
|
|
|
#define POP_N_END \
|
|
BLOCK = (CELL)POP_N_END;
|
|
|
|
#define POP_INSTINIT \
|
|
BLOCKADDRESS = (CELL)(*_PREG); \
|
|
register CELL d0; \
|
|
d0 = SP[0]; \
|
|
(*_SREG) = (CELL *) (SP[1]); \
|
|
SP += 2; \
|
|
if (d0) { \
|
|
(*_PREG) = NEXTOP((*_PREG), e); \
|
|
GONext(); \
|
|
} \
|
|
else { \
|
|
(*_PREG) = NEXTOP((*_PREG), e); \
|
|
GONextW(); \
|
|
}
|
|
|
|
#define POP_END \
|
|
BLOCK = (CELL)POP_END;
|