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);
\r
20 int EaRead(int a,int v,int ea,int size,int mask,int top=0);
\r
21 int EaCanRead(int ea,int size);
\r
22 int EaWrite(int a,int v,int ea,int size,int mask,int top=0);
\r
23 int EaCanWrite(int ea);
\r
27 extern int *CyJump; // Jump table
\r
28 extern int ms; // If non-zero, output in Microsoft ARMASM format
\r
29 extern char *Narm[4]; // Normal ARM Extensions for operand sizes 0,1,2
\r
30 extern char *Sarm[4]; // Sign-extend ARM Extensions for operand sizes 0,1,2
\r
31 extern int Cycles; // Current cycles for opcode
\r
32 extern int pc_dirty; // something changed PC during processing
\r
33 void ot(const char *format, ...);
\r
35 void CheckInterrupt(int op);
\r
36 int MemHandler(int type,int size,int addrreg=0);
\r
40 int OpGetFlags(int subtract,int xbit,int sprecialz=0);
\r
41 void OpUse(int op,int use);
\r
42 void OpStart(int op,int sea=0,int tea=0);
\r
43 void OpEnd(int sea=0,int tea=0);
\r
44 int OpBase(int op,int sepa=0);
\r
47 //----------------------
\r
49 int OpArith(int op);
\r
52 int OpArithReg(int op);
\r
56 int OpAritha(int op);
\r
58 int OpCmpEor(int op);
\r
61 int GetXBit(int subtract);
\r
65 void OpPushSr(int high);
\r
71 int OpBranch(int op);
\r
75 int OpBtstReg(int op);
\r
76 int OpBtstImm(int op);
\r
83 int OpAsrEa(int op);
\r
84 int OpTas(int op, int gen_special=0);
\r
89 void OpFlagsToReg(int high);
\r
90 void OpRegToFlags(int high);
\r
91 int OpMoveSr(int op);
\r
92 int OpArithSr(int op);
\r
94 int OpMovem(int op);
\r
95 int OpMoveq(int op);
\r
96 int OpMoveUsp(int op);
\r
98 int OpMovep(int op); // notaz
\r
99 int OpStopReset(int op);
\r
100 void SuperCheck(int op);
\r
101 void SuperEnd(int op);
\r
102 void SuperChange(int op);
\r