10 #include "Disa/Disa.h"
\r
13 extern int g_jmp_cycle_table[];
\r
14 extern int g_jsr_cycle_table[];
\r
15 extern int g_lea_cycle_table[];
\r
16 extern int g_pea_cycle_table[];
\r
17 extern int g_movem_cycle_table[];
\r
18 int Ea_add_ns(int *tab, int ea); // add nonstandard EA cycles
\r
19 int EaCalc(int a,int mask,int ea,int size,int top=0,int sign_extend=1); // 6
\r
20 int EaRead(int a,int v,int ea,int size,int mask,int top=0,int sign_extend=1); // 7
\r
21 int EaCalcRead(int r_ea,int r,int ea,int size,int mask,int sign_extend=1); // 6
\r
22 int EaCalcReadNoSE(int r_ea,int r,int ea,int size,int mask);
\r
23 int EaCanRead(int ea,int size);
\r
24 int EaWrite(int a,int v,int ea,int size,int mask,int top=0,int sign_extend_ea=1);
\r
25 int EaCanWrite(int ea);
\r
29 extern int *CyJump; // Jump table
\r
30 extern int ms; // If non-zero, output in Microsoft ARMASM format
\r
31 extern char *Narm[4]; // Normal ARM Extensions for operand sizes 0,1,2
\r
32 extern char *Sarm[4]; // Sign-extend ARM Extensions for operand sizes 0,1,2
\r
33 extern int Cycles; // Current cycles for opcode
\r
34 extern int pc_dirty; // something changed PC during processing
\r
35 void ot(const char *format, ...);
\r
37 void CheckInterrupt(int op);
\r
38 int MemHandler(int type,int size,int addrreg=0);
\r
43 int OpGetFlags(int subtract,int xbit,int sprecialz=0);
\r
44 void OpUse(int op,int use);
\r
45 void OpStart(int op,int sea=0,int tea=0);
\r
46 void OpEnd(int sea=0,int tea=0);
\r
47 int OpBase(int op,int size,int sepa=0);
\r
50 //----------------------
\r
52 int OpArith(int op);
\r
55 int OpArithReg(int op);
\r
59 int OpAritha(int op);
\r
61 int OpCmpEor(int op);
\r
64 int GetXBit(int subtract);
\r
68 void OpPushSr(int high);
\r
74 int OpBranch(int op);
\r
78 int OpBtstReg(int op);
\r
79 int OpBtstImm(int op);
\r
86 int OpAsrEa(int op);
\r
87 int OpTas(int op, int gen_special=0);
\r
92 void OpFlagsToReg(int high);
\r
93 void OpRegToFlags(int high);
\r
94 int OpMoveSr(int op);
\r
95 int OpArithSr(int op);
\r
97 int OpMovem(int op);
\r
98 int OpMoveq(int op);
\r
99 int OpMoveUsp(int op);
\r
101 int OpMovep(int op);
\r
102 int OpStopReset(int op);
\r
103 void SuperCheck(int op);
\r
104 void SuperEnd(void);
\r
105 void SuperChange(int op,int load_srh=1);
\r