00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00055 #define DO_BEQ if(!state.r[REG_1]) \
00056 add_pc(DISP_21 * 4);
00057
00058 #define DO_BGE if((s64) state.r[REG_1] >= 0) \
00059 add_pc(DISP_21 * 4);
00060
00061 #define DO_BGT if((s64) state.r[REG_1] > 0) \
00062 add_pc(DISP_21 * 4);
00063
00064 #define DO_BLBC if(!(state.r[REG_1] & 1)) \
00065 add_pc(DISP_21 * 4);
00066
00067 #define DO_BLBS if(state.r[REG_1] & 1) \
00068 add_pc(DISP_21 * 4);
00069
00070 #define DO_BLE if((s64) state.r[REG_1] <= 0) \
00071 add_pc(DISP_21 * 4);
00072
00073 #define DO_BLT if((s64) state.r[REG_1] < 0) \
00074 add_pc(DISP_21 * 4);
00075
00076 #define DO_BNE if(state.r[REG_1]) \
00077 add_pc(DISP_21 * 4);
00078
00079 #define DO_BR \
00080 { \
00081 state.r[REG_1] = state.pc &~U64(0x3); \
00082 add_pc(DISP_21 * 4); \
00083 }
00084
00085 #define DO_BSR DO_BR
00086
00087 #define DO_JMP \
00088 { \
00089 temp_64 = state.r[REG_2] &~U64(0x3); \
00090 state.r[REG_1] = state.pc &~U64(0x3); \
00091 set_pc(temp_64 | (state.pc & 3)); \
00092 }
00093
00094