00001 #ifndef lestes__md__instructions__instruction_group_mdg_hh__included
00002 #define lestes__md__instructions__instruction_group_mdg_hh__included
00003
00004
00005
00006
00007
00008
00009
00010 #include <lestes/md/common.hh>
00011 #include <lestes/std/objectize_macros.hh>
00012
00013 package(lestes);
00014 package(md);
00015 package(instructions);
00016
00017
00018
00019
00020
00021
00022
00023
00024 enum instruction_template_operand_pid_type {
00025 PIN_1,
00026 PIN_2,
00027 PIN_3,
00028 PIN_4,
00029 POUT_1,
00030 POUT_2,
00031 POUT_3,
00032 POUT_4,
00033 ADD_O_2,
00034 SUB_O_2,
00035 MUL_O_2,
00036 MUL_O_3,
00037 CBW_O_1,
00038 DIV_O_2,
00039 DIV_O_3,
00040 CWD_O_1,
00041 CWD_O_2,
00042 NULL_O_1,
00043 DIV_O_1,
00044 NEG_O_2,
00045 CVT_O_1,
00046 SHL_O_2,
00047 SHR_O_2,
00048 SAL_O_2,
00049 SAR_O_2,
00050 AND_O_2,
00051 OR_O_2,
00052 XOR_O_2,
00053 CMP_O_1,
00054 AND_O_1,
00055 LAHF_O_1,
00056 MOV_O_1,
00057 IROPT_TERMINATOR
00058 };
00059
00060
00061 end_package(instructions);
00062 end_package(md);
00063
00064 package(std);
00065
00066 specialize_objectize_for_enum( ::lestes::md::instructions::instruction_template_operand_pid_type );
00067
00068 end_package(std);
00069 end_package(lestes);
00070
00071 #endif