0
mirror of https://github.com/sampletext32/ParkanPlayground.git synced 2025-05-19 11:51:17 +03:00

Removed Group1 folder and fixed handler organization. Organized handlers by instruction type instead of abstract groupings.

This commit is contained in:
bird_egop 2025-04-13 01:08:49 +03:00
parent b8a37e626c
commit 03aa51d13c
3 changed files with 5 additions and 30 deletions

View File

@ -16,6 +16,7 @@ using X86Disassembler.X86.Handlers.Ret;
using X86Disassembler.X86.Handlers.Test; using X86Disassembler.X86.Handlers.Test;
using X86Disassembler.X86.Handlers.Xchg; using X86Disassembler.X86.Handlers.Xchg;
using X86Disassembler.X86.Handlers.Xor; using X86Disassembler.X86.Handlers.Xor;
using System.Linq;
namespace X86Disassembler.X86.Handlers; namespace X86Disassembler.X86.Handlers;
@ -45,54 +46,27 @@ public class InstructionHandlerFactory
} }
/// <summary> /// <summary>
/// Registers all instruction handlers /// Registers all handlers
/// </summary> /// </summary>
private void RegisterHandlers() private void RegisterHandlers()
{ {
// Register group handlers
RegisterArithmeticUnaryHandlers();
RegisterArithmeticImmediateHandlers();
// Register specific instruction handlers // Register specific instruction handlers
_handlers.Add(new Int3Handler(_codeBuffer, _decoder, _length)); _handlers.Add(new Int3Handler(_codeBuffer, _decoder, _length));
// Register Return handlers RegisterArithmeticUnaryHandlers();
RegisterArithmeticImmediateHandlers();
RegisterReturnHandlers(); RegisterReturnHandlers();
// Register Call handlers
RegisterCallHandlers(); RegisterCallHandlers();
// Register Jump handlers
RegisterJumpHandlers(); RegisterJumpHandlers();
// Register Test handlers
RegisterTestHandlers(); RegisterTestHandlers();
// Register Xor handlers
RegisterXorHandlers(); RegisterXorHandlers();
// Register Or handlers
RegisterOrHandlers(); RegisterOrHandlers();
// Register Lea handlers
RegisterLeaHandlers(); RegisterLeaHandlers();
// Register Cmp handlers
RegisterCmpHandlers(); RegisterCmpHandlers();
// Register Dec handlers
RegisterDecHandlers(); RegisterDecHandlers();
// Register Inc handlers
RegisterIncHandlers(); RegisterIncHandlers();
// Register Add handlers
RegisterAddHandlers(); RegisterAddHandlers();
// Register Data Transfer handlers
RegisterDataTransferHandlers(); RegisterDataTransferHandlers();
// Register floating point handlers
RegisterFloatingPointHandlers(); RegisterFloatingPointHandlers();
} }
@ -249,6 +223,7 @@ public class InstructionHandlerFactory
{ {
// Add Cmp handlers // Add Cmp handlers
_handlers.Add(new CmpR32Rm32Handler(_codeBuffer, _decoder, _length)); _handlers.Add(new CmpR32Rm32Handler(_codeBuffer, _decoder, _length));
_handlers.Add(new CmpImmWithRm8Handler(_codeBuffer, _decoder, _length));
} }
/// <summary> /// <summary>