Author: greatlrd
Date: Sat Jan 20 16:39:01 2007
New Revision: 25544
URL: http://svn.reactos.org/svn/reactos?rev=25544&view=rev
Log:
sorry ia32 should be own folder
Added:
trunk/rosapps/devutils/cputointel/From/IA32/
trunk/rosapps/devutils/cputointel/From/IA32/IA32.h (with props)
trunk/rosapps/devutils/cputointel/From/IA32/IA32Brain.c (with props)
trunk/rosapps/devutils/cputointel/From/IA32/IA32Brain.h (with props)
trunk/rosapps/devutils/cputointel/From/IA32/IA32opcode.c (with props)
Removed:
trunk/rosapps/devutils/cputointel/From/dummycpu/IA32.h
trunk/rosapps/devutils/cputointel/From/dummycpu/IA32Brain.c
trunk/rosapps/devutils/cputointel/From/dummycpu/IA32Brain.h
trunk/rosapps/devutils/cputointel/From/dummycpu/IA32opcode.c
Added: trunk/rosapps/devutils/cputointel/From/IA32/IA32.h
URL: http://svn.reactos.org/svn/reactos/trunk/rosapps/devutils/cputointel/From/I…
==============================================================================
--- trunk/rosapps/devutils/cputointel/From/IA32/IA32.h (added)
+++ trunk/rosapps/devutils/cputointel/From/IA32/IA32.h Sat Jan 20 16:39:01 2007
@@ -1,0 +1,17 @@
+
+#include "../../misc.h"
+
+CPU_INT IA32Brain( CPU_BYTE *cpu_buffer,
+ CPU_UNINT cpu_pos,
+ CPU_UNINT cpu_size,
+ CPU_UNINT BaseAddress,
+ CPU_UNINT cpuarch,
+ FILE *outfp);
+
+/* here we put the prototype for the opcode api that brain need we show a example for it */
+CPU_INT IA32_Add(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch);
+
+
+/* Export comment thing see m68k for example
+ * in dummy we do not show it, for it is diffent for each cpu
+ */
Propchange: trunk/rosapps/devutils/cputointel/From/IA32/IA32.h
------------------------------------------------------------------------------
svn:eol-style = native
Added: trunk/rosapps/devutils/cputointel/From/IA32/IA32Brain.c
URL: http://svn.reactos.org/svn/reactos/trunk/rosapps/devutils/cputointel/From/I…
==============================================================================
--- trunk/rosapps/devutils/cputointel/From/IA32/IA32Brain.c (added)
+++ trunk/rosapps/devutils/cputointel/From/IA32/IA32Brain.c Sat Jan 20 16:39:01 2007
@@ -1,0 +1,107 @@
+
+#include <stdio.h>
+#include <stdlib.h>
+#include "IA32Brain.h"
+#include "IA32.h"
+#include "../../any_op.h"
+#include "../../misc.h"
+
+
+
+
+/*
+ * 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
+ * 3 : unimplement cpu
+ * 4 : unknown machine
+ */
+
+CPU_INT IA32Brain( CPU_BYTE *cpu_buffer,
+ CPU_UNINT cpu_pos,
+ CPU_UNINT cpu_size,
+ CPU_UNINT BaseAddress,
+ CPU_UNINT cpuarch,
+ FILE *outfp)
+{
+ CPU_UNINT cpu_oldpos;
+ CPU_INT cpuint;
+ CPU_INT retcode = 0;
+ CPU_INT retsize;
+
+ /* now we start the process */
+ while (cpu_pos<cpu_size)
+ {
+ cpu_oldpos = cpu_pos;
+
+ /* use the GetData32Be or GetData32Le
+ to read from the memory the
+ Le is for small endian and the
+ Be is for big endian
+ the 32 is how many bits we should read
+ */
+ cpuint = GetData32Be(&cpu_buffer[cpu_pos]);
+
+ /* Add */
+ if ((cpuint - (cpuint & GetMaskByte(cpuIA32Init_Add))) == ConvertBitToByte(cpuIA32Init_Add))
+ {
+ retsize = IA32_Add( outfp, cpu_buffer, cpu_pos, cpu_size,
+ BaseAddress, cpuarch);
+ if (retsize<0)
+ retcode = 1;
+ else
+ cpu_pos += retsize;
+ }
+
+ /* Found all Opcode and breakout and return no error found */
+ if (cpu_pos >=cpu_size)
+ {
+ break;
+ }
+
+ /* Check if we have found a cpu opcode */
+ if (cpu_oldpos == cpu_pos)
+ {
+ if (retcode == 0)
+ {
+ /* no unimplement error where found so we return a msg for unknown opcode */
+ printf("Unkonwn Opcode found at 0x%8x opcode 0x%2x\n",cpu_oldpos+BaseAddress,(unsigned int)cpu_buffer[cpu_oldpos]);
+ retcode = 2;
+ }
+ }
+
+ /* Erorro Found ? */
+ if (retcode!=0)
+ {
+ /* Erorro Found break and return the error code */
+ break;
+ }
+ }
+ return retcode;
+}
Propchange: trunk/rosapps/devutils/cputointel/From/IA32/IA32Brain.c
------------------------------------------------------------------------------
svn:eol-style = native
Added: trunk/rosapps/devutils/cputointel/From/IA32/IA32Brain.h
URL: http://svn.reactos.org/svn/reactos/trunk/rosapps/devutils/cputointel/From/I…
==============================================================================
--- trunk/rosapps/devutils/cputointel/From/IA32/IA32Brain.h (added)
+++ trunk/rosapps/devutils/cputointel/From/IA32/IA32Brain.h Sat Jan 20 16:39:01 2007
@@ -1,0 +1,13 @@
+
+
+#include "../../misc.h"
+
+
+/* example how setup a opcode, this opcode is 16bit long (taken from M68K)
+ * 0 and 1 mean normal bit, 2 mean mask bit the bit that are determent diffent
+ * thing in the opcode, example which reg so on, it can be etither 0 or 1 in
+ * the opcode. but a opcode have also normal bit that is always been set to
+ * same. thuse bit are always 0 or 1
+ */
+CPU_BYTE cpuIA32Init_Add[16] = {1,1,0,1,2,2,2,2,2,2,2,2,2,2,2,2};
+
Propchange: trunk/rosapps/devutils/cputointel/From/IA32/IA32Brain.h
------------------------------------------------------------------------------
svn:eol-style = native
Added: trunk/rosapps/devutils/cputointel/From/IA32/IA32opcode.c
URL: http://svn.reactos.org/svn/reactos/trunk/rosapps/devutils/cputointel/From/I…
==============================================================================
--- trunk/rosapps/devutils/cputointel/From/IA32/IA32opcode.c (added)
+++ trunk/rosapps/devutils/cputointel/From/IA32/IA32opcode.c Sat Jan 20 16:39:01 2007
@@ -1,0 +1,50 @@
+
+#include <stdio.h>
+#include <stdlib.h>
+#include "IA32.h"
+#include "../../misc.h"
+
+
+/* cpuDummyInit_Add
+ * Input param :
+ * out : The file pointer that we write to (the output file to intel asm)
+ * cpu_buffer : The memory buffer we have our binary code that we whant convert
+ * cpu_pos : Current positions in the cpu_buffer
+ * cpu_size : The memory size of the cpu_buffer
+ * BaseAddress : The base address you whant the binay file should run from
+ * cpuarch : if it exists diffent cpu from a manufactor like pentium,
+ * 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
+ * value 0 : wrong opcode or not vaild opcode
+ * value +1 and higher : who many byte we should add to cpu_pos
+ */
+
+CPU_INT IA32_Add( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
+ CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch)
+
+{
+ /*
+ * ConvertBitToByte() is perfect to use to get the bit being in use from a bit array
+ * GetMaskByte() is perfect if u whant known which bit have been mask out
+ * see M68kopcode.c and how it use the ConvertBitToByte()
+ */
+
+ fprintf(out,"Line_0x%8x :\n",BaseAddress + cpu_pos);
+
+ printf(";Add unimplement\n");
+ return -1;
+}
Propchange: trunk/rosapps/devutils/cputointel/From/IA32/IA32opcode.c
------------------------------------------------------------------------------
svn:eol-style = native
Removed: trunk/rosapps/devutils/cputointel/From/dummycpu/IA32.h
URL: http://svn.reactos.org/svn/reactos/trunk/rosapps/devutils/cputointel/From/d…
==============================================================================
--- trunk/rosapps/devutils/cputointel/From/dummycpu/IA32.h (original)
+++ trunk/rosapps/devutils/cputointel/From/dummycpu/IA32.h (removed)
@@ -1,17 +1,0 @@
-
-#include "../../misc.h"
-
-CPU_INT IA32Brain( CPU_BYTE *cpu_buffer,
- CPU_UNINT cpu_pos,
- CPU_UNINT cpu_size,
- CPU_UNINT BaseAddress,
- CPU_UNINT cpuarch,
- FILE *outfp);
-
-/* here we put the prototype for the opcode api that brain need we show a example for it */
-CPU_INT IA32_Add(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch);
-
-
-/* Export comment thing see m68k for example
- * in dummy we do not show it, for it is diffent for each cpu
- */
Removed: trunk/rosapps/devutils/cputointel/From/dummycpu/IA32Brain.c
URL: http://svn.reactos.org/svn/reactos/trunk/rosapps/devutils/cputointel/From/d…
==============================================================================
--- trunk/rosapps/devutils/cputointel/From/dummycpu/IA32Brain.c (original)
+++ trunk/rosapps/devutils/cputointel/From/dummycpu/IA32Brain.c (removed)
@@ -1,107 +1,0 @@
-
-#include <stdio.h>
-#include <stdlib.h>
-#include "IA32Brain.h"
-#include "IA32.h"
-#include "../../any_op.h"
-#include "../../misc.h"
-
-
-
-
-/*
- * 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
- * 3 : unimplement cpu
- * 4 : unknown machine
- */
-
-CPU_INT IA32Brain( CPU_BYTE *cpu_buffer,
- CPU_UNINT cpu_pos,
- CPU_UNINT cpu_size,
- CPU_UNINT BaseAddress,
- CPU_UNINT cpuarch,
- FILE *outfp)
-{
- CPU_UNINT cpu_oldpos;
- CPU_INT cpuint;
- CPU_INT retcode = 0;
- CPU_INT retsize;
-
- /* now we start the process */
- while (cpu_pos<cpu_size)
- {
- cpu_oldpos = cpu_pos;
-
- /* use the GetData32Be or GetData32Le
- to read from the memory the
- Le is for small endian and the
- Be is for big endian
- the 32 is how many bits we should read
- */
- cpuint = GetData32Be(&cpu_buffer[cpu_pos]);
-
- /* Add */
- if ((cpuint - (cpuint & GetMaskByte(cpuIA32Init_Add))) == ConvertBitToByte(cpuIA32Init_Add))
- {
- retsize = IA32_Add( outfp, cpu_buffer, cpu_pos, cpu_size,
- BaseAddress, cpuarch);
- if (retsize<0)
- retcode = 1;
- else
- cpu_pos += retsize;
- }
-
- /* Found all Opcode and breakout and return no error found */
- if (cpu_pos >=cpu_size)
- {
- break;
- }
-
- /* Check if we have found a cpu opcode */
- if (cpu_oldpos == cpu_pos)
- {
- if (retcode == 0)
- {
- /* no unimplement error where found so we return a msg for unknown opcode */
- printf("Unkonwn Opcode found at 0x%8x opcode 0x%2x\n",cpu_oldpos+BaseAddress,(unsigned int)cpu_buffer[cpu_oldpos]);
- retcode = 2;
- }
- }
-
- /* Erorro Found ? */
- if (retcode!=0)
- {
- /* Erorro Found break and return the error code */
- break;
- }
- }
- return retcode;
-}
Removed: trunk/rosapps/devutils/cputointel/From/dummycpu/IA32Brain.h
URL: http://svn.reactos.org/svn/reactos/trunk/rosapps/devutils/cputointel/From/d…
==============================================================================
--- trunk/rosapps/devutils/cputointel/From/dummycpu/IA32Brain.h (original)
+++ trunk/rosapps/devutils/cputointel/From/dummycpu/IA32Brain.h (removed)
@@ -1,13 +1,0 @@
-
-
-#include "../../misc.h"
-
-
-/* example how setup a opcode, this opcode is 16bit long (taken from M68K)
- * 0 and 1 mean normal bit, 2 mean mask bit the bit that are determent diffent
- * thing in the opcode, example which reg so on, it can be etither 0 or 1 in
- * the opcode. but a opcode have also normal bit that is always been set to
- * same. thuse bit are always 0 or 1
- */
-CPU_BYTE cpuIA32Init_Add[16] = {1,1,0,1,2,2,2,2,2,2,2,2,2,2,2,2};
-
Removed: trunk/rosapps/devutils/cputointel/From/dummycpu/IA32opcode.c
URL: http://svn.reactos.org/svn/reactos/trunk/rosapps/devutils/cputointel/From/d…
==============================================================================
--- trunk/rosapps/devutils/cputointel/From/dummycpu/IA32opcode.c (original)
+++ trunk/rosapps/devutils/cputointel/From/dummycpu/IA32opcode.c (removed)
@@ -1,50 +1,0 @@
-
-#include <stdio.h>
-#include <stdlib.h>
-#include "IA32.h"
-#include "../../misc.h"
-
-
-/* cpuDummyInit_Add
- * Input param :
- * out : The file pointer that we write to (the output file to intel asm)
- * cpu_buffer : The memory buffer we have our binary code that we whant convert
- * cpu_pos : Current positions in the cpu_buffer
- * cpu_size : The memory size of the cpu_buffer
- * BaseAddress : The base address you whant the binay file should run from
- * cpuarch : if it exists diffent cpu from a manufactor like pentium,
- * 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
- * value 0 : wrong opcode or not vaild opcode
- * value +1 and higher : who many byte we should add to cpu_pos
- */
-
-CPU_INT IA32_Add( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
- CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch)
-
-{
- /*
- * ConvertBitToByte() is perfect to use to get the bit being in use from a bit array
- * GetMaskByte() is perfect if u whant known which bit have been mask out
- * see M68kopcode.c and how it use the ConvertBitToByte()
- */
-
- fprintf(out,"Line_0x%8x :\n",BaseAddress + cpu_pos);
-
- printf(";Add unimplement\n");
- return -1;
-}
Author: greatlrd
Date: Sat Jan 20 16:32:26 2007
New Revision: 25542
URL: http://svn.reactos.org/svn/reactos?rev=25542&view=rev
Log:
forgot thuse file
Added:
trunk/rosapps/devutils/cputointel/From/dummycpu/IA32.h
trunk/rosapps/devutils/cputointel/From/dummycpu/IA32Brain.c
trunk/rosapps/devutils/cputointel/From/dummycpu/IA32Brain.h
trunk/rosapps/devutils/cputointel/From/dummycpu/IA32opcode.c
Added: trunk/rosapps/devutils/cputointel/From/dummycpu/IA32.h
URL: http://svn.reactos.org/svn/reactos/trunk/rosapps/devutils/cputointel/From/d…
==============================================================================
--- trunk/rosapps/devutils/cputointel/From/dummycpu/IA32.h (added)
+++ trunk/rosapps/devutils/cputointel/From/dummycpu/IA32.h Sat Jan 20 16:32:26 2007
@@ -1,0 +1,17 @@
+
+#include "../../misc.h"
+
+CPU_INT IA32Brain( CPU_BYTE *cpu_buffer,
+ CPU_UNINT cpu_pos,
+ CPU_UNINT cpu_size,
+ CPU_UNINT BaseAddress,
+ CPU_UNINT cpuarch,
+ FILE *outfp);
+
+/* here we put the prototype for the opcode api that brain need we show a example for it */
+CPU_INT IA32_Add(FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos, CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch);
+
+
+/* Export comment thing see m68k for example
+ * in dummy we do not show it, for it is diffent for each cpu
+ */
Added: trunk/rosapps/devutils/cputointel/From/dummycpu/IA32Brain.c
URL: http://svn.reactos.org/svn/reactos/trunk/rosapps/devutils/cputointel/From/d…
==============================================================================
--- trunk/rosapps/devutils/cputointel/From/dummycpu/IA32Brain.c (added)
+++ trunk/rosapps/devutils/cputointel/From/dummycpu/IA32Brain.c Sat Jan 20 16:32:26 2007
@@ -1,0 +1,107 @@
+
+#include <stdio.h>
+#include <stdlib.h>
+#include "IA32Brain.h"
+#include "IA32.h"
+#include "../../any_op.h"
+#include "../../misc.h"
+
+
+
+
+/*
+ * 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
+ * 3 : unimplement cpu
+ * 4 : unknown machine
+ */
+
+CPU_INT IA32Brain( CPU_BYTE *cpu_buffer,
+ CPU_UNINT cpu_pos,
+ CPU_UNINT cpu_size,
+ CPU_UNINT BaseAddress,
+ CPU_UNINT cpuarch,
+ FILE *outfp)
+{
+ CPU_UNINT cpu_oldpos;
+ CPU_INT cpuint;
+ CPU_INT retcode = 0;
+ CPU_INT retsize;
+
+ /* now we start the process */
+ while (cpu_pos<cpu_size)
+ {
+ cpu_oldpos = cpu_pos;
+
+ /* use the GetData32Be or GetData32Le
+ to read from the memory the
+ Le is for small endian and the
+ Be is for big endian
+ the 32 is how many bits we should read
+ */
+ cpuint = GetData32Be(&cpu_buffer[cpu_pos]);
+
+ /* Add */
+ if ((cpuint - (cpuint & GetMaskByte(cpuIA32Init_Add))) == ConvertBitToByte(cpuIA32Init_Add))
+ {
+ retsize = IA32_Add( outfp, cpu_buffer, cpu_pos, cpu_size,
+ BaseAddress, cpuarch);
+ if (retsize<0)
+ retcode = 1;
+ else
+ cpu_pos += retsize;
+ }
+
+ /* Found all Opcode and breakout and return no error found */
+ if (cpu_pos >=cpu_size)
+ {
+ break;
+ }
+
+ /* Check if we have found a cpu opcode */
+ if (cpu_oldpos == cpu_pos)
+ {
+ if (retcode == 0)
+ {
+ /* no unimplement error where found so we return a msg for unknown opcode */
+ printf("Unkonwn Opcode found at 0x%8x opcode 0x%2x\n",cpu_oldpos+BaseAddress,(unsigned int)cpu_buffer[cpu_oldpos]);
+ retcode = 2;
+ }
+ }
+
+ /* Erorro Found ? */
+ if (retcode!=0)
+ {
+ /* Erorro Found break and return the error code */
+ break;
+ }
+ }
+ return retcode;
+}
Added: trunk/rosapps/devutils/cputointel/From/dummycpu/IA32Brain.h
URL: http://svn.reactos.org/svn/reactos/trunk/rosapps/devutils/cputointel/From/d…
==============================================================================
--- trunk/rosapps/devutils/cputointel/From/dummycpu/IA32Brain.h (added)
+++ trunk/rosapps/devutils/cputointel/From/dummycpu/IA32Brain.h Sat Jan 20 16:32:26 2007
@@ -1,0 +1,13 @@
+
+
+#include "../../misc.h"
+
+
+/* example how setup a opcode, this opcode is 16bit long (taken from M68K)
+ * 0 and 1 mean normal bit, 2 mean mask bit the bit that are determent diffent
+ * thing in the opcode, example which reg so on, it can be etither 0 or 1 in
+ * the opcode. but a opcode have also normal bit that is always been set to
+ * same. thuse bit are always 0 or 1
+ */
+CPU_BYTE cpuIA32Init_Add[16] = {1,1,0,1,2,2,2,2,2,2,2,2,2,2,2,2};
+
Added: trunk/rosapps/devutils/cputointel/From/dummycpu/IA32opcode.c
URL: http://svn.reactos.org/svn/reactos/trunk/rosapps/devutils/cputointel/From/d…
==============================================================================
--- trunk/rosapps/devutils/cputointel/From/dummycpu/IA32opcode.c (added)
+++ trunk/rosapps/devutils/cputointel/From/dummycpu/IA32opcode.c Sat Jan 20 16:32:26 2007
@@ -1,0 +1,50 @@
+
+#include <stdio.h>
+#include <stdlib.h>
+#include "IA32.h"
+#include "../../misc.h"
+
+
+/* cpuDummyInit_Add
+ * Input param :
+ * out : The file pointer that we write to (the output file to intel asm)
+ * cpu_buffer : The memory buffer we have our binary code that we whant convert
+ * cpu_pos : Current positions in the cpu_buffer
+ * cpu_size : The memory size of the cpu_buffer
+ * BaseAddress : The base address you whant the binay file should run from
+ * cpuarch : if it exists diffent cpu from a manufactor like pentium,
+ * 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
+ * value 0 : wrong opcode or not vaild opcode
+ * value +1 and higher : who many byte we should add to cpu_pos
+ */
+
+CPU_INT IA32_Add( FILE *out, CPU_BYTE * cpu_buffer, CPU_UNINT cpu_pos,
+ CPU_UNINT cpu_size, CPU_UNINT BaseAddress, CPU_UNINT cpuarch)
+
+{
+ /*
+ * ConvertBitToByte() is perfect to use to get the bit being in use from a bit array
+ * GetMaskByte() is perfect if u whant known which bit have been mask out
+ * see M68kopcode.c and how it use the ConvertBitToByte()
+ */
+
+ fprintf(out,"Line_0x%8x :\n",BaseAddress + cpu_pos);
+
+ printf(";Add unimplement\n");
+ return -1;
+}