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 void ot(const char *format, ...);
\r
34 void CheckInterrupt(int op);
\r
35 int MemHandler(int type,int size);
\r
38 int OpGetFlags(int subtract,int xbit,int sprecialz=0);
\r
39 void OpUse(int op,int use);
\r
40 void OpStart(int op);
\r
42 int OpBase(int op,int sepa=0);
\r
45 //----------------------
\r
47 int OpArith(int op);
\r
50 int OpArithReg(int op);
\r
54 int OpAritha(int op);
\r
56 int OpCmpEor(int op);
\r
59 int GetXBit(int subtract);
\r
63 void OpPushSr(int high);
\r
69 int OpBranch(int op);
\r
73 int OpBtstReg(int op);
\r
74 int OpBtstImm(int op);
\r
81 int OpAsrEa(int op);
\r
87 void OpFlagsToReg(int high);
\r
88 void OpRegToFlags(int high);
\r
89 int OpMoveSr(int op);
\r
90 int OpArithSr(int op);
\r
92 int OpMovem(int op);
\r
93 int OpMoveq(int op);
\r
94 int OpMoveUsp(int op);
\r
96 int OpMovep(int op); // notaz
\r
97 int OpStopReset(int op);
\r
98 void SuperCheck(int op);
\r
99 void SuperEnd(int op);
\r
100 void SuperChange(int op);
\r