예제 #1
0
파일: compiler.cs 프로젝트: runefs/Marvin
		private void Emit (OpCode op, OpFlags flags) {
			Emit (EncodeOp (op, flags));
		}
예제 #2
0
파일: compiler.cs 프로젝트: runefs/Marvin
		public static void DecodeOp (ushort word, out OpCode op, out OpFlags flags) {
			op = (OpCode)(word & 0x00ff);
			flags = (OpFlags)(word & 0xff00);
		}
예제 #3
0
파일: compiler.cs 프로젝트: runefs/Marvin
		private void Emit (OpCode op) {
			Emit (op, (OpFlags)0);
		}
예제 #4
0
파일: compiler.cs 프로젝트: runefs/Marvin
		public static ushort EncodeOp (OpCode op, OpFlags flags) {
			return (ushort)((int)op | ((int)flags & 0xff00));
		}
예제 #5
0
 private void Emit(OpCode op, OpFlags flags)
 {
     this.Emit(PatternCompiler.EncodeOp(op, flags));
 }
예제 #6
0
 private void Emit(OpCode op)
 {
     this.Emit(op, OpFlags.None);
 }
예제 #7
0
 public static void DecodeOp(ushort word, out OpCode op, out OpFlags flags)
 {
     op    = (OpCode)(word & 255);
     flags = (OpFlags)(word & 65280);
 }
예제 #8
0
 public static ushort EncodeOp(OpCode op, OpFlags flags)
 {
     return((ushort)(op | (OpCode)(flags & (OpFlags)65280)));
 }