home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 1 / crawlyvol1.bin / program / compiler / nasm20b / nasm_src / process.h < prev    next >
C/C++ Source or Header  |  1993-01-19  |  3KB  |  78 lines

  1. /* ---------------------------------------------------------------------- */
  2. /*                   Copyright (C) 1991 by Natürlich!                     */
  3. /*                      This file is copyrighted!                         */
  4. /*                Refer to the documentation for details.                 */
  5. /* ---------------------------------------------------------------------- */
  6. #ifndef _PROCESS_
  7. # define _PROCESS_
  8. #  ifndef _CODE_
  9. #   include "code.h"
  10. #  endif
  11. #  ifndef _FIX_
  12. #   include "fix.h"
  13. #  endif
  14.  
  15. # define DS_THRESHOLD      5
  16. # define MAX_SAFETY        0x200
  17.  
  18. # define _advance( x)      __p += x
  19. # define _retreat( x)      __p -= x
  20. # define advance( x)       _advance( x); __pc += x
  21. # define _deposit( val)    *__p++ = (val)
  22. # define deposit( val)     _deposit(val); __pc++
  23. # define wdeposit( val)                               \
  24.     pdpoke( __p, val);                                \
  25.     __pc += 2
  26.  
  27. # define  wddeposit( val)                             \
  28.     pdbyte( __p, val);                                \
  29.     __pc += 2
  30.  
  31. # define cmddeposit( tab, mode)                       \
  32.     if( ! (__c = tab[mode]))                          \
  33.     {                                                 \
  34.        nerror( invadr);                               \
  35.        LEAVE();                                       \
  36.        return;                                        \
  37.     }                                                 \
  38.     deposit( __c);
  39.  
  40. # define ex_chk( ex)                                  \
  41.    if( ! ex)                                          \
  42.    {                                                  \
  43.       gen_error();                                    \
  44.       return;                                         \
  45.    }
  46.  
  47. # define wex_chk( ex)                                 \
  48.    if( ! ex)                                          \
  49.    {                                                  \
  50.       wgen_error();                                   \
  51.       return;                                         \
  52.    }
  53.  
  54. # define ex_deposit( ex, ip, flag)                    \
  55.     if( ! flag)                                       \
  56.     {                                                 \
  57.        fix_up( ex, (imm huge *) ip, FIX_ZCODE);       \
  58.        deposit( 0);                                   \
  59.     }                                                 \
  60.     else                                              \
  61.     {                                                 \
  62.        deposit( ex->val);                             \
  63.        expr_tryfree( ex);                             \
  64.     }
  65.  
  66. # define wex_deposit( ex, flag)                       \
  67.     if( ! flag)                                       \
  68.     {                                                 \
  69.        fix_up( ex, (imm huge *) 0, FIX_WCODE);        \
  70.        wdeposit( 0);                                  \
  71.     }                                                 \
  72.     else                                              \
  73.     {                                                 \
  74.        wdeposit( ex->val);                            \
  75.        expr_tryfree( ex);                             \
  76.     }
  77. #endif
  78.