Cosmos/source2/Compiler/Cosmos.Compiler.XSharp/RegisterAL.cs
kudzu_cp bf883e964a
2011-07-18 00:02:27 +00:00

37 lines
1.1 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Cosmos.Compiler.Assembler;
using Cosmos.Compiler.Assembler.X86;
namespace Cosmos.Compiler.XSharp {
public class RegisterAL : Register08 {
public static readonly RegisterAL Instance = new RegisterAL();
public static implicit operator RegisterAL(byte aValue) {
Instance.Move(aValue);
return Instance;
}
public static implicit operator RegisterAL(char aValue) {
Instance.Move((byte)aValue);
return Instance;
}
public static implicit operator RegisterAL(MemoryAction aAction) {
Instance.Move(aAction);
return Instance;
}
public static implicit operator RegisterAL(PortNumber aPort) {
new IN { DestinationReg = Registers.AL };
return Instance;
}
public static implicit operator PortNumber(RegisterAL aAL) {
return new PortNumber(aAL.GetId());
}
}
}