/*++ Copyright (c) 1995 Microsoft Corporation Module Name: bytefns.c Abstract: Instuctions which operate on BYTES Author: 29-Jun-1995 BarryBo Revision History: --*/ #include #include #include #include #include #include "cpuassrt.h" #include "threadst.h" #include "instr.h" #include "decoderp.h" #include "bytefns.h" ASSERTNAME; // set up to include common functions #define MSB 0x80 #define MANGLENAME(x) x ## 8 #define MOD_RM mod_rm_reg8 #define UTYPE unsigned char #define STYPE signed char #define GET_VAL GET_BYTE #define PUT_VAL PUT_BYTE #define OPNAME(x) OP_ ## x ## 8 #define LOCKOPNAME(x) OP_SynchLock ## x ## 8 #define DISPATCHCOMMON(fn) DISPATCH(fn ## 8) #define CALLFRAGCOMMON0(fn) CALLFRAG0( fn ## 8 ) #define CALLFRAGCOMMON1(fn, pop1) CALLFRAG1( fn ## 8 , pop1) #define CALLFRAGCOMMON2(fn, pop1, op2) CALLFRAG2( fn ## 8 , pop1, op2) #define AREG GP_AL #define BREG GP_BL #define CREG GP_CL #define DREG GP_DL #define DEREF(Op) DEREF8(Op) // include the common functions #include "common.c" // create the mod_rm_reg8() decoder function #define MOD11_RM000 GP_AL #define MOD11_RM001 GP_CL #define MOD11_RM010 GP_DL #define MOD11_RM011 GP_BL #define MOD11_RM100 GP_AH #define MOD11_RM101 GP_CH #define MOD11_RM110 GP_DH #define MOD11_RM111 GP_BH #define REG000 GP_AL #define REG001 GP_CL #define REG010 GP_DL #define REG011 GP_BL #define REG100 GP_AH #define REG101 GP_CH #define REG110 GP_DH #define REG111 GP_BH #define MOD_RM_DECODER mod_rm_reg8 #include "modrm.c"