Cosmos/source/Indy.IL2CPU/Assembler/x86/In.cs
mterwoord_cp f843b15a6c
2008-12-01 06:42:14 +00:00

32 lines
1.2 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Indy.IL2CPU.Assembler.X86 {
[OpCode("in")]
public class In : InstructionWithDestinationAndSourceAndSize {
public static void InitializeEncodingData(Instruction.InstructionData aData) {
aData.EncodingOptions.Add(new InstructionData.InstructionEncodingOption {
OpCode = new byte[] { 0xE4 },
OperandSizeByte = 0,
DestinationReg=Registers.EAX,
SourceImmediate = true,
SourceImmediateSize = InstructionSize.Byte,
DefaultSize=InstructionSize.DWord
}); // fixed port (immediate)
aData.EncodingOptions.Add(new InstructionData.InstructionEncodingOption {
OpCode = new byte[] { 0xEC },
OperandSizeByte = 0,
SourceReg = Registers.DX,
DefaultSize = InstructionSize.DWord,
DestinationReg=Registers.EAX
}); // fixed port (register)
}
public In() {
DestinationReg = Registers.EAX;
SourceReg = Registers.DX;
}
}
}