1
0
mirror of https://github.com/cc65/cc65.git synced 2024-07-11 14:29:11 +00:00

Working on the backend

git-svn-id: svn://svn.cc65.org/cc65/trunk@767 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
cuz 2001-05-29 18:11:06 +00:00
parent a9674c071a
commit 9ce1e413e4
2 changed files with 48 additions and 16 deletions

View File

@ -58,6 +58,27 @@
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 */

View File

@ -53,17 +53,21 @@
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,