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 */
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 */
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 */
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 */