diff options
Diffstat (limited to 'src/devices/cpu/uml.cpp')
-rw-r--r-- | src/devices/cpu/uml.cpp | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/src/devices/cpu/uml.cpp b/src/devices/cpu/uml.cpp index 07d5de9b57f..466c47aeda4 100644 --- a/src/devices/cpu/uml.cpp +++ b/src/devices/cpu/uml.cpp @@ -22,9 +22,6 @@ * Support for FPU exceptions * New instructions? - - FCOPYI, ICOPYF - copy raw between float and integer registers - - VALID opcode_desc,handle,param checksum/compare code referenced by opcode_desc; if not matching, generate exception with handle,param @@ -214,6 +211,8 @@ const opcode_info instruction::s_opcode_info_table[OP_MAX] = OPINFO2(FSQRT, "f#sqrt", 4|8, false, NONE, NONE, ALL, PINFO(OUT, OP, FRM), PINFO(IN, OP, FANY)) OPINFO2(FRECIP, "f#recip", 4|8, false, NONE, NONE, ALL, PINFO(OUT, OP, FRM), PINFO(IN, OP, FANY)) OPINFO2(FRSQRT, "f#rsqrt", 4|8, false, NONE, NONE, ALL, PINFO(OUT, OP, FRM), PINFO(IN, OP, FANY)) + OPINFO2(FCOPYI, "f#copyi", 4|8, false, NONE, NONE, NONE, PINFO(OUT, OP, FRM), PINFO(IN, OP, IRM)) + OPINFO2(ICOPYF, "icopyf#", 4|8, false, NONE, NONE, NONE, PINFO(OUT, OP, IRM), PINFO(IN, OP, FRM)) }; @@ -870,11 +869,19 @@ std::string uml::instruction::disasm(drcuml_state *drcuml) const std::ostringstream buffer; for (const char *opsrc = opinfo.mnemonic; *opsrc != 0; opsrc++) if (*opsrc == '!') - util::stream_format(buffer, "%-8s", bang_size[m_size]); + util::stream_format(buffer, "%s", bang_size[m_size]); else if (*opsrc == '#') - util::stream_format(buffer, "%-8s", pound_size[m_size]); + util::stream_format(buffer, "%s", pound_size[m_size]); else - util::stream_format(buffer, "%-8c", *opsrc); + util::stream_format(buffer, "%c", *opsrc); + + // pad to 8 spaces + int pad = 8 - buffer.tellp(); + while (pad > 0) + { + buffer.put(' '); + pad--; + } // iterate through parameters for (int pnum = 0; pnum < m_numparams; pnum++) |