diff --git a/X86Disassembler/X86/Handlers/FloatingPoint/Arithmetic/FsubpStiStHandler.cs b/X86Disassembler/X86/Handlers/FloatingPoint/Arithmetic/FsubpStiStHandler.cs index 57b1891..cef6a88 100644 --- a/X86Disassembler/X86/Handlers/FloatingPoint/Arithmetic/FsubpStiStHandler.cs +++ b/X86Disassembler/X86/Handlers/FloatingPoint/Arithmetic/FsubpStiStHandler.cs @@ -3,7 +3,7 @@ namespace X86Disassembler.X86.Handlers.FloatingPoint.Arithmetic; using X86Disassembler.X86.Operands; /// -/// Handler for FSUBP ST(i), ST instruction (DE E0-E7) +/// Handler for FSUBRP ST(i), ST instruction (DE E0-E7) /// public class FsubpStiStHandler : InstructionHandler { @@ -23,7 +23,7 @@ public class FsubpStiStHandler : InstructionHandler /// True if this handler can decode the opcode public override bool CanHandle(byte opcode) { - // FSUBP ST(i), ST is DE E0-E7 + // FSUBRP ST(i), ST is DE E0-E7 if (opcode != 0xDE) return false; if (!Decoder.CanReadByte()) @@ -39,7 +39,7 @@ public class FsubpStiStHandler : InstructionHandler } /// - /// Decodes a FSUBP ST(i), ST instruction + /// Decodes a FSUBRP ST(i), ST instruction /// /// The opcode of the instruction /// The instruction object to populate @@ -55,7 +55,7 @@ public class FsubpStiStHandler : InstructionHandler var stIndex = (FpuRegisterIndex)(Decoder.ReadByte() - 0xE0); // Set the instruction type - instruction.Type = InstructionType.Fsubp; + instruction.Type = InstructionType.Fsubrp; // Create the FPU register operands var stiOperand = OperandFactory.CreateFPURegisterOperand(stIndex); diff --git a/X86Disassembler/X86/Handlers/FloatingPoint/Arithmetic/FsubrpStiStHandler.cs b/X86Disassembler/X86/Handlers/FloatingPoint/Arithmetic/FsubrpStiStHandler.cs index 00e54b8..784b0f3 100644 --- a/X86Disassembler/X86/Handlers/FloatingPoint/Arithmetic/FsubrpStiStHandler.cs +++ b/X86Disassembler/X86/Handlers/FloatingPoint/Arithmetic/FsubrpStiStHandler.cs @@ -3,7 +3,7 @@ namespace X86Disassembler.X86.Handlers.FloatingPoint.Arithmetic; using X86Disassembler.X86.Operands; /// -/// Handler for FSUBRP ST(i), ST instruction (DE E8-EF) +/// Handler for FSUBP ST(i), ST instruction (DE E8-EF) /// public class FsubrpStiStHandler : InstructionHandler { @@ -23,7 +23,7 @@ public class FsubrpStiStHandler : InstructionHandler /// True if this handler can decode the opcode public override bool CanHandle(byte opcode) { - // FSUBRP ST(i), ST is DE E8-EF + // FSUBP ST(i), ST is DE E8-EF if (opcode != 0xDE) return false; if (!Decoder.CanReadByte()) @@ -39,7 +39,7 @@ public class FsubrpStiStHandler : InstructionHandler } /// - /// Decodes a FSUBRP ST(i), ST instruction + /// Decodes a FSUBP ST(i), ST instruction /// /// The opcode of the instruction /// The instruction object to populate @@ -55,7 +55,7 @@ public class FsubrpStiStHandler : InstructionHandler var stIndex = (FpuRegisterIndex)(Decoder.ReadByte() - 0xE8); // Set the instruction type - instruction.Type = InstructionType.Fsubrp; + instruction.Type = InstructionType.Fsubp; // Create the FPU register operands var stiOperand = OperandFactory.CreateFPURegisterOperand(stIndex); diff --git a/X86Disassembler/X86/Handlers/InstructionHandlerFactory.cs b/X86Disassembler/X86/Handlers/InstructionHandlerFactory.cs index 49db358..68a3b9c 100644 --- a/X86Disassembler/X86/Handlers/InstructionHandlerFactory.cs +++ b/X86Disassembler/X86/Handlers/InstructionHandlerFactory.cs @@ -470,7 +470,7 @@ public class InstructionHandlerFactory _handlers.Add(new FloatingPoint.Arithmetic.FaddStiStHandler(_decoder)); // FADD ST(i), ST (DC C0-C7) _handlers.Add(new FloatingPoint.Arithmetic.FmulStiStHandler(_decoder)); // FMUL ST(i), ST (DC C8-CF) _handlers.Add(new FloatingPoint.Comparison.FcomRegisterHandler(_decoder)); // FCOM ST(i), ST(0) (DC D0-D7) - _handlers.Add(new FloatingPoint.Arithmetic.FsubStiStHandler(_decoder)); // FSUB ST(i), ST (DC E0-E7) + _handlers.Add(new FloatingPoint.Arithmetic.FsubStiStHandler(_decoder)); // FSUBR ST(i), ST (DC E0-E7) _handlers.Add(new FloatingPoint.Arithmetic.FsubrStiStHandler(_decoder)); // FSUB ST(i), ST (DC E8-EF) _handlers.Add(new FloatingPoint.Arithmetic.FdivrStiStHandler(_decoder)); // FDIVR ST(i), ST (DC F0-F7) _handlers.Add(new FloatingPoint.Arithmetic.FdivStiStHandler(_decoder)); // FDIV ST(i), ST (DC F8-FF) @@ -502,10 +502,10 @@ public class InstructionHandlerFactory _handlers.Add(new FloatingPoint.Arithmetic.FaddpStiStHandler(_decoder)); // FADDP ST(i), ST (DE C0-C7) _handlers.Add(new FloatingPoint.Arithmetic.FmulpStiStHandler(_decoder)); // FMULP ST(i), ST (DE C8-CF) _handlers.Add(new FloatingPoint.Comparison.FcomppHandler(_decoder)); // FCOMPP (DE D9) - _handlers.Add(new FloatingPoint.Arithmetic.FsubpStiStHandler(_decoder)); // FSUBP ST(i), ST (DE E0-E7) - _handlers.Add(new FloatingPoint.Arithmetic.FsubrpStiStHandler(_decoder)); // FSUBRP ST(i), ST (DE E8-EF) - _handlers.Add(new FloatingPoint.Arithmetic.FdivrpStiStHandler(_decoder)); // FDIVP ST(i), ST (DE F0-F7) - _handlers.Add(new FloatingPoint.Arithmetic.FdivpStiStHandler(_decoder)); // FDIVRP ST(i), ST (DE F8-FF) + _handlers.Add(new FloatingPoint.Arithmetic.FsubpStiStHandler(_decoder)); // FSUBRP ST(i), ST (DE E0-E7) + _handlers.Add(new FloatingPoint.Arithmetic.FsubrpStiStHandler(_decoder)); // FSUBP ST(i), ST (DE E8-EF) + _handlers.Add(new FloatingPoint.Arithmetic.FdivrpStiStHandler(_decoder)); // FDIVRP ST(i), ST (DE F0-F7) + _handlers.Add(new FloatingPoint.Arithmetic.FdivpStiStHandler(_decoder)); // FDIVP ST(i), ST (DE F8-FF) // DF opcode handlers (memory operations) _handlers.Add(new FloatingPoint.LoadStore.FildInt16Handler(_decoder)); // FILD int16 (DF /0)