mirror of
https://github.com/sampletext32/ParkanPlayground.git
synced 2025-05-19 20:01:17 +03:00
Removed Group1 folder and fixed handler organization. Organized handlers by instruction type instead of abstract groupings.
This commit is contained in:
parent
b8a37e626c
commit
03aa51d13c
@ -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>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user