2 // This file is part of the Cyclone 68000 Emulator
\r
4 // This code is licensed under the GNU General Public License version 2.0 and the MAME License.
\r
5 // You can choose the license that has the most advantages for you.
\r
7 // SVN repository can be found at http://code.google.com/p/cyclone68000/
\r
15 #include "../Pico/Disa.h"
\r
18 int EaCalc(int a,int mask,int ea,int size);
\r
19 int EaRead(int a,int v,int ea,int size,int top=0);
\r
20 int EaCanRead(int ea,int size);
\r
21 int EaWrite(int a,int v,int ea,int size,int top=0);
\r
22 int EaCanWrite(int ea);
\r
25 extern int *CyJump; // Jump table
\r
26 extern int ms; // If non-zero, output in Microsoft ARMASM format
\r
27 extern char *Narm[4]; // Normal ARM Extensions for operand sizes 0,1,2
\r
28 extern char *Sarm[4]; // Sign-extend ARM Extensions for operand sizes 0,1,2
\r
29 extern int Cycles; // Current cycles for opcode
\r
30 extern int Amatch; // If one, try to match A68K timing
\r
31 extern int Accu; // Accuracy
\r
32 extern int Debug; // Debug info
\r
33 void ot(char *format, ...);
\r
35 void CheckInterrupt();
\r
36 int MemHandler(int type,int size);
\r
39 int OpGetFlags(int subtract,int xbit);
\r
40 void OpUse(int op,int use);
\r
42 void OpStart(int op);
\r
47 //----------------------
\r
49 int OpArith(int op);
\r
52 int OpArithReg(int op);
\r
55 int OpAritha(int op);
\r
57 int OpCmpEor(int op);
\r
61 void OpPushSr(int high);
\r
67 int OpBranch(int op);
\r
71 int OpBtstReg(int op);
\r
72 int OpBtstImm(int op);
\r
79 int OpAsrEa(int op);
\r
84 void OpFlagsToReg(int high);
\r
85 void OpRegToFlags(int high);
\r
86 int OpMoveSr(int op);
\r
87 int OpArithSr(int op);
\r
89 int OpMovem(int op);
\r
90 int OpMoveq(int op);
\r
91 int OpMoveUsp(int op);
\r