ack/modules/src/em_opt/mkstrct.c
2019-05-14 23:22:38 +08:00

249 lines
4.4 KiB
C

#ifndef NORCSID
static char rcsid3[] = "$Id$";
#endif
#include "nopt.h"
void EM_mkop(p, opcode)
register p_instr p;int opcode;
{
p->em_type = EM_MNEM;
p->em_opcode = opcode;
p->em_argtype = 0;
}
void EM_mknarg(p, opcode)
register p_instr p;int opcode;
{
p->em_type = EM_MNEM;
p->em_opcode = opcode;
p->em_argtype = 0;
p->em_cst = 0;
}
void EM_mkilb(p, opcode, lab)
register p_instr p;int opcode;label lab;
{
p->em_type = EM_MNEM;
p->em_argtype = ilb_ptyp;
p->em_opcode = opcode;
p->em_ilb = lab;
}
void EM_mknof(p, opcode, lab, off)
register p_instr p;int opcode;label lab;
arith off;
{
p->em_type = EM_MNEM;
p->em_argtype = nof_ptyp;
p->em_opcode = opcode;
p->em_dlb = lab;
p->em_off = off;
}
void EM_mksof(p, opcode, name, off)
register p_instr p;int opcode;char *name;
arith off;
{
p->em_type = EM_MNEM;
p->em_argtype = sof_ptyp;
p->em_opcode = opcode;
p->em_dnam = OO_freestr(name);
p->em_off = off;
}
void EM_mkcst(p, opcode, cst)
register p_instr p;int opcode;
arith cst;
{
p->em_type = EM_MNEM;
p->em_argtype = cst_ptyp;
p->em_opcode = opcode;
p->em_cst = cst;
}
void EM_mkpro(p, opcode, pnam)
register p_instr p;int opcode;char *pnam;
{
p->em_type = EM_MNEM;
p->em_argtype = pro_ptyp;
p->em_opcode = opcode;
p->em_pnam = OO_freestr(pnam);
}
void EM_mkdefilb(p, opcode, deflb)
register p_instr p;int opcode;label deflb;
{
p->em_type = EM_DEFILB;
p->em_opcode = opcode;
p->em_argtype = 0;
p->em_ilb = deflb;
}
void EM_Nop(opcode)
int opcode;
{
register p_instr p = GETNXTPATT();
p->em_type = EM_MNEM;
p->em_opcode = opcode;
p->em_argtype = 0;
}
void EM_Nnarg(opcode)
int opcode;
{
register p_instr p = GETNXTPATT();
p->em_type = EM_MNEM;
p->em_opcode = opcode;
p->em_argtype = 0;
p->em_cst = 0;
}
void EM_Nilb(opcode, lab)
int opcode;label lab;
{
register p_instr p = GETNXTPATT();
p->em_type = EM_MNEM;
p->em_argtype = ilb_ptyp;
p->em_opcode = opcode;
p->em_ilb = lab;
}
void EM_Nnof(opcode, lab, off)
int opcode;label lab;
arith off;
{
register p_instr p = GETNXTPATT();
p->em_type = EM_MNEM;
p->em_argtype = nof_ptyp;
p->em_opcode = opcode;
p->em_dlb = lab;
p->em_off = off;
}
void EM_Nsof(opcode, name, off)
int opcode;char *name;
arith off;
{
register p_instr p = GETNXTPATT();
p->em_type = EM_MNEM;
p->em_argtype = sof_ptyp;
p->em_opcode = opcode;
p->em_dnam = OO_freestr(name);
p->em_off = off;
}
void EM_Ncst(opcode, cst)
int opcode;
arith cst;
{
register p_instr p = GETNXTPATT();
p->em_type = EM_MNEM;
p->em_argtype = cst_ptyp;
p->em_opcode = opcode;
p->em_cst = cst;
}
void EM_Npro(opcode, pnam)
int opcode;char *pnam;
{
register p_instr p = GETNXTPATT();
p->em_type = EM_MNEM;
p->em_argtype = pro_ptyp;
p->em_opcode = opcode;
p->em_pnam = OO_freestr(pnam);
}
void EM_Ndefilb(opcode, deflb)
int opcode;label deflb;
{
register p_instr p = GETNXTPATT();
p->em_type = EM_DEFILB;
p->em_opcode = opcode;
p->em_argtype = 0;
p->em_ilb = deflb;
}
void EM_Rop(opcode)
int opcode;
{
register p_instr p = GETNXTREPL();
p->em_type = EM_MNEM;
p->em_opcode = opcode;
p->em_argtype = 0;
}
void EM_Rnarg(opcode)
int opcode;
{
register p_instr p = GETNXTREPL();
p->em_type = EM_MNEM;
p->em_opcode = opcode;
p->em_argtype = 0;
p->em_cst = 0;
}
void EM_Rilb(opcode, lab)
int opcode;label lab;
{
register p_instr p = GETNXTREPL();
p->em_type = EM_MNEM;
p->em_argtype = ilb_ptyp;
p->em_opcode = opcode;
p->em_ilb = lab;
}
void EM_Rnof(opcode, lab, off)
int opcode;label lab;
arith off;
{
register p_instr p = GETNXTREPL();
p->em_type = EM_MNEM;
p->em_argtype = nof_ptyp;
p->em_opcode = opcode;
p->em_dlb = lab;
p->em_off = off;
}
void EM_Rsof(opcode, name, off)
int opcode;char *name;
arith off;
{
register p_instr p = GETNXTREPL();
p->em_type = EM_MNEM;
p->em_argtype = sof_ptyp;
p->em_opcode = opcode;
p->em_dnam = OO_freestr(name);
p->em_off = off;
}
void EM_Rcst(opcode, cst)
int opcode;
arith cst;
{
register p_instr p = GETNXTREPL();
p->em_type = EM_MNEM;
p->em_argtype = cst_ptyp;
p->em_opcode = opcode;
p->em_cst = cst;
}
void EM_Rpro(opcode, pnam)
int opcode;char *pnam;
{
register p_instr p = GETNXTREPL();
p->em_type = EM_MNEM;
p->em_argtype = pro_ptyp;
p->em_opcode = opcode;
p->em_pnam = OO_freestr(pnam);
}
void EM_Rdefilb(opcode, deflb)
int opcode;label deflb;
{
register p_instr p = GETNXTREPL();
p->em_type = EM_DEFILB;
p->em_opcode = opcode;
p->em_argtype = 0;
p->em_ilb = deflb;
}