home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Crawly Crypt Collection 1
/
crawlyvol1.bin
/
program
/
compiler
/
nasm20b
/
nasm_src
/
seg.h
< prev
next >
Wrap
C/C++ Source or Header
|
1993-01-19
|
2KB
|
55 lines
/* ---------------------------------------------------------------------- */
/* Copyright (C) 1991 by Natürlich! */
/* This file is copyrighted! */
/* Refer to the documentation for details. */
/* ---------------------------------------------------------------------- */
#ifndef __SEGMENT
#define __SEGMENT
#define S_RCODE 0 /* relocatable code */
#define S_SDATA 1 /* Static data */
#define S_RDATA 2 /* relocatable data (words) */
#define S_TDATA 3 /* relocatable data (dbytes) */
#define S_DS 4 /* hole to leave */
#define S_ALIGN 5 /* align code on boundary */
#define S_RSTOP 0x40
#define S_UNKNOWN -1
#define sis_code( x) ((word) x->type < S_DS)
#define sis_unknown( s) ((s)->type < 0)
#define calc_index() (p_index() - sp->index)
#if VERSION
# define check_fseg( p, t) \
if( runnable) \
{ \
if( sis_unknown( p)) \
p->type = S_SDATA; /*1*/\
} \
else \
if( (t) != p->type) \
if( sis_unknown( p)) \
p->type = t; \
else \
build_rseg( t, 0)
# define check_dseg( p, t, val) \
if( runnable) \
{ \
if( sis_unknown( p)) \
p->type = S_SDATA; \
} \
else \
if( (t) != p->type) \
if( sis_unknown( p)) \
{ \
p->type = t; \
p->size = val; \
} \
else \
build_rseg( t, val); \
else \
p->size += val
# endif
#endif
/* 1 : beats me why this should be S_SDATA (probably anything is OK !?) */