lvm.js

changeset 110
6a6e5ef39eaf
parent 109
db4b13efbd50
child 112
5318bb31b0ac
equal deleted inserted replaced
109:db4b13efbd50 110:6a6e5ef39eaf
11 var OP_SETTABLE = 9; 11 var OP_SETTABLE = 9;
12 var OP_NEWTABLE = 10; 12 var OP_NEWTABLE = 10;
13 var OP_SELF = 11; 13 var OP_SELF = 11;
14 var OP_ADD = 12; 14 var OP_ADD = 12;
15 var OP_SUB = 13; 15 var OP_SUB = 13;
16 //var OP_MUL = 14; 16 var OP_MUL = 14;
17 var OP_DIV = 15; 17 var OP_DIV = 15;
18 //var OP_MOD = 16; 18 //var OP_MOD = 16;
19 //var OP_POW = 17; 19 //var OP_POW = 17;
20 //var OP_UNM = 18; 20 //var OP_UNM = 18;
21 //var OP_NOT = 19; 21 //var OP_NOT = 19;
618 case OP_SUB: 618 case OP_SUB:
619 var RB = RK(frame, INS_B(instruction)); 619 var RB = RK(frame, INS_B(instruction));
620 var RC = RK(frame, INS_C(instruction)); 620 var RC = RK(frame, INS_C(instruction));
621 frame.reg[INS_A(instruction)] = new LValue(this, "number", RB.value - RC.value); 621 frame.reg[INS_A(instruction)] = new LValue(this, "number", RB.value - RC.value);
622 break; 622 break;
623 case OP_MUL:
624 var RB = RK(frame, INS_B(instruction));
625 var RC = RK(frame, INS_C(instruction));
626 frame.reg[INS_A(instruction)] = new LValue(this, "number", RB.value * RC.value);
627 break;
623 case OP_DIV: 628 case OP_DIV:
624 var RB = RK(frame, INS_B(instruction)); 629 var RB = RK(frame, INS_B(instruction));
625 var RC = RK(frame, INS_C(instruction)); 630 var RC = RK(frame, INS_C(instruction));
626 frame.reg[INS_A(instruction)] = new LValue(this, "number", RB.value / RC.value); 631 frame.reg[INS_A(instruction)] = new LValue(this, "number", RB.value / RC.value);
627 break; 632 break;

mercurial