summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/mcs96/mcs96d.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/mcs96/mcs96d.h')
-rw-r--r--src/devices/cpu/mcs96/mcs96d.h54
1 files changed, 36 insertions, 18 deletions
diff --git a/src/devices/cpu/mcs96/mcs96d.h b/src/devices/cpu/mcs96/mcs96d.h
index 453727258bf..43d4fbaf029 100644
--- a/src/devices/cpu/mcs96/mcs96d.h
+++ b/src/devices/cpu/mcs96/mcs96d.h
@@ -35,30 +35,48 @@ protected:
DASM_rel8, /* Relative, 8 bits */
DASM_rel11, /* Relative, 11 bits */
DASM_rel16, /* Relative, 16 bits */
- DASM_rrel8, /* Register + relative, 8 bits */
+ DASM_rrel8, /* Register (8-bit) + relative, 8 bits */
DASM_brrel8, /* Bit test + register + relative, 8 bits */
- DASM_direct_1, /* Register-direct references, 1 operator */
- DASM_direct_2, /* Register-direct references, 2 operators */
- DASM_direct_3, /* Register-direct references, 3 operators */
- DASM_immed_1b, /* Immediate references to byte, 1 operator */
- DASM_immed_2b, /* Immediate references to byte, 2 operators */
- DASM_immed_or_reg_2b, /* Immediate references to byte or register, 2 operators */
- DASM_immed_3b, /* Immediate references to byte, 3 operators */
- DASM_immed_1w, /* Immediate references to word, 1 operator */
- DASM_immed_2w, /* Immediate references to word, 2 operators */
- DASM_immed_3w, /* Immediate references to word, 3 operators */
+ DASM_wrrel8, /* Register (16-bit) + relative, 8 bits */
+ DASM_direct_1b, /* Register-direct references, 1 operator, 8 bits */
+ DASM_direct_2b, /* Register-direct references, 2 operators, 8 bits */
+ DASM_direct_2e, /* Register-direct references, 2 operators, 8 bits extended to 16 */
+ DASM_direct_3b, /* Register-direct references, 3 operators, 8 bits */
+ DASM_direct_3e, /* Register-direct references, 3 operators, 8 bits extended to 16 */
+ DASM_direct_1w, /* Register-direct references, 1 operator, 16 bits */
+ DASM_direct_2w, /* Register-direct references, 2 operators, 16 bits */
+ DASM_direct_3w, /* Register-direct references, 3 operators, 16 bits */
+ DASM_immed_1b, /* Immediate references to byte, 1 operator, 8 bits */
+ DASM_immed_2b, /* Immediate references to byte, 2 operators, 8 bits */
+ DASM_immed_2e, /* Immediate references to byte, 2 operators, 8 bits extended to 16 */
+ DASM_immed_or_reg_2b, /* Immediate references to byte or register, 2 operators, 8 bits */
+ DASM_immed_3b, /* Immediate references to byte, 3 operators, 8 bits */
+ DASM_immed_3e, /* Immediate references to byte, 3 operators, 8 bits extended to 16 */
+ DASM_immed_1w, /* Immediate references to word, 1 operator, 16 bits */
+ DASM_immed_2w, /* Immediate references to word, 2 operators, 16 bits */
+ DASM_immed_or_reg_2w, /* Immediate references to byte or register, 2 operators, 16 bits */
+ DASM_immed_3w, /* Immediate references to word, 3 operators, 16 bits */
DASM_indirect_1n, /* Indirect normal, 1 operator */
- DASM_indirect_1, /* Indirect, normal or auto-incrementing, 1 operator */
- DASM_indirect_2, /* Indirect, normal or auto-incrementing, 2 operators */
- DASM_indirect_3, /* Indirect, normal or auto-incrementing, 3 operators */
- DASM_indexed_1, /* Indexed, short or long, 1 operator */
- DASM_indexed_2, /* Indexed, short or long, 2 operators */
- DASM_indexed_3 /* Indexed, short or long, 3 operators */
+ DASM_indirect_1w, /* Indirect, normal or auto-incrementing, 1 operator, 16 bits */
+ DASM_indirect_2b, /* Indirect, normal or auto-incrementing, 2 operators, 8 bits */
+ DASM_indirect_2w, /* Indirect, normal or auto-incrementing, 2 operators, 16 bits */
+ DASM_indirect_3b, /* Indirect, normal or auto-incrementing, 3 operators, 8 bits */
+ DASM_indirect_3e, /* Indirect, normal or auto-incrementing, 3 operators, 8 bits extended to 16 */
+ DASM_indirect_3w, /* Indirect, normal or auto-incrementing, 3 operators, 16 bits */
+ DASM_indexed_1w, /* Indexed, short or long, 1 operator, 16 bits */
+ DASM_indexed_2b, /* Indexed, short or long, 2 operators, 8 bits */
+ DASM_indexed_2w, /* Indexed, short or long, 2 operators, 16 bits */
+ DASM_indexed_3b, /* Indexed, short or long, 3 operators, 8 bits */
+ DASM_indexed_3e, /* Indexed, short or long, 3 operators, 8 bits extended to 16 */
+ DASM_indexed_3w /* Indexed, short or long, 3 operators, 16 bits */
};
const disasm_entry *m_entries;
- static std::string regname(uint8_t reg);
+ virtual std::string regname8(uint8_t reg, bool is_dest) const;
+ virtual std::string regname16(uint8_t reg, bool is_dest) const;
+ std::string regname_indirect(uint8_t reg) const;
+ std::string regname_indexed(uint8_t reg, int8_t delta) const;
};
#endif