mirror of
https://github.com/sampletext32/ParkanPlayground.git
synced 2025-05-19 11:51:17 +03:00
move handlers
This commit is contained in:
parent
a6b6cc1149
commit
794b56c6b5
@ -1,3 +1,4 @@
|
|||||||
|
using X86Disassembler.X86.Handlers.Jump;
|
||||||
using X86Disassembler.X86.Handlers.Test;
|
using X86Disassembler.X86.Handlers.Test;
|
||||||
|
|
||||||
namespace X86Disassembler.X86.Handlers;
|
namespace X86Disassembler.X86.Handlers;
|
||||||
@ -13,7 +14,7 @@ public class InstructionHandlerFactory
|
|||||||
private readonly byte[] _codeBuffer;
|
private readonly byte[] _codeBuffer;
|
||||||
private readonly InstructionDecoder _decoder;
|
private readonly InstructionDecoder _decoder;
|
||||||
private readonly int _length;
|
private readonly int _length;
|
||||||
private readonly List<IInstructionHandler> _handlers = new List<IInstructionHandler>();
|
private readonly List<IInstructionHandler> _handlers = [];
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Initializes a new instance of the InstructionHandlerFactory class
|
/// Initializes a new instance of the InstructionHandlerFactory class
|
||||||
@ -39,18 +40,24 @@ public class InstructionHandlerFactory
|
|||||||
// Register specific instruction handlers
|
// Register specific instruction handlers
|
||||||
_handlers.Add(new RetHandler(_codeBuffer, _decoder, _length));
|
_handlers.Add(new RetHandler(_codeBuffer, _decoder, _length));
|
||||||
_handlers.Add(new RetImmHandler(_codeBuffer, _decoder, _length));
|
_handlers.Add(new RetImmHandler(_codeBuffer, _decoder, _length));
|
||||||
_handlers.Add(new JmpRel32Handler(_codeBuffer, _decoder, _length));
|
|
||||||
_handlers.Add(new JmpRel8Handler(_codeBuffer, _decoder, _length));
|
|
||||||
_handlers.Add(new CallRel32Handler(_codeBuffer, _decoder, _length));
|
_handlers.Add(new CallRel32Handler(_codeBuffer, _decoder, _length));
|
||||||
_handlers.Add(new XorRegMemHandler(_codeBuffer, _decoder, _length));
|
_handlers.Add(new XorRegMemHandler(_codeBuffer, _decoder, _length));
|
||||||
|
_handlers.Add(new FnstswHandler(_codeBuffer, _decoder, _length));
|
||||||
|
|
||||||
|
// TEST handlers
|
||||||
|
_handlers.Add(new TestImmWithRm32Handler(_codeBuffer, _decoder, _length));
|
||||||
|
_handlers.Add(new TestImmWithRm8Handler(_codeBuffer, _decoder, _length));
|
||||||
_handlers.Add(new TestRegMem8Handler(_codeBuffer, _decoder, _length));
|
_handlers.Add(new TestRegMem8Handler(_codeBuffer, _decoder, _length));
|
||||||
_handlers.Add(new TestRegMemHandler(_codeBuffer, _decoder, _length));
|
_handlers.Add(new TestRegMemHandler(_codeBuffer, _decoder, _length));
|
||||||
_handlers.Add(new TestAlImmHandler(_codeBuffer, _decoder, _length));
|
_handlers.Add(new TestAlImmHandler(_codeBuffer, _decoder, _length));
|
||||||
_handlers.Add(new TestEaxImmHandler(_codeBuffer, _decoder, _length));
|
_handlers.Add(new TestEaxImmHandler(_codeBuffer, _decoder, _length));
|
||||||
_handlers.Add(new FnstswHandler(_codeBuffer, _decoder, _length));
|
|
||||||
|
// JMP handlers
|
||||||
|
_handlers.Add(new JmpRel32Handler(_codeBuffer, _decoder, _length));
|
||||||
|
_handlers.Add(new JmpRel8Handler(_codeBuffer, _decoder, _length));
|
||||||
_handlers.Add(new ConditionalJumpHandler(_codeBuffer, _decoder, _length));
|
_handlers.Add(new ConditionalJumpHandler(_codeBuffer, _decoder, _length));
|
||||||
_handlers.Add(new TwoByteConditionalJumpHandler(_codeBuffer, _decoder, _length));
|
_handlers.Add(new TwoByteConditionalJumpHandler(_codeBuffer, _decoder, _length));
|
||||||
|
|
||||||
// Register Group1 handlers
|
// Register Group1 handlers
|
||||||
RegisterGroup1Handlers();
|
RegisterGroup1Handlers();
|
||||||
|
|
||||||
@ -107,10 +114,6 @@ public class InstructionHandlerFactory
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private void RegisterGroup3Handlers()
|
private void RegisterGroup3Handlers()
|
||||||
{
|
{
|
||||||
// TEST handlers
|
|
||||||
_handlers.Add(new TestImmWithRm32Handler(_codeBuffer, _decoder, _length));
|
|
||||||
_handlers.Add(new TestImmWithRm8Handler(_codeBuffer, _decoder, _length));
|
|
||||||
|
|
||||||
// NOT handler
|
// NOT handler
|
||||||
_handlers.Add(new NotRm32Handler(_codeBuffer, _decoder, _length));
|
_handlers.Add(new NotRm32Handler(_codeBuffer, _decoder, _length));
|
||||||
|
|
||||||
|
@ -1,6 +1,4 @@
|
|||||||
namespace X86Disassembler.X86.Handlers;
|
namespace X86Disassembler.X86.Handlers.Jump;
|
||||||
|
|
||||||
using System;
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Handler for conditional jump instructions (0x70-0x7F)
|
/// Handler for conditional jump instructions (0x70-0x7F)
|
@ -1,4 +1,4 @@
|
|||||||
namespace X86Disassembler.X86.Handlers;
|
namespace X86Disassembler.X86.Handlers.Jump;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Handler for JMP rel32 instruction (0xE9)
|
/// Handler for JMP rel32 instruction (0xE9)
|
@ -1,4 +1,4 @@
|
|||||||
namespace X86Disassembler.X86.Handlers;
|
namespace X86Disassembler.X86.Handlers.Jump;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Handler for JMP rel8 instruction (0xEB)
|
/// Handler for JMP rel8 instruction (0xEB)
|
@ -1,4 +1,4 @@
|
|||||||
namespace X86Disassembler.X86.Handlers;
|
namespace X86Disassembler.X86.Handlers.Jump;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Handler for two-byte conditional jump instructions (0x0F 0x80-0x8F)
|
/// Handler for two-byte conditional jump instructions (0x0F 0x80-0x8F)
|
@ -1,4 +1,6 @@
|
|||||||
namespace X86Disassembler.X86.Handlers.Group3;
|
using X86Disassembler.X86.Handlers.Group3;
|
||||||
|
|
||||||
|
namespace X86Disassembler.X86.Handlers.Test;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Handler for TEST r/m32, imm32 instruction (0xF7 /0)
|
/// Handler for TEST r/m32, imm32 instruction (0xF7 /0)
|
@ -1,4 +1,6 @@
|
|||||||
namespace X86Disassembler.X86.Handlers.Group3;
|
using X86Disassembler.X86.Handlers.Group3;
|
||||||
|
|
||||||
|
namespace X86Disassembler.X86.Handlers.Test;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Handler for TEST r/m8, imm8 instruction (0xF6 /0)
|
/// Handler for TEST r/m8, imm8 instruction (0xF6 /0)
|
@ -1,3 +1,5 @@
|
|||||||
|
using X86Disassembler.X86.Handlers.Test;
|
||||||
|
|
||||||
namespace X86DisassemblerTests;
|
namespace X86DisassemblerTests;
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user