From 9b4a7b1fc57eb03bc4aaf4b9e247d484ccf5fac5 Mon Sep 17 00:00:00 2001 From: Magnus Olsen Date: Sat, 13 Jan 2007 12:23:25 +0000 Subject: [PATCH] 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 --- rosapps/devutils/cputointel/CpuToIntel.c | 18 ++++- rosapps/devutils/cputointel/From/ARM/ARM.h | 5 +- .../devutils/cputointel/From/ARM/ARMBrain.c | 33 +++++++- .../devutils/cputointel/From/ARM/ARMopcode.c | 14 +++- rosapps/devutils/cputointel/From/PPC/PPC.h | 5 +- .../devutils/cputointel/From/PPC/PPCBrain.c | 15 +++- .../devutils/cputointel/From/PPC/PPCopcode.c | 3 +- .../devutils/cputointel/From/dummycpu/Dummy.h | 5 +- .../cputointel/From/dummycpu/DummyBrain.c | 15 +++- .../cputointel/From/dummycpu/Dummyopcode.c | 13 +++- .../devutils/cputointel/From/m68k/M68kBrain.c | 75 +++++++++++++------ .../cputointel/From/m68k/M68kopcode.c | 72 ++++++++++++------ rosapps/devutils/cputointel/From/m68k/m68k.h | 51 ++++++------- rosapps/devutils/cputointel/ImageLoader.c | 33 ++++---- rosapps/devutils/cputointel/misc.h | 4 +- 15 files changed, 253 insertions(+), 108 deletions(-) diff --git a/rosapps/devutils/cputointel/CpuToIntel.c b/rosapps/devutils/cputointel/CpuToIntel.c index 40dfd910533..579c6c9394f 100644 --- a/rosapps/devutils/cputointel/CpuToIntel.c +++ b/rosapps/devutils/cputointel/CpuToIntel.c @@ -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; tPointerToRawData, 0, SectionHeader->SizeOfRawData, 0, 0, outfp); + return PPCBrain(memory+SectionHeader->PointerToRawData, 0, SectionHeader->SizeOfRawData, 0, 0, outfp,mode); return 3; diff --git a/rosapps/devutils/cputointel/misc.h b/rosapps/devutils/cputointel/misc.h index 4a876bb38b4..b453af12319 100644 --- a/rosapps/devutils/cputointel/misc.h +++ b/rosapps/devutils/cputointel/misc.h @@ -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);