Implement OP_DIV (no metamethod yet)

Sat, 20 Nov 2010 15:19:19 +0000

author
Matthew Wild <mwild1@gmail.com>
date
Sat, 20 Nov 2010 15:19:19 +0000
changeset 99
633e414a496c
parent 98
14d2400ec059
child 100
d20586b6104c

Implement OP_DIV (no metamethod yet)

lvm.js file | annotate | diff | comparison | revisions
--- a/lvm.js	Sat Nov 20 12:13:12 2010 +0000
+++ b/lvm.js	Sat Nov 20 15:19:19 2010 +0000
@@ -13,6 +13,7 @@
 var OP_SELF = 11;
 var OP_ADD = 12;
 var OP_SUB = 13;
+var OP_DIV = 15;
 var OP_JMP = 22;
 var OP_EQ = 23;
 var OP_LT = 24;
@@ -580,6 +581,11 @@
 				var RC = RK(frame, INS_C(instruction));
 				frame.reg[INS_A(instruction)] = new LValue(this, "number", RB.value - RC.value);
 				break;
+			case OP_DIV:
+				var RB = RK(frame, INS_B(instruction));
+				var RC = RK(frame, INS_C(instruction));
+				frame.reg[INS_A(instruction)] = new LValue(this, "number", RB.value / RC.value);
+				break;
 			case OP_EQ:
 				var A = INS_A(instruction);
 				var RB = RK(frame, INS_B(instruction));

mercurial