summaryrefslogtreecommitdiff
path: root/orc/orcopcodes.c
diff options
context:
space:
mode:
Diffstat (limited to 'orc/orcopcodes.c')
-rw-r--r--orc/orcopcodes.c101
1 files changed, 0 insertions, 101 deletions
diff --git a/orc/orcopcodes.c b/orc/orcopcodes.c
deleted file mode 100644
index 1ec3ea7..0000000
--- a/orc/orcopcodes.c
+++ /dev/null
@@ -1,101 +0,0 @@
-
-#include "config.h"
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-
-#include <orc/orcprogram.h>
-
-
-static OrcOpcode *opcode_list;
-static int n_opcodes;
-static int n_opcodes_alloc;
-
-
-
-void
-orc_opcode_register (const char *name, int n_dest, int n_src,
- OrcOpcodeEmulateFunc emulate, void *user)
-{
- OrcOpcode *opcode;
-
- if (n_opcodes == n_opcodes_alloc) {
- n_opcodes_alloc += 100;
- opcode_list = realloc(opcode_list, sizeof(OrcOpcode) * n_opcodes_alloc);
- }
-
- opcode = opcode_list + n_opcodes;
-
- opcode->name = strdup (name);
- opcode->n_src = n_src;
- opcode->n_dest = n_dest;
- opcode->emulate = emulate;
- opcode->emulate_user = user;
-
- n_opcodes++;
-}
-
-OrcOpcode *
-orc_opcode_find_by_name (const char *name)
-{
- int i;
-
- for(i=0;i<n_opcodes;i++){
- if (!strcmp (name, opcode_list[i].name)) {
- return opcode_list + i;
- }
- }
-
- return NULL;
-}
-
-static void
-move_s16 (OrcExecutor *ex, void *user)
-{
- ex->args[0]->s16 = ex->args[1]->s16;
-}
-
-static void
-add_s16 (OrcExecutor *ex, void *user)
-{
- ex->args[0]->s16 = (int16_t)(ex->args[1]->s16 + ex->args[2]->s16);
-}
-
-static void
-sub_s16 (OrcExecutor *ex, void *user)
-{
- ex->args[0]->s16 = (int16_t)(ex->args[1]->s16 - ex->args[2]->s16);
-}
-
-static void
-mul_s16 (OrcExecutor *ex, void *user)
-{
- ex->args[0]->s16 = (int16_t)(ex->args[1]->s16 * ex->args[2]->s16);
-}
-
-static void
-lshift_s16 (OrcExecutor *ex, void *user)
-{
- ex->args[0]->s16 = (int16_t)(ex->args[1]->s16 << ex->args[2]->s16);
-}
-
-static void
-rshift_s16 (OrcExecutor *ex, void *user)
-{
- ex->args[0]->s16 = (int16_t)(ex->args[1]->s16 >> ex->args[2]->s16);
-}
-
-void
-orc_opcode_init (void)
-{
- orc_opcode_register("_loadi_s16", 1, 1, move_s16, NULL);
-
- orc_opcode_register("add_s16", 1, 2, add_s16, NULL);
- orc_opcode_register("sub_s16", 1, 2, sub_s16, NULL);
- orc_opcode_register("mul_s16", 1, 2, mul_s16, NULL);
- orc_opcode_register("lshift_s16", 1, 2, lshift_s16, NULL);
- orc_opcode_register("rshift_s16", 1, 2, rshift_s16, NULL);
-}
-
-