initial import
[picodrive.git] / cpu / Cyclone / app.h
CommitLineData
cc68a136 1\r
2#include <stdio.h>\r
3#include <stdarg.h>\r
4#include <stdlib.h>\r
5#include <string.h>\r
6\r
7#include "config.h"\r
8\r
9// Disa.c\r
10#include "Disa/Disa.h"\r
11\r
12// Ea.cpp\r
13extern int g_jmp_cycle_table[];\r
14extern int g_jsr_cycle_table[];\r
15extern int g_lea_cycle_table[];\r
16extern int g_pea_cycle_table[];\r
17extern int g_movem_cycle_table[];\r
18int Ea_add_ns(int *tab, int ea); // add nonstandard EA cycles\r
19int EaCalc(int a,int mask,int ea,int size,int top=0);\r
20int EaRead(int a,int v,int ea,int size,int mask,int top=0);\r
21int EaCanRead(int ea,int size);\r
22int EaWrite(int a,int v,int ea,int size,int mask,int top=0);\r
23int EaCanWrite(int ea);\r
24int EaAn(int ea);\r
25\r
26// Main.cpp\r
27extern int *CyJump; // Jump table\r
28extern int ms; // If non-zero, output in Microsoft ARMASM format\r
29extern char *Narm[4]; // Normal ARM Extensions for operand sizes 0,1,2\r
30extern char *Sarm[4]; // Sign-extend ARM Extensions for operand sizes 0,1,2\r
31extern int Cycles; // Current cycles for opcode\r
32void ot(const char *format, ...);\r
33void ltorg();\r
34void CheckInterrupt(int op);\r
35int MemHandler(int type,int size);\r
36\r
37// OpAny.cpp\r
38int OpGetFlags(int subtract,int xbit,int sprecialz=0);\r
39void OpUse(int op,int use);\r
40void OpStart(int op);\r
41void OpEnd();\r
42int OpBase(int op,int sepa=0);\r
43void OpAny(int op);\r
44\r
45//----------------------\r
46// OpArith.cpp\r
47int OpArith(int op);\r
48int OpLea(int op);\r
49int OpAddq(int op);\r
50int OpArithReg(int op);\r
51int OpMul(int op);\r
52int OpAbcd(int op);\r
53int OpNbcd(int op);\r
54int OpAritha(int op);\r
55int OpAddx(int op);\r
56int OpCmpEor(int op);\r
57int OpCmpm(int op);\r
58int OpChk(int op);\r
59int GetXBit(int subtract);\r
60\r
61// OpBranch.cpp\r
62void OpPush32();\r
63void OpPushSr(int high);\r
64int OpTrap(int op);\r
65int OpLink(int op);\r
66int OpUnlk(int op);\r
67int Op4E70(int op);\r
68int OpJsr(int op);\r
69int OpBranch(int op);\r
70int OpDbra(int op);\r
71\r
72// OpLogic.cpp\r
73int OpBtstReg(int op);\r
74int OpBtstImm(int op);\r
75int OpNeg(int op);\r
76int OpSwap(int op);\r
77int OpTst(int op);\r
78int OpExt(int op);\r
79int OpSet(int op);\r
80int OpAsr(int op);\r
81int OpAsrEa(int op);\r
82int OpTas(int op);\r
83\r
84// OpMove.cpp\r
85int OpMove(int op);\r
86int OpLea(int op);\r
87void OpFlagsToReg(int high);\r
88void OpRegToFlags(int high);\r
89int OpMoveSr(int op);\r
90int OpArithSr(int op);\r
91int OpPea(int op);\r
92int OpMovem(int op);\r
93int OpMoveq(int op);\r
94int OpMoveUsp(int op);\r
95int OpExg(int op);\r
96int OpMovep(int op); // notaz\r
97int OpStopReset(int op);\r
98void SuperCheck(int op);\r
99void SuperEnd(int op);\r
100void SuperChange(int op);\r