0
mirror of https://github.com/sampletext32/ParkanPlayground.git synced 2025-06-20 16:18:37 +03:00

Implemented 16-bit SUB instruction handlers and fixed test data

This commit is contained in:
bird_egop
2025-04-13 17:51:54 +03:00
parent d1d52af511
commit b11b39ac4e
7 changed files with 442 additions and 7 deletions

View File

@ -374,9 +374,26 @@ public class InstructionHandlerFactory
/// </summary>
private void RegisterSubHandlers()
{
// Add SUB register/memory handlers
_handlers.Add(new Sub.SubRm32R32Handler(_codeBuffer, _decoder, _length));
_handlers.Add(new Sub.SubR32Rm32Handler(_codeBuffer, _decoder, _length));
// Register SUB handlers
// 32-bit handlers
_handlers.Add(new SubRm32R32Handler(_codeBuffer, _decoder, _length));
_handlers.Add(new SubR32Rm32Handler(_codeBuffer, _decoder, _length));
_handlers.Add(new SubImmFromRm32Handler(_codeBuffer, _decoder, _length));
_handlers.Add(new SubImmFromRm32SignExtendedHandler(_codeBuffer, _decoder, _length));
// 16-bit handlers
_handlers.Add(new SubRm16R16Handler(_codeBuffer, _decoder, _length));
_handlers.Add(new SubR16Rm16Handler(_codeBuffer, _decoder, _length));
_handlers.Add(new SubAxImm16Handler(_codeBuffer, _decoder, _length));
_handlers.Add(new SubImmFromRm16Handler(_codeBuffer, _decoder, _length));
_handlers.Add(new SubImmFromRm16SignExtendedHandler(_codeBuffer, _decoder, _length));
// 8-bit handlers
_handlers.Add(new SubRm8R8Handler(_codeBuffer, _decoder, _length));
_handlers.Add(new SubR8Rm8Handler(_codeBuffer, _decoder, _length));
_handlers.Add(new SubAlImm8Handler(_codeBuffer, _decoder, _length));
_handlers.Add(new SubImmFromRm8Handler(_codeBuffer, _decoder, _length));
}
/// <summary>