/* HEADER: ; TITLE: Frankenstein Cross Assemblers; VERSION: 2.0; DESCRIPTION: " Reconfigurable Cross-assembler producing Intel (TM) Hex format object records. "; FILENAME: fraebin.h; SEE-ALSO: frapsub.c, fraosub.c; AUTHORS: Mark Zenier; */ /* description switch case actions for binary operators for both the parse and output phase expression evaluators */ case IFC_MUL: etop *= (estkm1p--)->v; break; case IFC_DIV: etop = (estkm1p--)->v/etop; break; case IFC_ADD: etop += (estkm1p--)->v; break; case IFC_SUB: etop = (estkm1p--)->v - etop; break; case IFC_MOD: etop = (estkm1p--)->v % etop; break; case IFC_SHL: etop = (estkm1p--)->v << etop; break; case IFC_SHR: etop = (estkm1p--)->v >> etop; break; case IFC_AND: etop &= (estkm1p--)->v; break; case IFC_OR: etop |= (estkm1p--)->v; break; case IFC_XOR: etop ^= (estkm1p--)->v; break; case IFC_GT: etop = (estkm1p--)->v > etop ? 1 : 0; break; case IFC_GE: etop = (estkm1p--)->v >= etop ? 1 : 0; break; case IFC_LT: etop = (estkm1p--)->v < etop ? 1 : 0; break; case IFC_LE: etop = (estkm1p--)->v <= etop ? 1 : 0; break; case IFC_NE: etop = (estkm1p--)->v != etop ? 1 : 0; break; case IFC_EQ: etop = (estkm1p--)->v == etop ? 1 : 0; break;