using System;

public struct S {
	public int a, b;
}

class T {
	enum OpCode : ushort { False }
	enum OpFlags : ushort { None }
	static void DecodeOp (ushort word, out OpCode op, out OpFlags flags) {
		op = (OpCode)(word & 0x00ff);
		flags = (OpFlags)(word & 0xff00);
	}
	static void get_struct (out S s) {
		S ss;
		ss.a = 1;
		ss.b = 2;
		s = ss;
	}
	static int Main() {
		OpCode op;
		OpFlags flags;
		S s;
		DecodeOp ((ushort)0x0203, out op, out flags);
		if (op != (OpCode)0x3)
			return 1;
		if (flags != (OpFlags)0x200)
			return 2;
		get_struct (out s);
		if (s.a != 1)
			return 3;
		if (s.b != 2)
			return 4;
		return 0;
	}
}
