mirror of
https://github.com/reactos/reactos.git
synced 2024-10-15 05:37:44 +00:00
d1aa0d32ae
Remove the old disambler list from ppc to ppc implement new ppc to ppc disambler that are allot better at end. svn path=/trunk/; revision=25498
85 lines
2.1 KiB
C
85 lines
2.1 KiB
C
#include <windows.h>
|
|
#include <winnt.h>
|
|
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
#include "misc.h"
|
|
#include "any_op.h"
|
|
|
|
/* hack should be in misc.h*/
|
|
|
|
|
|
CPU_INT ConvertProcess(FILE *outfp, CPU_INT FromCpuid, CPU_INT ToCpuid)
|
|
{
|
|
CPU_INT ret=0;
|
|
CPU_INT eax =-1;
|
|
CPU_INT ebp =-1;
|
|
CPU_INT edx =-1;
|
|
CPU_INT esp =-1;
|
|
CPU_INT regbits=-1;
|
|
CPU_INT HowManyRegInUse = 0;
|
|
|
|
PMYBrainAnalys pMystart = pStartMyBrainAnalys;
|
|
PMYBrainAnalys pMyend = pMyBrainAnalys;
|
|
|
|
if (FromCpuid == IMAGE_FILE_MACHINE_POWERPC)
|
|
{
|
|
regbits = 32 / 8;
|
|
esp = 1;
|
|
eax = 3;
|
|
edx = 4;
|
|
ebp = 31;
|
|
}
|
|
|
|
|
|
/* FIXME calc where todo first split */
|
|
|
|
/* FIXME calc who many register are in use */
|
|
|
|
//ret = ConvertToIntelProcess(FILE *outfp,
|
|
// CPU_INT eax,
|
|
// CPU_INT edx,
|
|
// CPU_INT edx,
|
|
// CPU_INT esp,
|
|
// PMYBrainAnalys start,
|
|
// PMYBrainAnalys end);
|
|
|
|
|
|
|
|
switch (ToCpuid)
|
|
{
|
|
case IMAGE_FILE_MACHINE_I386:
|
|
ret = ConvertToIA32Process( outfp, eax, ebp,
|
|
edx, esp,
|
|
pMystart,
|
|
pMyend, regbits,
|
|
HowManyRegInUse);
|
|
if (ret !=0)
|
|
{
|
|
printf("should not happen contact a devloper, x86 fail\n");
|
|
return -1;
|
|
}
|
|
break;
|
|
|
|
case IMAGE_FILE_MACHINE_POWERPC:
|
|
ret = ConvertToPPCProcess( outfp, eax, ebp,
|
|
edx, esp,
|
|
pMystart,
|
|
pMyend, regbits,
|
|
HowManyRegInUse);
|
|
if (ret !=0)
|
|
{
|
|
printf("should not happen contact a devloper, x86 fail\n");
|
|
return -1;
|
|
}
|
|
break;
|
|
|
|
default:
|
|
printf("should not happen contact a devloper, unknown fail\n");
|
|
return -1;
|
|
}
|
|
|
|
return ret;
|
|
}
|