Author: greatlrd Date: Sun Jan 14 01:09:11 2007 New Revision: 25444
URL: http://svn.reactos.org/svn/reactos?rev=25444&view=rev Log: 1. fixing a layout bug 2. frist disambler output for public, the public version can now disambler ppc li rA,imm that all at moment
Modified: trunk/rosapps/devutils/cputointel/From/PPC/PPCopcode.c trunk/rosapps/devutils/cputointel/ImageLoader.c
Modified: trunk/rosapps/devutils/cputointel/From/PPC/PPCopcode.c URL: http://svn.reactos.org/svn/reactos/trunk/rosapps/devutils/cputointel/From/PP... ============================================================================== --- trunk/rosapps/devutils/cputointel/From/PPC/PPCopcode.c (original) +++ trunk/rosapps/devutils/cputointel/From/PPC/PPCopcode.c Sun Jan 14 01:09:11 2007 @@ -44,6 +44,8 @@ // li %r3, 0 : op 00 00 60 38 // li = ld // 0000 0000 0000 0000 0100 0000 0011 1000 + + CPU_INT PPC_Ld( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch, CPU_INT mode) @@ -54,13 +56,14 @@ CPU_UNINT opcode;
opcode = GetData32Le(cpu_buffer); - formA = (opcode & ConvertBitToByte(PPC_A)) >> 5; - formD = (opcode & ConvertBitToByte(PPC_D)) >> 10; - formDS = (opcode & ConvertBitToByte(PPC_ds)) >> 15; + formA = (opcode & ConvertBitToByte32(PPC_A)) >> 13; + formD = (opcode & ConvertBitToByte32(PPC_D)) >> 10; + formDS = (opcode & ConvertBitToByte32(PPC_ds)) >> 15;
if (mode==0) { - fprintf(out,"Line_0x%8x :\n",BaseAddress + cpu_pos); + fprintf(out,"Line_0x%08x:\n",BaseAddress + cpu_pos); + fprintf(out,"li %%r%d,%d\n",formA, formDS); }
printf(";not full implement \n");
Modified: trunk/rosapps/devutils/cputointel/ImageLoader.c URL: http://svn.reactos.org/svn/reactos/trunk/rosapps/devutils/cputointel/ImageLo... ============================================================================== --- trunk/rosapps/devutils/cputointel/ImageLoader.c (original) +++ trunk/rosapps/devutils/cputointel/ImageLoader.c Sun Jan 14 01:09:11 2007 @@ -113,6 +113,8 @@ { type=1; } + fclose(outfp); + return 0; }
if (type== 1) @@ -175,55 +177,55 @@ switch(NtHeader->OptionalHeader.Subsystem) { case IMAGE_SUBSYSTEM_EFI_APPLICATION: - fprintf(outfp,"; OS type : IMAGE_SUBSYSTEM_EFI_APPLICATION"); + fprintf(outfp,"; OS type : IMAGE_SUBSYSTEM_EFI_APPLICATION\n"); printf("This exe file is desgin run in EFI bios as applactions\n"); break; case IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER: - fprintf(outfp,"; OS type : IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER"); + fprintf(outfp,"; OS type : IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER\n"); printf("This exe file is desgin run in EFI bios as service driver\n"); break; case IMAGE_SUBSYSTEM_EFI_ROM: - fprintf(outfp,"; OS type : IMAGE_SUBSYSTEM_EFI_ROM"); + fprintf(outfp,"; OS type : IMAGE_SUBSYSTEM_EFI_ROM\n"); printf("This exe file is EFI ROM\n"); break; case IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER: - fprintf(outfp,"; OS type : IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER"); + fprintf(outfp,"; OS type : IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER\n"); printf("This exe file is desgin run in EFI bios as driver\n"); break; case IMAGE_SUBSYSTEM_NATIVE: - fprintf(outfp,"; OS type : IMAGE_SUBSYSTEM_NATIVE"); + fprintf(outfp,"; OS type : IMAGE_SUBSYSTEM_NATIVE\n"); printf("This exe file does not need any subsystem\n"); break; case IMAGE_SUBSYSTEM_NATIVE_WINDOWS: - fprintf(outfp,"; OS type : IMAGE_SUBSYSTEM_NATIVE_WINDOWS"); + fprintf(outfp,"; OS type : IMAGE_SUBSYSTEM_NATIVE_WINDOWS\n"); printf("This exe file is desgin run on Windows 9x as driver \n"); break; case IMAGE_SUBSYSTEM_OS2_CUI: - fprintf(outfp,"; OS type : IMAGE_SUBSYSTEM_OS2_CUI"); + fprintf(outfp,"; OS type : IMAGE_SUBSYSTEM_OS2_CUI\n"); printf("This exe file is desgin run on OS2 as CUI\n"); break; case IMAGE_SUBSYSTEM_POSIX_CUI: - fprintf(outfp,"; OS type : IMAGE_SUBSYSTEM_POSIX_CUI"); + fprintf(outfp,"; OS type : IMAGE_SUBSYSTEM_POSIX_CUI\n"); printf("This exe file is desgin run on POSIX as CUI\n"); break; case IMAGE_SUBSYSTEM_WINDOWS_CE_GUI: - fprintf(outfp,"; OS type : IMAGE_SUBSYSTEM_WINDOWS_CE_GUI"); + fprintf(outfp,"; OS type : IMAGE_SUBSYSTEM_WINDOWS_CE_GUI\n"); printf("This exe file is desgin run on Windows CE as GUI\n"); break; case IMAGE_SUBSYSTEM_WINDOWS_CUI: - fprintf(outfp,"; OS type : IMAGE_SUBSYSTEM_WINDOWS_CUI"); + fprintf(outfp,"; OS type : IMAGE_SUBSYSTEM_WINDOWS_CUI\n"); printf("This exe file is desgin run on Windows as CUI\n"); break; case IMAGE_SUBSYSTEM_WINDOWS_GUI: - fprintf(outfp,"; OS type : IMAGE_SUBSYSTEM_WINDOWS_GUI"); + fprintf(outfp,"; OS type : IMAGE_SUBSYSTEM_WINDOWS_GUI\n"); printf("This exe file is desgin run on Windows as GUI\n"); break; case IMAGE_SUBSYSTEM_XBOX: - fprintf(outfp,"; OS type : IMAGE_SUBSYSTEM_XBOX"); + fprintf(outfp,"; OS type : IMAGE_SUBSYSTEM_XBOX\n"); printf("This exe file is desgin run on X-Box\n"); break; default: - fprintf(outfp,"; OS type : Unknown"); + fprintf(outfp,"; OS type : Unknown\n"); printf("Unknown OS : SubID : %d\n",NtHeader->OptionalHeader.Subsystem); break; } @@ -283,82 +285,82 @@ COMMON _commvar 4; */
- fprintf(outfp,".SECTION .text"); + fprintf(outfp,".SECTION .text\n"); switch (NtHeader->FileHeader.Machine) { case IMAGE_FILE_MACHINE_ALPHA: printf("CPU ALPHA Detected no CPUBrain implement for it\n"); - fprintf(outfp,"; CPU found Alpha"); + fprintf(outfp,"; CPU found Alpha\n"); return 3;
case IMAGE_FILE_MACHINE_ALPHA64: printf("CPU ALPHA64/AXP64 Detected no CPUBrain implement for it\n"); - fprintf(outfp,"; CPU found Alpha64/AXP64"); + fprintf(outfp,"; CPU found Alpha64/AXP64\n"); return 3;
case IMAGE_FILE_MACHINE_AM33: printf("CPU AM33 Detected no CPUBrain implement for it\n"); - fprintf(outfp,"; CPU found AM33"); + fprintf(outfp,"; CPU found AM33\n"); return 3;
case IMAGE_FILE_MACHINE_AMD64: printf("CPU AMD64 Detected no CPUBrain implement for it\n"); - fprintf(outfp,"; CPU found AMD64"); + fprintf(outfp,"; CPU found AMD64\n"); return 3;
case IMAGE_FILE_MACHINE_ARM: printf("CPU ARM Detected no CPUBrain implement for it\n"); - fprintf(outfp,"; CPU found ARM"); + fprintf(outfp,"; CPU found ARM\n"); return 3;
case IMAGE_FILE_MACHINE_CEE: printf("CPU CEE Detected no CPUBrain implement for it\n"); - fprintf(outfp,"; CPU found CEE"); + fprintf(outfp,"; CPU found CEE\n"); return 3;
case IMAGE_FILE_MACHINE_CEF: printf("CPU CEF Detected no CPUBrain implement for it\n"); - fprintf(outfp,"; CPU found CEF"); + fprintf(outfp,"; CPU found CEF\n"); return 3;
case IMAGE_FILE_MACHINE_EBC: printf("CPU EBC Detected no CPUBrain implement for it\n"); - fprintf(outfp,"; CPU found EBC"); + fprintf(outfp,"; CPU found EBC\n"); return 3;
case IMAGE_FILE_MACHINE_I386: printf("CPU I386 Detected no CPUBrain implement for it\n"); - fprintf(outfp,"; CPU found I386"); + fprintf(outfp,"; CPU found I386\n"); return 3;
case IMAGE_FILE_MACHINE_IA64: printf("CPU IA64 Detected no CPUBrain implement for it\n"); - fprintf(outfp,"; CPU found IA64"); + fprintf(outfp,"; CPU found IA64\n"); return 3;
case IMAGE_FILE_MACHINE_M32R: printf("CPU M32R Detected no CPUBrain implement for it\n"); - fprintf(outfp,"; CPU found M32R"); + fprintf(outfp,"; CPU found M32R\n"); return 3;
case IMAGE_FILE_MACHINE_MIPS16: printf("CPU MIPS16 Detected no CPUBrain implement for it\n"); - fprintf(outfp,"; CPU found MIPS16"); + fprintf(outfp,"; CPU found MIPS16\n"); return 3;
case IMAGE_FILE_MACHINE_MIPSFPU: printf("CPU MIPSFPU Detected no CPUBrain implement for it\n"); - fprintf(outfp,"; CPU found MIPSFPU"); + fprintf(outfp,"; CPU found MIPSFPU\n"); return 3;
case IMAGE_FILE_MACHINE_MIPSFPU16: printf("CPU MIPSFPU16 Detected no CPUBrain implement for it\n"); - fprintf(outfp,"; CPU found MIPSFPU16"); + fprintf(outfp,"; CPU found MIPSFPU16\n"); return 3;
case IMAGE_FILE_MACHINE_POWERPC: printf("CPU POWERPC Detected partily CPUBrain implement for it\n"); - fprintf(outfp,"; CPU found POWERPC"); + fprintf(outfp,"; CPU found POWERPC\n"); //PPCBrain(memory, pos, cpu_size, base, 0, outfp); return PPCBrain(memory+SectionHeader->PointerToRawData, 0, SectionHeader->SizeOfRawData, 0, 0, outfp,mode);
@@ -366,62 +368,62 @@
case IMAGE_FILE_MACHINE_POWERPCFP: printf("CPU POWERPCFP Detected no CPUBrain implement for it\n"); - fprintf(outfp,"; CPU found POWERPCFP"); + fprintf(outfp,"; CPU found POWERPCFP\n"); return 3;
case IMAGE_FILE_MACHINE_R10000: printf("CPU R10000 Detected no CPUBrain implement for it\n"); - fprintf(outfp,"; CPU found R10000"); + fprintf(outfp,"; CPU found R10000\n"); return 3;
case IMAGE_FILE_MACHINE_R3000: printf("CPU R3000 Detected no CPUBrain implement for it\n"); - fprintf(outfp,"; CPU found R3000"); + fprintf(outfp,"; CPU found R3000\n"); return 3;
case IMAGE_FILE_MACHINE_R4000: printf("CPU R4000 Detected no CPUBrain implement for it\n"); - fprintf(outfp,"; CPU found R4000"); + fprintf(outfp,"; CPU found R4000\n"); return 3;
case IMAGE_FILE_MACHINE_SH3: printf("CPU SH3 Detected no CPUBrain implement for it\n"); - fprintf(outfp,"; CPU found SH3"); + fprintf(outfp,"; CPU found SH3\n"); return 3;
case IMAGE_FILE_MACHINE_SH3DSP: printf("CPU SH3DSP Detected no CPUBrain implement for it\n"); - fprintf(outfp,"; CPU found SH3DSP"); + fprintf(outfp,"; CPU found SH3DSP\n"); return 3;
case IMAGE_FILE_MACHINE_SH3E: printf("CPU SH3E Detected no CPUBrain implement for it\n"); - fprintf(outfp,"; CPU found SH3E"); + fprintf(outfp,"; CPU found SH3E\n"); return 3;
case IMAGE_FILE_MACHINE_SH4: printf("CPU SH4 Detected no CPUBrain implement for it\n"); - fprintf(outfp,"; CPU found SH4"); + fprintf(outfp,"; CPU found SH4\n"); return 3;
case IMAGE_FILE_MACHINE_SH5: printf("CPU SH5 Detected no CPUBrain implement for it\n"); - fprintf(outfp,"; CPU found SH5"); + fprintf(outfp,"; CPU found SH5\n"); return 3;
case IMAGE_FILE_MACHINE_THUMB: printf("CPU THUMB Detected no CPUBrain implement for it\n"); - fprintf(outfp,"; CPU found THUMB"); + fprintf(outfp,"; CPU found THUMB\n"); return 3;
case IMAGE_FILE_MACHINE_TRICORE: printf("CPU TRICORE Detected no CPUBrain implement for it\n"); - fprintf(outfp,"; CPU found TRICORE"); + fprintf(outfp,"; CPU found TRICORE\n"); return 3;
case IMAGE_FILE_MACHINE_WCEMIPSV2: printf("CPU WCEMIPSV2 Detected no CPUBrain implement for it\n"); - fprintf(outfp,"; CPU found WCEMIPSV2"); + fprintf(outfp,"; CPU found WCEMIPSV2\n"); return 3;
default: