mirror of
https://github.com/reactos/reactos.git
synced 2025-07-28 18:11:47 +00:00
adding option for disambler mode, disambler mode does not translate a binary file. it doing a disambler of the file
svn path=/trunk/; revision=25438
This commit is contained in:
parent
b339ec7ea9
commit
9b4a7b1fc5
15 changed files with 253 additions and 108 deletions
|
@ -13,6 +13,7 @@ int main(int argc, char * argv[])
|
|||
char *outfile=NULL;
|
||||
char *cpuid=NULL;
|
||||
CPU_INT type=0;
|
||||
CPU_INT mode = 1;
|
||||
|
||||
|
||||
printf("Usage :\n");
|
||||
|
@ -35,6 +36,7 @@ int main(int argc, char * argv[])
|
|||
printf(" -inBin filename : the bin file you whant convert\n");
|
||||
printf(" -inExe filename : the PE file you whant convert\n");
|
||||
printf(" -OutAsm filename : the Asm file you whant create\n");
|
||||
printf(" -OutDis filename : Do disambler of the source file\n");
|
||||
printf("------------------------------------------------------------------\n");
|
||||
printf("More cpu will be added with the time or options, this is \n");
|
||||
printf("version 0.0.1 of the cpu to intel converter writen by \n");
|
||||
|
@ -42,10 +44,12 @@ int main(int argc, char * argv[])
|
|||
printf("yet, more that basic desgin how it should be writen. \n");
|
||||
printf("Copyright 2006 by Magnus Olsen, licen under GPL 2.0 for now. \n");
|
||||
|
||||
if (argc < 7)
|
||||
return .110;
|
||||
|
||||
for (t=1; t<7;t+=2)
|
||||
if (argc <4)
|
||||
return 110;
|
||||
|
||||
/* fixme better error checking for the input param */
|
||||
for (t=1; t<argc;t+=2)
|
||||
{
|
||||
if (stricmp(argv[t],"-in"))
|
||||
{
|
||||
|
@ -69,6 +73,11 @@ int main(int argc, char * argv[])
|
|||
{
|
||||
outfile = argv[t+1];
|
||||
}
|
||||
if (stricmp(argv[t],"-OutDis"))
|
||||
{
|
||||
outfile = argv[t+1];
|
||||
mode = 0;
|
||||
}
|
||||
if (stricmp(argv[t],"-BaseAddress"))
|
||||
{
|
||||
BaseAddress = atol(argv[t+1]);
|
||||
|
@ -80,7 +89,8 @@ int main(int argc, char * argv[])
|
|||
|
||||
}
|
||||
|
||||
return LoadPFileImage(infile,outfile,BaseAddress,cpuid,type);
|
||||
|
||||
return LoadPFileImage(infile,outfile,BaseAddress,cpuid,type, mode);
|
||||
//return LoadPFileImage("e:\\cputointel.exe","e:\\cputointel.asm",0,0,0);
|
||||
|
||||
}
|
||||
|
|
|
@ -6,10 +6,11 @@ CPU_INT ARMBrain( CPU_BYTE *cpu_buffer,
|
|||
CPU_UNINT cpu_size,
|
||||
CPU_UNINT BaseAddress,
|
||||
CPU_UNINT cpuarch,
|
||||
FILE *outfp);
|
||||
FILE *outfp,
|
||||
CPU_INT mode);
|
||||
|
||||
/* here we put the prototype for the opcode api that brain need we show a example for it */
|
||||
CPU_INT ARM_(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch);
|
||||
CPU_INT ARM_(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch, CPU_INT mode);
|
||||
|
||||
|
||||
/* Export comment thing see m68k for example
|
||||
|
|
|
@ -5,7 +5,33 @@
|
|||
#include "ARM.h"
|
||||
#include "../../misc.h"
|
||||
|
||||
/* retun
|
||||
/*
|
||||
* DummyBrain is example how you create you own cpu brain to translate from
|
||||
* cpu to intel assembler, I have not add DummyBrain to the loader it is not
|
||||
* need it in our example. When you write you own brain, it must be setup in
|
||||
* misc.c function LoadPFileImage and PEFileStart, PEFileStart maybe does not
|
||||
* need the brain you have writen so you do not need setup it there then.
|
||||
*
|
||||
* input param:
|
||||
* cpu_buffer : the memory buffer with loaded program we whant translate
|
||||
* cpu_pos : the positions in the cpu_buffer
|
||||
* cpu_size : the alloced memory size of the cpu_buffer
|
||||
* BaseAddress : the virtual memory address we setup to use.
|
||||
* cpuarch : the sub arch for the brain, example if it exists more one
|
||||
* cpu with same desgin but few other opcode or extend opcode
|
||||
* outfp : the output file pointer
|
||||
*
|
||||
* mode : if we should run disambler of this binary or
|
||||
* translate it, Disambler will not calc the
|
||||
* the row name right so we simple give each
|
||||
row a name. In translations mode we run a
|
||||
* analys so we getting better optimzing and
|
||||
* only row name there we need.
|
||||
* value for mode are :
|
||||
* 0 = disambler mode
|
||||
* 1 = translate mode intel
|
||||
*
|
||||
* return value
|
||||
* 0 : Ok
|
||||
* 1 : unimplemt
|
||||
* 2 : Unkonwn Opcode
|
||||
|
@ -18,7 +44,8 @@ CPU_INT ARMBrain( CPU_BYTE *cpu_buffer,
|
|||
CPU_UNINT cpu_size,
|
||||
CPU_UNINT BaseAddress,
|
||||
CPU_UNINT cpuarch,
|
||||
FILE *outfp)
|
||||
FILE *outfp,
|
||||
CPU_INT mode)
|
||||
{
|
||||
CPU_UNINT cpu_oldpos;
|
||||
CPU_INT cpuint;
|
||||
|
@ -37,7 +64,7 @@ CPU_INT ARMBrain( CPU_BYTE *cpu_buffer,
|
|||
if ((cpuint - (cpuint & GetMaskByte32(cpuARMInit_))) == ConvertBitToByte32(cpuARMInit_))
|
||||
{
|
||||
retsize = ARM_( outfp, cpu_buffer, cpu_pos, cpu_size,
|
||||
BaseAddress, cpuarch);
|
||||
BaseAddress, cpuarch, mode);
|
||||
if (retsize<0)
|
||||
retcode = 1;
|
||||
else
|
||||
|
|
|
@ -15,6 +15,17 @@
|
|||
* pentinum-mmx so on, use this flag to specify which type
|
||||
* of cpu you whant or do not use it if it does not exists
|
||||
* other or any sub model.
|
||||
*
|
||||
* mode : if we should run disambler of this binary or
|
||||
* translate it, Disambler will not calc the
|
||||
* the row name right so we simple give each
|
||||
row a name. In translations mode we run a
|
||||
* analys so we getting better optimzing and
|
||||
* only row name there we need.
|
||||
* value for mode are :
|
||||
* 0 = disambler mode
|
||||
* 1 = translate mode intel
|
||||
|
||||
*
|
||||
* Return value :
|
||||
* value -1 : unimplement
|
||||
|
@ -23,7 +34,8 @@
|
|||
*/
|
||||
|
||||
CPU_INT ARM_( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch)
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch,
|
||||
CPU_INT mode)
|
||||
|
||||
{
|
||||
/*
|
||||
|
|
|
@ -6,11 +6,12 @@ CPU_INT PPCBrain( CPU_BYTE *cpu_buffer,
|
|||
CPU_UNINT cpu_size,
|
||||
CPU_UNINT BaseAddress,
|
||||
CPU_UNINT cpuarch,
|
||||
FILE *outfp);
|
||||
FILE *outfp,
|
||||
CPU_INT mode);
|
||||
|
||||
|
||||
/* here we put the prototype for the opcode api that brain need we show a example for it */
|
||||
CPU_INT PPC_Addx(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch);
|
||||
CPU_INT PPC_Addx(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch, CPU_INT mode);
|
||||
|
||||
|
||||
/* Export comment thing see m68k for example
|
||||
|
|
|
@ -21,6 +21,16 @@
|
|||
* cpu with same desgin but few other opcode or extend opcode
|
||||
* outfp : the output file pointer
|
||||
*
|
||||
* mode : if we should run disambler of this binary or
|
||||
* translate it, Disambler will not calc the
|
||||
* the row name right so we simple give each
|
||||
row a name. In translations mode we run a
|
||||
* analys so we getting better optimzing and
|
||||
* only row name there we need.
|
||||
* value for mode are :
|
||||
* 0 = disambler mode
|
||||
* 1 = translate mode intel
|
||||
*
|
||||
* return value
|
||||
* 0 : Ok
|
||||
* 1 : unimplemt
|
||||
|
@ -34,7 +44,8 @@ CPU_INT PPCBrain( CPU_BYTE *cpu_buffer,
|
|||
CPU_UNINT cpu_size,
|
||||
CPU_UNINT BaseAddress,
|
||||
CPU_UNINT cpuarch,
|
||||
FILE *outfp)
|
||||
FILE *outfp,
|
||||
CPU_INT mode)
|
||||
{
|
||||
CPU_UNINT cpu_oldpos;
|
||||
CPU_INT cpuint;
|
||||
|
@ -53,7 +64,7 @@ CPU_INT PPCBrain( CPU_BYTE *cpu_buffer,
|
|||
if ((cpuint - (cpuint & GetMaskByte32(cpuPPCInit_Addx))) == ConvertBitToByte32(cpuPPCInit_Addx))
|
||||
{
|
||||
retsize = PPC_Addx( outfp, cpu_buffer, cpu_pos, cpu_size,
|
||||
BaseAddress, cpuarch);
|
||||
BaseAddress, cpuarch, mode);
|
||||
if (retsize<0)
|
||||
retcode = 1;
|
||||
else
|
||||
|
|
|
@ -24,7 +24,8 @@
|
|||
*/
|
||||
|
||||
CPU_INT PPC_Addx( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch)
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch,
|
||||
CPU_INT mode)
|
||||
|
||||
{
|
||||
/*
|
||||
|
|
|
@ -6,10 +6,11 @@ CPU_INT DummyBrain( CPU_BYTE *cpu_buffer,
|
|||
CPU_UNINT cpu_size,
|
||||
CPU_UNINT BaseAddress,
|
||||
CPU_UNINT cpuarch,
|
||||
FILE *outfp);
|
||||
FILE *outfp,
|
||||
CPU_INT mode);
|
||||
|
||||
/* here we put the prototype for the opcode api that brain need we show a example for it */
|
||||
CPU_INT DUMMY_Add(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch);
|
||||
CPU_INT DUMMY_Add(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch, CPU_INT mode);
|
||||
|
||||
|
||||
/* Export comment thing see m68k for example
|
||||
|
|
|
@ -23,6 +23,16 @@
|
|||
* cpu with same desgin but few other opcode or extend opcode
|
||||
* outfp : the output file pointer
|
||||
*
|
||||
* mode : if we should run disambler of this binary or
|
||||
* translate it, Disambler will not calc the
|
||||
* the row name right so we simple give each
|
||||
row a name. In translations mode we run a
|
||||
* analys so we getting better optimzing and
|
||||
* only row name there we need.
|
||||
* value for mode are :
|
||||
* 0 = disambler mode
|
||||
* 1 = translate mode intel
|
||||
*
|
||||
* return value
|
||||
* 0 : Ok
|
||||
* 1 : unimplemt
|
||||
|
@ -36,7 +46,8 @@ CPU_INT DummyBrain( CPU_BYTE *cpu_buffer,
|
|||
CPU_UNINT cpu_size,
|
||||
CPU_UNINT BaseAddress,
|
||||
CPU_UNINT cpuarch,
|
||||
FILE *outfp)
|
||||
FILE *outfp,
|
||||
CPU_INT mode)
|
||||
{
|
||||
CPU_UNINT cpu_oldpos;
|
||||
CPU_INT cpuint;
|
||||
|
@ -54,7 +65,7 @@ CPU_INT DummyBrain( CPU_BYTE *cpu_buffer,
|
|||
if ((cpuint - (cpuint & GetMaskByte(cpuDummyInit_Add))) == ConvertBitToByte(cpuDummyInit_Add))
|
||||
{
|
||||
retsize = DUMMY_Add( outfp, cpu_buffer, cpu_pos, cpu_size,
|
||||
BaseAddress, cpuarch);
|
||||
BaseAddress, cpuarch, mode);
|
||||
if (retsize<0)
|
||||
retcode = 1;
|
||||
else
|
||||
|
|
|
@ -17,6 +17,16 @@
|
|||
* of cpu you whant or do not use it if it does not exists
|
||||
* other or any sub model.
|
||||
*
|
||||
* mode : if we should run disambler of this binary or
|
||||
* translate it, Disambler will not calc the
|
||||
* the row name right so we simple give each
|
||||
row a name. In translations mode we run a
|
||||
* analys so we getting better optimzing and
|
||||
* only row name there we need.
|
||||
* value for mode are :
|
||||
* 0 = disambler mode
|
||||
* 1 = translate mode intel
|
||||
*
|
||||
* Return value :
|
||||
* value -1 : unimplement
|
||||
* value 0 : wrong opcode or not vaild opcode
|
||||
|
@ -24,7 +34,8 @@
|
|||
*/
|
||||
|
||||
CPU_INT DUMMY_Add( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch)
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch,
|
||||
CPU_INT mode)
|
||||
|
||||
{
|
||||
/*
|
||||
|
|
|
@ -5,7 +5,33 @@
|
|||
#include "m68k.h"
|
||||
#include "../../misc.h"
|
||||
|
||||
/* retun
|
||||
/*
|
||||
* DummyBrain is example how you create you own cpu brain to translate from
|
||||
* cpu to intel assembler, I have not add DummyBrain to the loader it is not
|
||||
* need it in our example. When you write you own brain, it must be setup in
|
||||
* misc.c function LoadPFileImage and PEFileStart, PEFileStart maybe does not
|
||||
* need the brain you have writen so you do not need setup it there then.
|
||||
*
|
||||
* input param:
|
||||
* cpu_buffer : the memory buffer with loaded program we whant translate
|
||||
* cpu_pos : the positions in the cpu_buffer
|
||||
* cpu_size : the alloced memory size of the cpu_buffer
|
||||
* BaseAddress : the virtual memory address we setup to use.
|
||||
* cpuarch : the sub arch for the brain, example if it exists more one
|
||||
* cpu with same desgin but few other opcode or extend opcode
|
||||
* outfp : the output file pointer
|
||||
*
|
||||
* mode : if we should run disambler of this binary or
|
||||
* translate it, Disambler will not calc the
|
||||
* the row name right so we simple give each
|
||||
row a name. In translations mode we run a
|
||||
* analys so we getting better optimzing and
|
||||
* only row name there we need.
|
||||
* value for mode are :
|
||||
* 0 = disambler mode
|
||||
* 1 = translate mode intel
|
||||
*
|
||||
* return value
|
||||
* 0 : Ok
|
||||
* 1 : unimplemt
|
||||
* 2 : Unkonwn Opcode
|
||||
|
@ -18,7 +44,8 @@ CPU_INT M68KBrain( CPU_BYTE *cpu_buffer,
|
|||
CPU_UNINT cpu_size,
|
||||
CPU_UNINT BaseAddress,
|
||||
CPU_UNINT cpuarch,
|
||||
FILE *outfp)
|
||||
FILE *outfp,
|
||||
CPU_INT mode)
|
||||
{
|
||||
CPU_UNINT cpu_oldpos;
|
||||
CPU_INT cpuint;
|
||||
|
@ -36,7 +63,7 @@ CPU_INT M68KBrain( CPU_BYTE *cpu_buffer,
|
|||
if ((cpuint - (cpuint & GetMaskByte(cpuM68kInit_Abcd))) == ConvertBitToByte(cpuM68kInit_Abcd))
|
||||
{
|
||||
retsize = M68k_Abcd( outfp, cpu_buffer, cpu_pos, cpu_size,
|
||||
BaseAddress, cpuarch);
|
||||
BaseAddress, cpuarch, mode);
|
||||
if (retsize<0)
|
||||
retcode = 1;
|
||||
else
|
||||
|
@ -46,7 +73,7 @@ CPU_INT M68KBrain( CPU_BYTE *cpu_buffer,
|
|||
if ((cpuint - (cpuint & GetMaskByte(cpuM68kInit_Add))) == ConvertBitToByte(cpuM68kInit_Add))
|
||||
{
|
||||
retsize = M68k_Add( outfp, cpu_buffer, cpu_pos, cpu_size,
|
||||
BaseAddress, cpuarch);
|
||||
BaseAddress, cpuarch, mode);
|
||||
if (retsize<0)
|
||||
retcode = 1;
|
||||
else
|
||||
|
@ -56,7 +83,7 @@ CPU_INT M68KBrain( CPU_BYTE *cpu_buffer,
|
|||
if ((cpuint - (cpuint & GetMaskByte(cpuM68kInit_Addi))) == ConvertBitToByte(cpuM68kInit_Addi))
|
||||
{
|
||||
retsize = M68k_Addi( outfp, cpu_buffer, cpu_pos, cpu_size,
|
||||
BaseAddress, cpuarch);
|
||||
BaseAddress, cpuarch, mode);
|
||||
if (retsize<0)
|
||||
retcode = 1;
|
||||
else
|
||||
|
@ -66,7 +93,7 @@ CPU_INT M68KBrain( CPU_BYTE *cpu_buffer,
|
|||
if ((cpuint - (cpuint & GetMaskByte(cpuM68kInit_Addq))) == ConvertBitToByte(cpuM68kInit_Addq))
|
||||
{
|
||||
retsize = M68k_Addq( outfp, cpu_buffer, cpu_pos, cpu_size,
|
||||
BaseAddress, cpuarch);
|
||||
BaseAddress, cpuarch, mode);
|
||||
if (retsize<0)
|
||||
retcode = 1;
|
||||
else
|
||||
|
@ -76,7 +103,7 @@ CPU_INT M68KBrain( CPU_BYTE *cpu_buffer,
|
|||
if ((cpuint - (cpuint & GetMaskByte(cpuM68kInit_Addx))) == ConvertBitToByte(cpuM68kInit_Addx))
|
||||
{
|
||||
retsize = M68k_Addx( outfp, cpu_buffer, cpu_pos, cpu_size,
|
||||
BaseAddress, cpuarch);
|
||||
BaseAddress, cpuarch, mode);
|
||||
if (retsize<0)
|
||||
retcode = 1;
|
||||
else
|
||||
|
@ -86,7 +113,7 @@ CPU_INT M68KBrain( CPU_BYTE *cpu_buffer,
|
|||
if ((cpuint - (cpuint & GetMaskByte(cpuM68kInit_And))) == ConvertBitToByte(cpuM68kInit_And))
|
||||
{
|
||||
retsize = M68k_Add( outfp, cpu_buffer, cpu_pos, cpu_size,
|
||||
BaseAddress, cpuarch);
|
||||
BaseAddress, cpuarch, mode);
|
||||
if (retsize<0)
|
||||
retcode = 1;
|
||||
else
|
||||
|
@ -96,7 +123,7 @@ CPU_INT M68KBrain( CPU_BYTE *cpu_buffer,
|
|||
if ((cpuint - (cpuint & GetMaskByte(cpuM68kInit_Andi))) == ConvertBitToByte(cpuM68kInit_Andi))
|
||||
{
|
||||
retsize = M68k_Andi( outfp, cpu_buffer, cpu_pos, cpu_size,
|
||||
BaseAddress, cpuarch);
|
||||
BaseAddress, cpuarch, mode);
|
||||
if (retsize<0)
|
||||
retcode = 1;
|
||||
else
|
||||
|
@ -110,7 +137,7 @@ CPU_INT M68KBrain( CPU_BYTE *cpu_buffer,
|
|||
{
|
||||
cpu_pos++;
|
||||
retsize = M68k_AndToCCR( outfp, cpu_buffer, cpu_pos, cpu_size,
|
||||
BaseAddress, cpuarch);
|
||||
BaseAddress, cpuarch, mode);
|
||||
if (retsize<0)
|
||||
retcode = 1;
|
||||
else
|
||||
|
@ -126,7 +153,7 @@ CPU_INT M68KBrain( CPU_BYTE *cpu_buffer,
|
|||
if ((cpuint - (cpuint & GetMaskByte(cpuM68kInit_Bhi))) == ConvertBitToByte(cpuM68kInit_Bhi))
|
||||
{
|
||||
retsize = M68k_Bhi( outfp, cpu_buffer, cpu_pos, cpu_size,
|
||||
BaseAddress, cpuarch);
|
||||
BaseAddress, cpuarch, mode);
|
||||
if (retsize<0)
|
||||
retcode = 1;
|
||||
else
|
||||
|
@ -137,7 +164,7 @@ CPU_INT M68KBrain( CPU_BYTE *cpu_buffer,
|
|||
if ((cpuint - (cpuint & GetMaskByte(cpuM68kInit_Bls))) == ConvertBitToByte(cpuM68kInit_Bls))
|
||||
{
|
||||
retsize = M68k_Bls( outfp, cpu_buffer, cpu_pos, cpu_size,
|
||||
BaseAddress, cpuarch);
|
||||
BaseAddress, cpuarch, mode);
|
||||
if (retsize<0)
|
||||
retcode = 1;
|
||||
else
|
||||
|
@ -148,7 +175,7 @@ CPU_INT M68KBrain( CPU_BYTE *cpu_buffer,
|
|||
if ((cpuint - (cpuint & GetMaskByte(cpuM68kInit_Bcc))) == ConvertBitToByte(cpuM68kInit_Bcc))
|
||||
{
|
||||
retsize = M68k_Bcc( outfp, cpu_buffer, cpu_pos, cpu_size,
|
||||
BaseAddress, cpuarch);
|
||||
BaseAddress, cpuarch, mode);
|
||||
if (retsize<0)
|
||||
retcode = 1;
|
||||
else
|
||||
|
@ -159,7 +186,7 @@ CPU_INT M68KBrain( CPU_BYTE *cpu_buffer,
|
|||
if ((cpuint - (cpuint & GetMaskByte(cpuM68kInit_Bcs))) == ConvertBitToByte(cpuM68kInit_Bcs))
|
||||
{
|
||||
retsize = M68k_Bcs( outfp, cpu_buffer, cpu_pos, cpu_size,
|
||||
BaseAddress, cpuarch);
|
||||
BaseAddress, cpuarch, mode);
|
||||
if (retsize<0)
|
||||
retcode = 1;
|
||||
else
|
||||
|
@ -170,7 +197,7 @@ CPU_INT M68KBrain( CPU_BYTE *cpu_buffer,
|
|||
if ((cpuint - (cpuint & GetMaskByte(cpuM68kInit_Bne))) == ConvertBitToByte(cpuM68kInit_Bne))
|
||||
{
|
||||
retsize = M68k_Bne( outfp, cpu_buffer, cpu_pos, cpu_size,
|
||||
BaseAddress, cpuarch);
|
||||
BaseAddress, cpuarch, mode);
|
||||
if (retsize<0)
|
||||
retcode = 1;
|
||||
else
|
||||
|
@ -181,7 +208,7 @@ CPU_INT M68KBrain( CPU_BYTE *cpu_buffer,
|
|||
if ((cpuint - (cpuint & GetMaskByte(cpuM68kInit_Beq))) == ConvertBitToByte(cpuM68kInit_Beq))
|
||||
{
|
||||
retsize = M68k_Beq( outfp, cpu_buffer, cpu_pos, cpu_size,
|
||||
BaseAddress, cpuarch);
|
||||
BaseAddress, cpuarch, mode);
|
||||
if (retsize<0)
|
||||
retcode = 1;
|
||||
else
|
||||
|
@ -192,7 +219,7 @@ CPU_INT M68KBrain( CPU_BYTE *cpu_buffer,
|
|||
if ((cpuint - (cpuint & GetMaskByte(cpuM68kInit_Bvc))) == ConvertBitToByte(cpuM68kInit_Bvc))
|
||||
{
|
||||
retsize = M68k_Bvc( outfp, cpu_buffer, cpu_pos, cpu_size,
|
||||
BaseAddress, cpuarch);
|
||||
BaseAddress, cpuarch, mode);
|
||||
if (retsize<0)
|
||||
retcode = 1;
|
||||
else
|
||||
|
@ -203,7 +230,7 @@ CPU_INT M68KBrain( CPU_BYTE *cpu_buffer,
|
|||
if ((cpuint - (cpuint & GetMaskByte(cpuM68kInit_Bvs))) == ConvertBitToByte(cpuM68kInit_Bvs))
|
||||
{
|
||||
retsize = M68k_Bvs( outfp, cpu_buffer, cpu_pos, cpu_size,
|
||||
BaseAddress, cpuarch);
|
||||
BaseAddress, cpuarch, mode);
|
||||
if (retsize<0)
|
||||
retcode = 1;
|
||||
else
|
||||
|
@ -214,7 +241,7 @@ CPU_INT M68KBrain( CPU_BYTE *cpu_buffer,
|
|||
if ((cpuint - (cpuint & GetMaskByte(cpuM68kInit_Bpl))) == ConvertBitToByte(cpuM68kInit_Bpl))
|
||||
{
|
||||
retsize = M68k_Bpl( outfp, cpu_buffer, cpu_pos, cpu_size,
|
||||
BaseAddress, cpuarch);
|
||||
BaseAddress, cpuarch, mode);
|
||||
if (retsize<0)
|
||||
retcode = 1;
|
||||
else
|
||||
|
@ -225,7 +252,7 @@ CPU_INT M68KBrain( CPU_BYTE *cpu_buffer,
|
|||
if ((cpuint - (cpuint & GetMaskByte(cpuM68kInit_Bmi))) == ConvertBitToByte(cpuM68kInit_Bmi))
|
||||
{
|
||||
retsize = M68k_Bmi( outfp, cpu_buffer, cpu_pos, cpu_size,
|
||||
BaseAddress, cpuarch);
|
||||
BaseAddress, cpuarch, mode);
|
||||
if (retsize<0)
|
||||
retcode = 1;
|
||||
else
|
||||
|
@ -236,7 +263,7 @@ CPU_INT M68KBrain( CPU_BYTE *cpu_buffer,
|
|||
if ((cpuint - (cpuint & GetMaskByte(cpuM68kInit_Bge))) == ConvertBitToByte(cpuM68kInit_Bge))
|
||||
{
|
||||
retsize = M68k_Bge( outfp, cpu_buffer, cpu_pos, cpu_size,
|
||||
BaseAddress, cpuarch);
|
||||
BaseAddress, cpuarch, mode);
|
||||
if (retsize<0)
|
||||
retcode = 1;
|
||||
else
|
||||
|
@ -247,7 +274,7 @@ CPU_INT M68KBrain( CPU_BYTE *cpu_buffer,
|
|||
if ((cpuint - (cpuint & GetMaskByte(cpuM68kInit_Blt))) == ConvertBitToByte(cpuM68kInit_Blt))
|
||||
{
|
||||
retsize = M68k_Blt( outfp, cpu_buffer, cpu_pos, cpu_size,
|
||||
BaseAddress, cpuarch);
|
||||
BaseAddress, cpuarch, mode);
|
||||
if (retsize<0)
|
||||
retcode = 1;
|
||||
else
|
||||
|
@ -258,7 +285,7 @@ CPU_INT M68KBrain( CPU_BYTE *cpu_buffer,
|
|||
if ((cpuint - (cpuint & GetMaskByte(cpuM68kInit_Bgt))) == ConvertBitToByte(cpuM68kInit_Bgt))
|
||||
{
|
||||
retsize = M68k_Bgt( outfp, cpu_buffer, cpu_pos, cpu_size,
|
||||
BaseAddress, cpuarch);
|
||||
BaseAddress, cpuarch, mode);
|
||||
if (retsize<0)
|
||||
retcode = 1;
|
||||
else
|
||||
|
@ -269,7 +296,7 @@ CPU_INT M68KBrain( CPU_BYTE *cpu_buffer,
|
|||
if ((cpuint - (cpuint & GetMaskByte(cpuM68kInit_Ble))) == ConvertBitToByte(cpuM68kInit_Ble))
|
||||
{
|
||||
retsize = M68k_Ble( outfp, cpu_buffer, cpu_pos, cpu_size,
|
||||
BaseAddress, cpuarch);
|
||||
BaseAddress, cpuarch, mode);
|
||||
if (retsize<0)
|
||||
retcode = 1;
|
||||
else
|
||||
|
|
|
@ -6,7 +6,8 @@
|
|||
|
||||
|
||||
CPU_INT M68k_Abcd( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch)
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch,
|
||||
CPU_INT mode)
|
||||
{
|
||||
fprintf(out,"Line_0x%8x :\n",BaseAddress + cpu_pos);
|
||||
|
||||
|
@ -15,7 +16,8 @@ CPU_INT M68k_Abcd( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
|||
}
|
||||
|
||||
CPU_INT M68k_Add(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch)
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch,
|
||||
CPU_INT dismode)
|
||||
{
|
||||
CPU_INT opmode;
|
||||
CPU_INT mode;
|
||||
|
@ -87,7 +89,8 @@ CPU_INT M68k_Add(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
|||
}
|
||||
|
||||
CPU_INT M68k_Addi( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch)
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch,
|
||||
CPU_INT mode)
|
||||
{
|
||||
fprintf(out,"Line_0x%8x :\n",BaseAddress + cpu_pos);
|
||||
|
||||
|
@ -96,7 +99,8 @@ CPU_INT M68k_Addi( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
|||
}
|
||||
|
||||
CPU_INT M68k_Addq( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch)
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch,
|
||||
CPU_INT mode)
|
||||
{
|
||||
fprintf(out,"Line_0x%8x :\n",BaseAddress + cpu_pos);
|
||||
|
||||
|
@ -105,7 +109,8 @@ CPU_INT M68k_Addq( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
|||
}
|
||||
|
||||
CPU_INT M68k_Addx( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch)
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch,
|
||||
CPU_INT mode)
|
||||
{
|
||||
fprintf(out,"Line_0x%8x :\n",BaseAddress + cpu_pos);
|
||||
|
||||
|
@ -114,7 +119,8 @@ CPU_INT M68k_Addx( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
|||
}
|
||||
|
||||
CPU_INT M68k_And( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch)
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch,
|
||||
CPU_INT mode)
|
||||
{
|
||||
fprintf(out,"Line_0x%8x :\n",BaseAddress + cpu_pos);
|
||||
|
||||
|
@ -123,7 +129,8 @@ CPU_INT M68k_And( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
|||
}
|
||||
|
||||
CPU_INT M68k_Andi( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch)
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch,
|
||||
CPU_INT mode)
|
||||
{
|
||||
fprintf(out,"Line_0x%8x :\n",BaseAddress + cpu_pos);
|
||||
|
||||
|
@ -132,7 +139,8 @@ CPU_INT M68k_Andi( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
|||
}
|
||||
|
||||
CPU_INT M68k_AndToCCR( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch)
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch,
|
||||
CPU_INT mode)
|
||||
{
|
||||
fprintf(out,"Line_0x%8x :\n",BaseAddress + cpu_pos);
|
||||
|
||||
|
@ -141,7 +149,8 @@ CPU_INT M68k_AndToCCR( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
|||
}
|
||||
|
||||
CPU_INT M68k_Asl( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch)
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch,
|
||||
CPU_INT mode)
|
||||
{
|
||||
fprintf(out,"Line_0x%8x :\n",BaseAddress + cpu_pos);
|
||||
|
||||
|
@ -150,7 +159,8 @@ CPU_INT M68k_Asl( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
|||
}
|
||||
|
||||
CPU_INT M68k_Asr( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch)
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch,
|
||||
CPU_INT mode)
|
||||
{
|
||||
fprintf(out,"Line_0x%8x :\n",BaseAddress + cpu_pos);
|
||||
|
||||
|
@ -159,7 +169,8 @@ CPU_INT M68k_Asr( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
|||
}
|
||||
|
||||
CPU_INT M68k_Bhi( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch)
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch,
|
||||
CPU_INT mode)
|
||||
{
|
||||
fprintf(out,"Line_0x%8x :\n",BaseAddress + cpu_pos);
|
||||
|
||||
|
@ -168,7 +179,8 @@ CPU_INT M68k_Bhi( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
|||
}
|
||||
|
||||
CPU_INT M68k_Bls( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch)
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch,
|
||||
CPU_INT mode)
|
||||
{
|
||||
fprintf(out,"Line_0x%8x :\n",BaseAddress + cpu_pos);
|
||||
|
||||
|
@ -177,7 +189,8 @@ CPU_INT M68k_Bls( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
|||
}
|
||||
|
||||
CPU_INT M68k_Bcc( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch)
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch,
|
||||
CPU_INT mode)
|
||||
{
|
||||
fprintf(out,"Line_0x%8x :\n",BaseAddress + cpu_pos);
|
||||
|
||||
|
@ -186,7 +199,8 @@ CPU_INT M68k_Bcc( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
|||
}
|
||||
|
||||
CPU_INT M68k_Bcs( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch)
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch,
|
||||
CPU_INT mode)
|
||||
{
|
||||
fprintf(out,"Line_0x%8x :\n",BaseAddress + cpu_pos);
|
||||
|
||||
|
@ -195,7 +209,8 @@ CPU_INT M68k_Bcs( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
|||
}
|
||||
|
||||
CPU_INT M68k_Bne( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch)
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch,
|
||||
CPU_INT mode)
|
||||
{
|
||||
fprintf(out,"Line_0x%8x :\n",BaseAddress + cpu_pos);
|
||||
|
||||
|
@ -204,7 +219,8 @@ CPU_INT M68k_Bne( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
|||
}
|
||||
|
||||
CPU_INT M68k_Beq( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch)
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch,
|
||||
CPU_INT mode)
|
||||
{
|
||||
fprintf(out,"Line_0x%8x :\n",BaseAddress + cpu_pos);
|
||||
|
||||
|
@ -213,7 +229,8 @@ CPU_INT M68k_Beq( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
|||
}
|
||||
|
||||
CPU_INT M68k_Bvc( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch)
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch,
|
||||
CPU_INT mode)
|
||||
{
|
||||
fprintf(out,"Line_0x%8x :\n",BaseAddress + cpu_pos);
|
||||
|
||||
|
@ -222,7 +239,8 @@ CPU_INT M68k_Bvc( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
|||
}
|
||||
|
||||
CPU_INT M68k_Bvs( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch)
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch,
|
||||
CPU_INT mode)
|
||||
{
|
||||
fprintf(out,"Line_0x%8x :\n",BaseAddress + cpu_pos);
|
||||
|
||||
|
@ -231,7 +249,8 @@ CPU_INT M68k_Bvs( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
|||
}
|
||||
|
||||
CPU_INT M68k_Bpl( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch)
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch,
|
||||
CPU_INT mode)
|
||||
{
|
||||
fprintf(out,"Line_0x%8x :\n",BaseAddress + cpu_pos);
|
||||
|
||||
|
@ -240,7 +259,8 @@ CPU_INT M68k_Bpl( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
|||
}
|
||||
|
||||
CPU_INT M68k_Bmi( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch)
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch,
|
||||
CPU_INT mode)
|
||||
{
|
||||
fprintf(out,"Line_0x%8x :\n",BaseAddress + cpu_pos);
|
||||
|
||||
|
@ -249,7 +269,8 @@ CPU_INT M68k_Bmi( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
|||
}
|
||||
|
||||
CPU_INT M68k_Bge( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch)
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch,
|
||||
CPU_INT mode)
|
||||
{
|
||||
fprintf(out,"Line_0x%8x :\n",BaseAddress + cpu_pos);
|
||||
|
||||
|
@ -258,7 +279,8 @@ CPU_INT M68k_Bge( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
|||
}
|
||||
|
||||
CPU_INT M68k_Blt( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch)
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch,
|
||||
CPU_INT mode)
|
||||
{
|
||||
fprintf(out,"Line_0x%8x :\n",BaseAddress + cpu_pos);
|
||||
|
||||
|
@ -267,7 +289,8 @@ CPU_INT M68k_Blt( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
|||
}
|
||||
|
||||
CPU_INT M68k_Bgt( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch)
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch,
|
||||
CPU_INT mode)
|
||||
{
|
||||
fprintf(out,"Line_0x%8x :\n",BaseAddress + cpu_pos);
|
||||
|
||||
|
@ -276,7 +299,8 @@ CPU_INT M68k_Bgt( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
|||
}
|
||||
|
||||
CPU_INT M68k_Ble( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch)
|
||||
CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch,
|
||||
CPU_INT mode)
|
||||
{
|
||||
fprintf(out,"Line_0x%8x :\n",BaseAddress + cpu_pos);
|
||||
|
||||
|
|
|
@ -5,33 +5,34 @@ CPU_INT M68KBrain( CPU_BYTE *cpu_buffer,
|
|||
CPU_UNINT cpu_size,
|
||||
CPU_UNINT BaseAddress,
|
||||
CPU_UNINT cpuarch,
|
||||
FILE *outfp);
|
||||
FILE *outfp,
|
||||
CPU_INT mode);
|
||||
|
||||
|
||||
CPU_INT M68k_Abcd(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch);
|
||||
CPU_INT M68k_Add(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch);
|
||||
CPU_INT M68k_Addi(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch);
|
||||
CPU_INT M68k_Addq(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch);
|
||||
CPU_INT M68k_Addx(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch);
|
||||
CPU_INT M68k_And(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch);
|
||||
CPU_INT M68k_Andi(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch);
|
||||
CPU_INT M68k_AndToCCR(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch);
|
||||
CPU_INT M68k_Asl(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch);
|
||||
CPU_INT M68k_Asr(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch);
|
||||
CPU_INT M68k_Bhi(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch);
|
||||
CPU_INT M68k_Bls(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch);
|
||||
CPU_INT M68k_Bcc(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch);
|
||||
CPU_INT M68k_Bcs(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch);
|
||||
CPU_INT M68k_Bne(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch);
|
||||
CPU_INT M68k_Beq(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch);
|
||||
CPU_INT M68k_Bvc(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch);
|
||||
CPU_INT M68k_Bvs(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch);
|
||||
CPU_INT M68k_Bpl(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch);
|
||||
CPU_INT M68k_Bmi(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch);
|
||||
CPU_INT M68k_Bge(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch);
|
||||
CPU_INT M68k_Blt(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch);
|
||||
CPU_INT M68k_Bgt(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch);
|
||||
CPU_INT M68k_Ble(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch);
|
||||
CPU_INT M68k_Abcd(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch, CPU_INT mode);
|
||||
CPU_INT M68k_Add(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch, CPU_INT mode);
|
||||
CPU_INT M68k_Addi(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch, CPU_INT mode);
|
||||
CPU_INT M68k_Addq(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch, CPU_INT mode);
|
||||
CPU_INT M68k_Addx(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch, CPU_INT mode);
|
||||
CPU_INT M68k_And(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch, CPU_INT mode);
|
||||
CPU_INT M68k_Andi(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch, CPU_INT mode);
|
||||
CPU_INT M68k_AndToCCR(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch, CPU_INT mode);
|
||||
CPU_INT M68k_Asl(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch, CPU_INT mode);
|
||||
CPU_INT M68k_Asr(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch, CPU_INT mode);
|
||||
CPU_INT M68k_Bhi(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch, CPU_INT mode);
|
||||
CPU_INT M68k_Bls(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch, CPU_INT mode);
|
||||
CPU_INT M68k_Bcc(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch, CPU_INT mode);
|
||||
CPU_INT M68k_Bcs(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch, CPU_INT mode);
|
||||
CPU_INT M68k_Bne(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch, CPU_INT mode);
|
||||
CPU_INT M68k_Beq(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch, CPU_INT mode);
|
||||
CPU_INT M68k_Bvc(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch, CPU_INT mode);
|
||||
CPU_INT M68k_Bvs(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch, CPU_INT mode);
|
||||
CPU_INT M68k_Bpl(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch, CPU_INT mode);
|
||||
CPU_INT M68k_Bmi(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch, CPU_INT mode);
|
||||
CPU_INT M68k_Bge(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch, CPU_INT mode);
|
||||
CPU_INT M68k_Blt(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch, CPU_INT mode);
|
||||
CPU_INT M68k_Bgt(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch, CPU_INT mode);
|
||||
CPU_INT M68k_Ble(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch, CPU_INT mode);
|
||||
|
||||
extern CPU_BYTE M68k_Rx[16];
|
||||
extern CPU_BYTE M68k_RM[16];
|
||||
|
|
|
@ -10,12 +10,19 @@
|
|||
#include "From/PPC/PPC.h"
|
||||
|
||||
/*
|
||||
* infileName file name to convert or disambler
|
||||
* outputfileName file name to save to
|
||||
* BaseAddress the address we should emulate
|
||||
* cpuid the cpu we choice not vaild for pe loader
|
||||
* type the loading mode Auto, PE, bin
|
||||
* mode disambler mode : 0 the arch cpu.
|
||||
* translate mode : 1 intel
|
||||
*
|
||||
*/
|
||||
|
||||
CPU_INT LoadPFileImage( char *infileName, char *outputfileName,
|
||||
CPU_UNINT BaseAddress, char *cpuid,
|
||||
CPU_UNINT type)
|
||||
CPU_UNINT type, CPU_INT mode)
|
||||
{
|
||||
FILE *infp;
|
||||
FILE *outfp;
|
||||
|
@ -102,7 +109,7 @@ CPU_INT LoadPFileImage( char *infileName, char *outputfileName,
|
|||
|
||||
if (type==0)
|
||||
{
|
||||
if ( PEFileStart(cpu_buffer, 0, BaseAddress, cpu_size, outfp) !=0)
|
||||
if ( PEFileStart(cpu_buffer, 0, BaseAddress, cpu_size, outfp, mode) !=0)
|
||||
{
|
||||
type=1;
|
||||
}
|
||||
|
@ -111,24 +118,24 @@ CPU_INT LoadPFileImage( char *infileName, char *outputfileName,
|
|||
if (type== 1)
|
||||
{
|
||||
if (stricmp(cpuid,"m68000"))
|
||||
return M68KBrain(cpu_buffer,cpu_pos,cpu_size,BaseAddress,68000,outfp);
|
||||
return M68KBrain(cpu_buffer,cpu_pos,cpu_size,BaseAddress,68000,outfp,mode);
|
||||
else if (stricmp(cpuid,"m68010"))
|
||||
return M68KBrain(cpu_buffer,cpu_pos,cpu_size,BaseAddress,68010,outfp);
|
||||
return M68KBrain(cpu_buffer,cpu_pos,cpu_size,BaseAddress,68010,outfp,mode);
|
||||
else if (stricmp(cpuid,"m68020"))
|
||||
return M68KBrain(cpu_buffer,cpu_pos,cpu_size,BaseAddress,68020,outfp);
|
||||
return M68KBrain(cpu_buffer,cpu_pos,cpu_size,BaseAddress,68020,outfp,mode);
|
||||
else if (stricmp(cpuid,"m68030"))
|
||||
return M68KBrain(cpu_buffer,cpu_pos,cpu_size,BaseAddress,68030,outfp);
|
||||
return M68KBrain(cpu_buffer,cpu_pos,cpu_size,BaseAddress,68030,outfp,mode);
|
||||
else if (stricmp(cpuid,"m68040"))
|
||||
return M68KBrain(cpu_buffer,cpu_pos,cpu_size,BaseAddress,68040,outfp);
|
||||
return M68KBrain(cpu_buffer,cpu_pos,cpu_size,BaseAddress,68040,outfp,mode);
|
||||
else if (stricmp(cpuid,"ppc"))
|
||||
return PPCBrain(cpu_buffer,cpu_pos,cpu_size,BaseAddress,0,outfp);
|
||||
return PPCBrain(cpu_buffer,cpu_pos,cpu_size,BaseAddress,0,outfp,mode);
|
||||
else if (stricmp(cpuid,"arm4"))
|
||||
return ARMBrain(cpu_buffer,cpu_pos,cpu_size,BaseAddress,4,outfp);
|
||||
return ARMBrain(cpu_buffer,cpu_pos,cpu_size,BaseAddress,4,outfp,mode);
|
||||
}
|
||||
|
||||
if (type==2)
|
||||
{
|
||||
return PEFileStart(cpu_buffer, 0, BaseAddress, cpu_size, outfp);
|
||||
return PEFileStart(cpu_buffer, 0, BaseAddress, cpu_size, outfp, mode);
|
||||
|
||||
}
|
||||
|
||||
|
@ -137,7 +144,7 @@ CPU_INT LoadPFileImage( char *infileName, char *outputfileName,
|
|||
|
||||
CPU_INT PEFileStart( CPU_BYTE *memory, CPU_UNINT pos,
|
||||
CPU_UNINT base, CPU_UNINT size,
|
||||
FILE *outfp)
|
||||
FILE *outfp, CPU_INT mode)
|
||||
{
|
||||
PIMAGE_DOS_HEADER DosHeader;
|
||||
PIMAGE_NT_HEADERS NtHeader;
|
||||
|
@ -329,7 +336,7 @@ CPU_INT PEFileStart( CPU_BYTE *memory, CPU_UNINT pos,
|
|||
case IMAGE_FILE_MACHINE_POWERPC:
|
||||
printf("CPU POWERPC Detected no CPUBrain implement for it\n");
|
||||
//PPCBrain(memory, pos, cpu_size, base, 0, outfp);
|
||||
return PPCBrain(memory+SectionHeader->PointerToRawData, 0, SectionHeader->SizeOfRawData, 0, 0, outfp);
|
||||
return PPCBrain(memory+SectionHeader->PointerToRawData, 0, SectionHeader->SizeOfRawData, 0, 0, outfp,mode);
|
||||
|
||||
return 3;
|
||||
|
||||
|
|
|
@ -11,8 +11,8 @@
|
|||
#define CPU_BYTE unsigned char
|
||||
|
||||
/* Prototypes for misc stuff */
|
||||
CPU_INT LoadPFileImage(char *infileName, char *outputfileName, CPU_UNINT BaseAddress, char *cpuid, CPU_UNINT type);
|
||||
CPU_INT PEFileStart( CPU_BYTE *memory, CPU_UNINT pos, CPU_UNINT base, CPU_UNINT size, FILE *outfp);
|
||||
CPU_INT LoadPFileImage(char *infileName, char *outputfileName, CPU_UNINT BaseAddress, char *cpuid, CPU_UNINT type, CPU_INT mode);
|
||||
CPU_INT PEFileStart( CPU_BYTE *memory, CPU_UNINT pos, CPU_UNINT base, CPU_UNINT size, FILE *outfp, CPU_INT mode);
|
||||
|
||||
CPU_UNINT ConvertBitToByte(CPU_BYTE *bit);
|
||||
CPU_UNINT GetMaskByte(CPU_BYTE *bit);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue