]> git.sur5r.net Git - cc65/commitdiff
Working on the backend
authorcuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Tue, 29 May 2001 18:11:06 +0000 (18:11 +0000)
committercuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Tue, 29 May 2001 18:11:06 +0000 (18:11 +0000)
git-svn-id: svn://svn.cc65.org/cc65/trunk@767 b7a2c559-68d2-44c3-8de9-860c34a00d81

src/cc65/opcodes.c
src/cc65/opcodes.h

index c6d9b35f55f933713a49201a929aebe8f17f68ab..bdd2dd66478268bd049e3af9f82c369b29be64a3 100644 (file)
 const OPCDesc OPCTable[OPCODE_COUNT] = {
 
     /* Opcodes for the virtual stack machine */
+    {   OPC_CALL,                              /* opcode */
+               "call",                                 /* mnemonic */
+               0,                                      /* size */
+               REG_NONE,                               /* use */
+               REG_NONE,                               /* chg */
+               OF_CPU_VM | OF_CALL                     /* flags */
+    },
+    {   OPC_ENTER,                                     /* opcode */
+               "enter",                                /* mnemonic */
+               0,                                      /* size */
+               REG_Y,                                  /* use */
+               REG_AXY,                                /* chg */
+               OF_CPU_VM                               /* flags */
+    },
+    {   OPC_JMP,                               /* opcode */
+               "jump",                                 /* mnemonic */
+               0,                                      /* size */
+               REG_NONE,                               /* use */
+               REG_NONE,                               /* chg */
+       OF_CPU_VM | OF_UBRA                     /* flags */
+    },
     {   OPC_LDA,                               /* opcode */
                "loada",                                /* mnemonic */
                0,                                      /* size */
@@ -79,6 +100,20 @@ const OPCDesc OPCTable[OPCODE_COUNT] = {
                REG_EAX,                                /* chg */
        OF_CPU_VM | OF_LOAD                     /* flags */
     },
+    {   OPC_LEA,                               /* opcode */
+               "lea",                                  /* mnemonic */
+               0,                                      /* size */
+               REG_NONE,                               /* use */
+               REG_AX,                                 /* chg */
+       OF_CPU_VM                               /* flags */
+    },
+    {   OPC_LEAVE,                                     /* opcode */
+               "leave",                                /* mnemonic */
+               0,                                      /* size */
+               REG_NONE,                               /* use */
+               REG_NONE,                               /* chg */
+       OF_CPU_VM                               /* flags */
+    },
     {   OPC_PHA,                               /* opcode */
                "pusha",                                /* mnemonic */
                0,                                      /* size */
@@ -100,6 +135,13 @@ const OPCDesc OPCTable[OPCODE_COUNT] = {
                REG_NONE,                               /* chg */
        OF_CPU_VM                               /* flags */
     },
+    {   OPC_SPACE,                                     /* opcode */
+               "space",                                /* mnemonic */
+               0,                                      /* size */
+               REG_NONE,                               /* use */
+               REG_NONE,                               /* chg */
+       OF_CPU_VM                               /* flags */
+    },
     {   OPC_STA,                               /* opcode */
                "storea",                               /* mnemonic */
                0,                                      /* size */
@@ -121,20 +163,6 @@ const OPCDesc OPCTable[OPCODE_COUNT] = {
                REG_NONE,                               /* chg */
        OF_CPU_VM                               /* flags */
     },
-    {   OPC_LEA,                               /* opcode */
-               "lea",                                  /* mnemonic */
-               0,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_AX,                                 /* chg */
-       OF_CPU_VM                               /* flags */
-    },
-    {   OPC_JMP,                               /* opcode */
-               "jump",                                 /* mnemonic */
-               0,                                      /* size */
-               REG_NONE,                               /* use */
-               REG_NONE,                               /* chg */
-       OF_CPU_VM | OF_UBRA                     /* flags */
-    },
 
     /* 65XX opcodes */
     {   OP65_ADC,                                      /* opcode */
index bd8b75e4822ad58e85b91565bbe01783b11623bd..e5bbbb7ee30335ca20108fa81b6bf709380ccfaa 100644 (file)
 typedef enum {
 
     /* Opcodes for the virtual stack machine */
+    OPC_CALL,
+    OPC_ENTER,
+    OPC_JMP,
     OPC_LDA,
     OPC_LDAX,
     OPC_LDEAX,
+    OPC_LEA,
+    OPC_LEAVE,
     OPC_PHA,
     OPC_PHAX,
     OPC_PHEAX,
+    OPC_SPACE,
     OPC_STA,
     OPC_STAX,
     OPC_STEAX,
-    OPC_LEA,
-    OPC_JMP,
 
     /* 65XX opcodes */
     OP65_ADC,