/* This file is in the public domain. */ #include #define NEED_EXTERN #include "instrtbl.h" #include "deftbl.h" #include "heapsort.h" static short int deftbl[65536]; static int idcmp(void *idvp1, void *idvp2) { return( (0xffff&(int)((INSTR_DEF *)idvp1)->value) - (0xffff&(int)((INSTR_DEF *)idvp2)->value) ); } void deftbl_init(void) { int i; void **idvp; INSTR_DEF *idarr; idvp = malloc(instr_def_n*sizeof(void *)); for (i=0;i 1) { m = (h + l) / 2; if (inst >= instr_defs[m].value) { l = m; } else { h = m; } } if ((inst & instr_defs[l].mask) != instr_defs[l].value) l = DEF_UNUSED; deftbl[inst] = l; return(l); }