diff --git a/X86Disassembler/X86/Handlers/Group1/CmpImmWithRm8Handler.cs b/X86Disassembler/X86/Handlers/Cmp/CmpImmWithRm8Handler.cs
similarity index 100%
rename from X86Disassembler/X86/Handlers/Group1/CmpImmWithRm8Handler.cs
rename to X86Disassembler/X86/Handlers/Cmp/CmpImmWithRm8Handler.cs
diff --git a/X86Disassembler/X86/Handlers/InstructionHandlerFactory.cs b/X86Disassembler/X86/Handlers/InstructionHandlerFactory.cs
index 4f66009..01267fb 100644
--- a/X86Disassembler/X86/Handlers/InstructionHandlerFactory.cs
+++ b/X86Disassembler/X86/Handlers/InstructionHandlerFactory.cs
@@ -16,6 +16,7 @@ using X86Disassembler.X86.Handlers.Ret;
using X86Disassembler.X86.Handlers.Test;
using X86Disassembler.X86.Handlers.Xchg;
using X86Disassembler.X86.Handlers.Xor;
+using System.Linq;
namespace X86Disassembler.X86.Handlers;
@@ -45,54 +46,27 @@ public class InstructionHandlerFactory
}
///
- /// Registers all instruction handlers
+ /// Registers all handlers
///
private void RegisterHandlers()
{
- // Register group handlers
- RegisterArithmeticUnaryHandlers();
- RegisterArithmeticImmediateHandlers();
-
// Register specific instruction handlers
_handlers.Add(new Int3Handler(_codeBuffer, _decoder, _length));
- // Register Return handlers
+ RegisterArithmeticUnaryHandlers();
+ RegisterArithmeticImmediateHandlers();
RegisterReturnHandlers();
-
- // Register Call handlers
RegisterCallHandlers();
-
- // Register Jump handlers
RegisterJumpHandlers();
-
- // Register Test handlers
RegisterTestHandlers();
-
- // Register Xor handlers
RegisterXorHandlers();
-
- // Register Or handlers
RegisterOrHandlers();
-
- // Register Lea handlers
RegisterLeaHandlers();
-
- // Register Cmp handlers
RegisterCmpHandlers();
-
- // Register Dec handlers
RegisterDecHandlers();
-
- // Register Inc handlers
RegisterIncHandlers();
-
- // Register Add handlers
RegisterAddHandlers();
-
- // Register Data Transfer handlers
RegisterDataTransferHandlers();
-
- // Register floating point handlers
RegisterFloatingPointHandlers();
}
@@ -249,6 +223,7 @@ public class InstructionHandlerFactory
{
// Add Cmp handlers
_handlers.Add(new CmpR32Rm32Handler(_codeBuffer, _decoder, _length));
+ _handlers.Add(new CmpImmWithRm8Handler(_codeBuffer, _decoder, _length));
}
///
diff --git a/X86Disassembler/X86/Handlers/Group1/OrImmWithRm8Handler.cs b/X86Disassembler/X86/Handlers/Or/OrImmWithRm8Handler.cs
similarity index 100%
rename from X86Disassembler/X86/Handlers/Group1/OrImmWithRm8Handler.cs
rename to X86Disassembler/X86/Handlers/Or/OrImmWithRm8Handler.cs