public override Addr32 GetAddress(OpModule codes) { if (Source is Var) return (Source as Var).GetAddress(codes); else if (Source is IntValue) codes.Add(I386.MovR(Var.DestRegister, Val32.NewI((Source as IntValue).Value))); else if (Source is StringValue) codes.Add(I386.MovR(Var.DestRegister, codes.GetString((Source as StringValue).Value))); else { Source.AddCodesV(codes, "mov", null); return null; } return Addr32.New(Var.DestRegister); }
public override void AddCodesV(OpModule codes, string op, Addr32 dest) { codes.AddCodesV(op, dest, codes.GetString(Value)); }