Author: aandrejevic
Date: Sat Sep 28 18:56:58 2013
New Revision: 60441
URL:
http://svn.reactos.org/svn/reactos?rev=60441&view=rev
Log:
[SOFT386]
Stubplement opcode group handlers.
Added:
branches/ntvdm/lib/soft386/opgroups.c (with props)
branches/ntvdm/lib/soft386/opgroups.h (with props)
Modified:
branches/ntvdm/lib/soft386/CMakeLists.txt
branches/ntvdm/lib/soft386/opcodes.c
Modified: branches/ntvdm/lib/soft386/CMakeLists.txt
URL:
http://svn.reactos.org/svn/reactos/branches/ntvdm/lib/soft386/CMakeLists.tx…
==============================================================================
--- branches/ntvdm/lib/soft386/CMakeLists.txt [iso-8859-1] (original)
+++ branches/ntvdm/lib/soft386/CMakeLists.txt [iso-8859-1] Sat Sep 28 18:56:58 2013
@@ -4,6 +4,7 @@
list(APPEND SOURCE
soft386.c
opcodes.c
+ opgroups.c
common.c)
add_library(soft386 ${SOURCE})
Modified: branches/ntvdm/lib/soft386/opcodes.c
URL:
http://svn.reactos.org/svn/reactos/branches/ntvdm/lib/soft386/opcodes.c?rev…
==============================================================================
--- branches/ntvdm/lib/soft386/opcodes.c [iso-8859-1] (original)
+++ branches/ntvdm/lib/soft386/opcodes.c [iso-8859-1] Sat Sep 28 18:56:58 2013
@@ -18,6 +18,7 @@
#include <soft386.h>
#include "opcodes.h"
+#include "opgroups.h"
#include "common.h"
/* PUBLIC VARIABLES ***********************************************************/
@@ -153,10 +154,10 @@
Soft386OpcodeShortConditionalJmp,
Soft386OpcodeShortConditionalJmp,
Soft386OpcodeShortConditionalJmp,
- NULL, // TODO: OPCODE 0x80 NOT SUPPORTED
- NULL, // TODO: OPCODE 0x81 NOT SUPPORTED
- NULL, // TODO: OPCODE 0x82 NOT SUPPORTED
- NULL, // TODO: OPCODE 0x83 NOT SUPPORTED
+ Soft386OpcodeGroup80,
+ Soft386OpcodeGroup81,
+ Soft386OpcodeGroup82,
+ Soft386OpcodeGroup83,
Soft386OpcodeTestByteModrm,
Soft386OpcodeTestModrm,
Soft386OpcodeXchgByteModrm,
@@ -168,7 +169,7 @@
Soft386OpcodeMovStoreSeg,
Soft386OpcodeLea,
Soft386OpcodeMovLoadSeg,
- NULL, // TODO: OPCODE 0x8F NOT SUPPORTED
+ Soft386OpcodeGroup8F,
Soft386OpcodeNop,
Soft386OpcodeExchangeEax,
Soft386OpcodeExchangeEax,
@@ -217,14 +218,14 @@
Soft386OpcodeMovRegImm,
Soft386OpcodeMovRegImm,
Soft386OpcodeMovRegImm,
- NULL, // TODO: OPCODE 0xC0 NOT SUPPORTED
- NULL, // TODO: OPCODE 0xC1 NOT SUPPORTED
+ Soft386OpcodeGroupC0,
+ Soft386OpcodeGroupC1,
Soft386OpcodeRet,
Soft386OpcodeRet,
Soft386OpcodeLdsLes,
Soft386OpcodeLdsLes,
- NULL, // TODO: OPCODE 0xC6 NOT SUPPORTED
- NULL, // TODO: OPCODE 0xC7 NOT SUPPORTED
+ Soft386OpcodeGroupC6,
+ Soft386OpcodeGroupC7,
Soft386OpcodeEnter,
Soft386OpcodeLeave,
Soft386OpcodeRetFarImm,
@@ -233,10 +234,10 @@
Soft386OpcodeInt,
Soft386OpcodeInt,
Soft386OpcodeIret,
- NULL, // TODO: OPCODE 0xD0 NOT SUPPORTED
- NULL, // TODO: OPCODE 0xD1 NOT SUPPORTED
- NULL, // TODO: OPCODE 0xD2 NOT SUPPORTED
- NULL, // TODO: OPCODE 0xD3 NOT SUPPORTED
+ Soft386OpcodeGroupD0,
+ Soft386OpcodeGroupD1,
+ Soft386OpcodeGroupD2,
+ Soft386OpcodeGroupD3,
Soft386OpcodeAam,
Soft386OpcodeAad,
NULL, // TODO: OPCODE 0xD6 NOT SUPPORTED
@@ -271,16 +272,16 @@
Soft386OpcodePrefix,
Soft386OpcodeHalt,
Soft386OpcodeComplCarry,
- NULL, // TODO: OPCODE 0xF6 NOT SUPPORTED
- NULL, // TODO: OPCODE 0xF7 NOT SUPPORTED
+ Soft386OpcodeGroupF6,
+ Soft386OpcodeGroupF7,
Soft386OpcodeClearCarry,
Soft386OpcodeSetCarry,
Soft386OpcodeClearInt,
Soft386OpcodeSetInt,
Soft386OpcodeClearDir,
Soft386OpcodeSetDir,
- NULL, // TODO: OPCODE 0xFE NOT SUPPORTED
- NULL, // TODO: OPCODE 0xFF NOT SUPPORTED
+ Soft386OpcodeGroupFE,
+ Soft386OpcodeGroupFF,
};
/* PUBLIC FUNCTIONS ***********************************************************/
Added: branches/ntvdm/lib/soft386/opgroups.c
URL:
http://svn.reactos.org/svn/reactos/branches/ntvdm/lib/soft386/opgroups.c?re…
==============================================================================
--- branches/ntvdm/lib/soft386/opgroups.c (added)
+++ branches/ntvdm/lib/soft386/opgroups.c [iso-8859-1] Sat Sep 28 18:56:58 2013
@@ -0,0 +1,127 @@
+/*
+ * COPYRIGHT: GPL - See COPYING in the top level directory
+ * PROJECT: 386/486 CPU Emulation Library
+ * FILE: opgroups.c
+ * PURPOSE: Opcode group handlers.
+ * PROGRAMMERS: Aleksandar Andrejevic <theflash AT sdf DOT lonestar DOT org>
+ */
+
+/* INCLUDES *******************************************************************/
+
+// #define WIN32_NO_STATUS
+// #define _INC_WINDOWS
+#include <windef.h>
+
+// #define NDEBUG
+#include <debug.h>
+
+#include <soft386.h>
+#include "opcodes.h"
+#include "common.h"
+
+/* PUBLIC FUNCTIONS ***********************************************************/
+
+SOFT386_OPCODE_HANDLER(Soft386OpcodeGroup80)
+{
+ UNIMPLEMENTED;
+ return FALSE; // TODO: NOT IMPLEMENTED
+}
+
+SOFT386_OPCODE_HANDLER(Soft386OpcodeGroup81)
+{
+ UNIMPLEMENTED;
+ return FALSE; // TODO: NOT IMPLEMENTED
+}
+
+SOFT386_OPCODE_HANDLER(Soft386OpcodeGroup82)
+{
+ UNIMPLEMENTED;
+ return FALSE; // TODO: NOT IMPLEMENTED
+}
+
+SOFT386_OPCODE_HANDLER(Soft386OpcodeGroup83)
+{
+ UNIMPLEMENTED;
+ return FALSE; // TODO: NOT IMPLEMENTED
+}
+
+SOFT386_OPCODE_HANDLER(Soft386OpcodeGroup8F)
+{
+ UNIMPLEMENTED;
+ return FALSE; // TODO: NOT IMPLEMENTED
+}
+
+SOFT386_OPCODE_HANDLER(Soft386OpcodeGroupC0)
+{
+ UNIMPLEMENTED;
+ return FALSE; // TODO: NOT IMPLEMENTED
+}
+
+SOFT386_OPCODE_HANDLER(Soft386OpcodeGroupC1)
+{
+ UNIMPLEMENTED;
+ return FALSE; // TODO: NOT IMPLEMENTED
+}
+
+SOFT386_OPCODE_HANDLER(Soft386OpcodeGroupC6)
+{
+ UNIMPLEMENTED;
+ return FALSE; // TODO: NOT IMPLEMENTED
+}
+
+SOFT386_OPCODE_HANDLER(Soft386OpcodeGroupC7)
+{
+ UNIMPLEMENTED;
+ return FALSE; // TODO: NOT IMPLEMENTED
+}
+
+SOFT386_OPCODE_HANDLER(Soft386OpcodeGroupD0)
+{
+ UNIMPLEMENTED;
+ return FALSE; // TODO: NOT IMPLEMENTED
+}
+
+SOFT386_OPCODE_HANDLER(Soft386OpcodeGroupD1)
+{
+ UNIMPLEMENTED;
+ return FALSE; // TODO: NOT IMPLEMENTED
+}
+
+SOFT386_OPCODE_HANDLER(Soft386OpcodeGroupD2)
+{
+ UNIMPLEMENTED;
+ return FALSE; // TODO: NOT IMPLEMENTED
+}
+
+SOFT386_OPCODE_HANDLER(Soft386OpcodeGroupD3)
+{
+ UNIMPLEMENTED;
+ return FALSE; // TODO: NOT IMPLEMENTED
+}
+
+SOFT386_OPCODE_HANDLER(Soft386OpcodeGroupF6)
+{
+ UNIMPLEMENTED;
+ return FALSE; // TODO: NOT IMPLEMENTED
+}
+
+SOFT386_OPCODE_HANDLER(Soft386OpcodeGroupF7)
+{
+ UNIMPLEMENTED;
+ return FALSE; // TODO: NOT IMPLEMENTED
+}
+
+SOFT386_OPCODE_HANDLER(Soft386OpcodeGroupFE)
+{
+ UNIMPLEMENTED;
+ return FALSE; // TODO: NOT IMPLEMENTED
+}
+
+SOFT386_OPCODE_HANDLER(Soft386OpcodeGroupFF)
+{
+ UNIMPLEMENTED;
+ return FALSE; // TODO: NOT IMPLEMENTED
+}
+
+/* EOF */
+
Propchange: branches/ntvdm/lib/soft386/opgroups.c
------------------------------------------------------------------------------
svn:eol-style = native
Added: branches/ntvdm/lib/soft386/opgroups.h
URL:
http://svn.reactos.org/svn/reactos/branches/ntvdm/lib/soft386/opgroups.h?re…
==============================================================================
--- branches/ntvdm/lib/soft386/opgroups.h (added)
+++ branches/ntvdm/lib/soft386/opgroups.h [iso-8859-1] Sat Sep 28 18:56:58 2013
@@ -0,0 +1,35 @@
+/*
+ * COPYRIGHT: GPL - See COPYING in the top level directory
+ * PROJECT: 386/486 CPU Emulation Library
+ * FILE: opgroups.h
+ * PURPOSE: Opcode group handlers. (header file)
+ * PROGRAMMERS: Aleksandar Andrejevic <theflash AT sdf DOT lonestar DOT org>
+ */
+
+#ifndef _OPGROUPS_H_
+#define _OPGROUPS_H_
+
+/* DEFINES ********************************************************************/
+
+SOFT386_OPCODE_HANDLER(Soft386OpcodeGroup80);
+SOFT386_OPCODE_HANDLER(Soft386OpcodeGroup81);
+SOFT386_OPCODE_HANDLER(Soft386OpcodeGroup82);
+SOFT386_OPCODE_HANDLER(Soft386OpcodeGroup83);
+SOFT386_OPCODE_HANDLER(Soft386OpcodeGroup8F);
+SOFT386_OPCODE_HANDLER(Soft386OpcodeGroupC0);
+SOFT386_OPCODE_HANDLER(Soft386OpcodeGroupC1);
+SOFT386_OPCODE_HANDLER(Soft386OpcodeGroupC6);
+SOFT386_OPCODE_HANDLER(Soft386OpcodeGroupC7);
+SOFT386_OPCODE_HANDLER(Soft386OpcodeGroupD0);
+SOFT386_OPCODE_HANDLER(Soft386OpcodeGroupD1);
+SOFT386_OPCODE_HANDLER(Soft386OpcodeGroupD2);
+SOFT386_OPCODE_HANDLER(Soft386OpcodeGroupD3);
+SOFT386_OPCODE_HANDLER(Soft386OpcodeGroupF6);
+SOFT386_OPCODE_HANDLER(Soft386OpcodeGroupF7);
+SOFT386_OPCODE_HANDLER(Soft386OpcodeGroupFE);
+SOFT386_OPCODE_HANDLER(Soft386OpcodeGroupFF);
+
+#endif // _OPGROUPS_H_
+
+/* EOF */
+
Propchange: branches/ntvdm/lib/soft386/opgroups.h
------------------------------------------------------------------------------
svn:eol-style = native