# HG changeset patch # User Matthew Wild # Date 1290194508 0 # Node ID 1deed5894ff68f9f18d6a98b42713f28cf847983 # Parent beb0bb936acaab6a50b628284d3abe5d361253da Implement OP_EQ diff -r beb0bb936aca -r 1deed5894ff6 lvm.js --- 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));