X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fcommon%2FScript.h;h=2459edc54f1d54971036196edbf550ab0aaf5fa8;hb=a3ba4dc677ad7c92eeb78b20b642241563605c9d;hp=0dbaf4d3b7bad72866af810a2a13862102206a85;hpb=238da3a706448d4c592460684e2a5a2c0eb81a04;p=l2e.git diff --git a/src/common/Script.h b/src/common/Script.h index 0dbaf4d..2459edc 100644 --- a/src/common/Script.h +++ b/src/common/Script.h @@ -1,13 +1,8 @@ -/* - * Script.h - * - * Created on: Oct 13, 2012 - * Author: holy - */ - #ifndef COMMON_SCRIPT_H_ #define COMMON_SCRIPT_H_ +#include + namespace common { class Script { @@ -16,30 +11,40 @@ public: Script(); ~Script(); - enum Code { - CODE_MOVE_A0, - CODE_MOVE_A1, - CODE_MOVE_I0, - CODE_MOVE_I1, - CODE_MOVE_V0, - CODE_MOVE_V1, - - CODE_ADD_I0, - CODE_ADD_I1, - CODE_ADD_V0, - CODE_ADD_V1, - - CODE_MOD_I0, - CODE_MOD_I1, + enum Command { + COMMAND_NOOP, + COMMAND_MOVE, + COMMAND_ADD, + COMMAND_MOD, + COMMAND_RAND, + COMMAND_CMP, + COMMAND_JMP, + COMMAND_JEQ, + COMMAND_JNE, + COMMAND_JL, + COMMAND_JLE, + COMMAND_JG, + COMMAND_JGE, + COMMAND_SYSC, + }; - CODE_RAND_I0, - CODE_RAND_I1, + enum Type { + TYPE_NONE, + TYPE_ADDRESS, + TYPE_INTEGER, + TYPE_VECTOR, + }; - CODE_SYSCALL, + struct Code { + Command command : 6; + unsigned int numParams : 2; + Type type : 2; + unsigned int reg1 : 3; + unsigned int reg2 : 3; }; public: - const unsigned char *text; + const char *text; int textlen; };