Cosmos/source/Indy.IL2CPU/Assembler/x86/Divide.cs
mterwoord_cp 8b8be0c28d
2008-11-29 17:26:44 +00:00

29 lines
1 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Indy.IL2CPU.Assembler.X86 {
/// <summary>
/// Puts the result of the divide into EAX, and the remainder in EDX
/// </summary>
[OpCode("div")]
public class Divide: InstructionWithDestinationAndSize {
public static void InitializeEncodingData(Instruction.InstructionData aData) {
aData.EncodingOptions.Add(new InstructionData.InstructionEncodingOption {
OpCode = new byte[] { 0xF6 },
NeedsModRMByte=true,
InitialModRMByteValue = 0xF0,
OperandSizeByte=0,
DestinationReg=Guid.Empty
});// register
aData.EncodingOptions.Add(new InstructionData.InstructionEncodingOption {
OpCode = new byte[] {0xF6},
NeedsModRMByte=true,
InitialModRMByteValue = 0x30,
OperandSizeByte = 0,
DestinationMemory=true
}); // memory
}
}
}