quick_pc_to_pointers.h Source File

Back to the index.

quick_pc_to_pointers.h
Go to the documentation of this file.
1 #ifdef quick_pc_to_pointers
2 #undef quick_pc_to_pointers
3 #endif
4 
5 #ifdef MODE32
6 #define quick_pc_to_pointers(cpu) { \
7  uint32_t pc_tmp32 = cpu->pc; \
8  struct DYNTRANS_TC_PHYSPAGE *ppp_tmp; \
9  ppp_tmp = cpu->cd.DYNTRANS_ARCH.phys_page[pc_tmp32 >> 12]; \
10  if (ppp_tmp != NULL) { \
11  cpu->cd.DYNTRANS_ARCH.cur_ic_page = &ppp_tmp->ics[0]; \
12  cpu->cd.DYNTRANS_ARCH.next_ic = \
13  cpu->cd.DYNTRANS_ARCH.cur_ic_page + \
14  DYNTRANS_PC_TO_IC_ENTRY(pc_tmp32); \
15  } else \
16  DYNTRANS_PC_TO_POINTERS(cpu); \
17 }
18 
19 #ifndef quick_pc_to_pointers_arm
20 #define quick_pc_to_pointers_arm(cpu) { \
21  if (cpu->cd.arm.cpsr & ARM_FLAG_T) { \
22  cpu->cd.arm.next_ic = &nothing_call; \
23  } else \
24  quick_pc_to_pointers(cpu); \
25 }
26 #endif
27 
28 #else
29 #define quick_pc_to_pointers(cpu) DYNTRANS_PC_TO_POINTERS(cpu)
30 #endif
31 
32 

Generated on Tue Mar 24 2020 14:04:48 for GXemul by doxygen 1.8.17