/* ---------------------------------------------------------------------- */
/*                   Copyright (C) 1991 by Natrlich!                     */
/*                      This file is copyrighted!                         */
/*                Refer to the documentation for details.                 */
/* ---------------------------------------------------------------------- */
/*    This Source is ...                                      */
/*    this Source is ...                                      */
/*    this Source is Technotronic                             */
/* ---------------------------------------------------------- */
#include "defines.h"
#include "nasm.h"
#include "debug.h"
#include "imm.h"
#include "op.h"

extern imm huge   *cip,
           huge   *hip;
extern seg huge   *sp;

static char lossage[] = "Expression must be preceded by '<' or '>'";

void  save_patch( where, type, value)
word  where, value;
byte  type;
{
   register imm huge *p = imm_alloc();

   ENTER("save_patch");
   if( ! (p->type = ((type &= O_BITS) == O_MSB)))
      if( type != O_LSB)
         nerror( lossage);
   p->offset = where;
   p->block = sp;
   p->val   = value;
   p->next  = (imm huge *) 0;
   cip = hip ? (cip->next = p) : (hip = p);
   LEAVE();
}

