Implement OP_EQ

Fri, 19 Nov 2010 19:21:48 +0000

author
Matthew Wild <mwild1@gmail.com>
date
Fri, 19 Nov 2010 19:21:48 +0000
changeset 81
1deed5894ff6
parent 80
beb0bb936aca
child 82
72fe2316bd67

Implement OP_EQ

lvm.js file | annotate | diff | comparison | revisions
--- a/lvm.js	Fri Nov 19 19:21:36 2010 +0000
+++ b/lvm.js	Fri Nov 19 19:21:48 2010 +0000
@@ -14,6 +14,7 @@
 var OP_ADD = 12;
 var OP_SUB = 13;
 var OP_JMP = 22;
+var OP_EQ = 23;
 var OP_LT = 24;
 var OP_TEST = 26;
 var OP_TESTSET = 27;
@@ -563,6 +564,13 @@
 			case OP_JMP:
 				frame.pc+=INS_sBx(instruction);
 				break;
+			case OP_EQ:
+				var A = INS_A(instruction);
+				var RB = RK(frame, INS_B(instruction));
+				var RC = RK(frame, INS_C(instruction));
+				if(RB.equals(RC) != (A!=0))
+					frame.pc++;
+				break;
 			case OP_ADD:
 				var RB = RK(frame, INS_B(instruction));
 				var RC = RK(frame, INS_C(instruction));

mercurial