home *** CD-ROM | disk | FTP | other *** search
- /* ---------------------------------------------------------------------- */
- /* Copyright (C) 1991 by Natürlich! */
- /* This file is copyrighted! */
- /* Refer to the documentation for details. */
- /* ---------------------------------------------------------------------- */
- #ifndef _PROCESS_
- # define _PROCESS_
- # ifndef _CODE_
- # include "code.h"
- # endif
- # ifndef _FIX_
- # include "fix.h"
- # endif
-
- # define DS_THRESHOLD 5
- # define MAX_SAFETY 0x200
-
- # define _advance( x) __p += x
- # define _retreat( x) __p -= x
- # define advance( x) _advance( x); __pc += x
- # define _deposit( val) *__p++ = (val)
- # define deposit( val) _deposit(val); __pc++
- # define wdeposit( val) \
- pdpoke( __p, val); \
- __pc += 2
-
- # define wddeposit( val) \
- pdbyte( __p, val); \
- __pc += 2
-
- # define cmddeposit( tab, mode) \
- if( ! (__c = tab[mode])) \
- { \
- nerror( invadr); \
- LEAVE(); \
- return; \
- } \
- deposit( __c);
-
- # define ex_chk( ex) \
- if( ! ex) \
- { \
- gen_error(); \
- return; \
- }
-
- # define wex_chk( ex) \
- if( ! ex) \
- { \
- wgen_error(); \
- return; \
- }
-
- # define ex_deposit( ex, ip, flag) \
- if( ! flag) \
- { \
- fix_up( ex, (imm huge *) ip, FIX_ZCODE); \
- deposit( 0); \
- } \
- else \
- { \
- deposit( ex->val); \
- expr_tryfree( ex); \
- }
-
- # define wex_deposit( ex, flag) \
- if( ! flag) \
- { \
- fix_up( ex, (imm huge *) 0, FIX_WCODE); \
- wdeposit( 0); \
- } \
- else \
- { \
- wdeposit( ex->val); \
- expr_tryfree( ex); \
- }
- #endif
-