Added enum for instructions
This commit is contained in:
parent
9d30a3f8f5
commit
0e0c64007f
2 changed files with 39 additions and 5 deletions
|
@ -1,5 +1,6 @@
|
||||||
#include "IOcode.h"
|
#include "IOcode.h"
|
||||||
#include "TOS.h"
|
#include "TOS.h"
|
||||||
|
#include "OpCode.h"
|
||||||
|
|
||||||
|
|
||||||
int main(int argc, char** argv)
|
int main(int argc, char** argv)
|
||||||
|
@ -19,12 +20,32 @@ int main(int argc, char** argv)
|
||||||
{
|
{
|
||||||
switch (code[ip])
|
switch (code[ip])
|
||||||
{
|
{
|
||||||
case 1:
|
case DLOAD0:
|
||||||
push_double(12.1);
|
// DO(DLOAD0, "Load double 0 on TOS.", 1)
|
||||||
ip++;
|
push_double(0);
|
||||||
break;
|
ip++; break;
|
||||||
|
case ILOAD0:
|
||||||
|
//DO(ILOAD0, "Load int 0 on TOS.", 1)
|
||||||
|
push_int(0);
|
||||||
|
ip++; break;
|
||||||
|
case DLOAD1:
|
||||||
|
//DO(DLOAD1, "Load double 1 on TOS.", 1)
|
||||||
|
push_double(1);
|
||||||
|
ip++; break;
|
||||||
|
case ILOAD1:
|
||||||
|
//DO(ILOAD1, "Load int 1 on TOS.", 1)
|
||||||
|
push_int(1);
|
||||||
|
ip++; break;
|
||||||
|
case DLOADM1:
|
||||||
|
//DO(DLOADM1, "Load double -1 on TOS.", 1)
|
||||||
|
push_double(-1);
|
||||||
|
ip++; break;
|
||||||
|
case ILOADM1:
|
||||||
|
//DO(ILOADM1, "Load int -1 on TOS.", 1)
|
||||||
|
push_int(-1);
|
||||||
|
ip++; break;
|
||||||
|
|
||||||
case 78:
|
case STOP:
|
||||||
exec_status = 0;
|
exec_status = 0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
13
VaninVM/OpCode.h
Normal file
13
VaninVM/OpCode.h
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
#ifndef OPCODE_H
|
||||||
|
#define OPCODE_H
|
||||||
|
enum opcode
|
||||||
|
{
|
||||||
|
DLOAD0,
|
||||||
|
ILOAD0,
|
||||||
|
DLOAD1,
|
||||||
|
ILOAD1,
|
||||||
|
DLOADM1,
|
||||||
|
ILOADM1,
|
||||||
|
STOP
|
||||||
|
};
|
||||||
|
#endif
|
Loading…
Reference in a new issue