mirror of
https://github.com/TomHarte/CLK.git
synced 2024-06-30 22:29:56 +00:00
Reduce failures to 205/324.
This commit is contained in:
parent
e5dfc882cb
commit
9b3199d97b
|
@ -81,10 +81,22 @@ std::string InstructionSet::x86::to_string(Operation operation, DataSize size) {
|
||||||
constexpr char sizes[][6] = { "cmpsb", "cmpsw", "cmpsd", "?" };
|
constexpr char sizes[][6] = { "cmpsb", "cmpsw", "cmpsd", "?" };
|
||||||
return sizes[static_cast<int>(size)];
|
return sizes[static_cast<int>(size)];
|
||||||
}
|
}
|
||||||
case Operation::LODS: return "lods";
|
case Operation::LODS: {
|
||||||
case Operation::MOVS: return "movs";
|
constexpr char sizes[][6] = { "lodsb", "lodsw", "lodsd", "?" };
|
||||||
case Operation::SCAS: return "scas";
|
return sizes[static_cast<int>(size)];
|
||||||
case Operation::STOS: return "stos";
|
}
|
||||||
|
case Operation::MOVS: {
|
||||||
|
constexpr char sizes[][6] = { "movsb", "movsw", "movsd", "?" };
|
||||||
|
return sizes[static_cast<int>(size)];
|
||||||
|
}
|
||||||
|
case Operation::SCAS: {
|
||||||
|
constexpr char sizes[][6] = { "scasb", "scasw", "scasd", "?" };
|
||||||
|
return sizes[static_cast<int>(size)];
|
||||||
|
}
|
||||||
|
case Operation::STOS: {
|
||||||
|
constexpr char sizes[][6] = { "stosb", "stosw", "stosd", "?" };
|
||||||
|
return sizes[static_cast<int>(size)];
|
||||||
|
}
|
||||||
|
|
||||||
case Operation::LOOP: return "loop";
|
case Operation::LOOP: return "loop";
|
||||||
case Operation::LOOPE: return "loope";
|
case Operation::LOOPE: return "loope";
|
||||||
|
|
|
@ -366,6 +366,8 @@ constexpr int num_operands(Operation operation) {
|
||||||
case Operation::IDIV:
|
case Operation::IDIV:
|
||||||
case Operation::RETfar:
|
case Operation::RETfar:
|
||||||
case Operation::ESC:
|
case Operation::ESC:
|
||||||
|
case Operation::AAM: case Operation::AAD:
|
||||||
|
case Operation::INT:
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
// Pedantically, these have an displacement rather than an operand.
|
// Pedantically, these have an displacement rather than an operand.
|
||||||
|
@ -387,6 +389,10 @@ constexpr int num_operands(Operation operation) {
|
||||||
case Operation::STI:
|
case Operation::STI:
|
||||||
case Operation::CMC:
|
case Operation::CMC:
|
||||||
case Operation::LAHF: case Operation::SAHF:
|
case Operation::LAHF: case Operation::SAHF:
|
||||||
|
case Operation::AAA: case Operation::AAS:
|
||||||
|
case Operation::DAA: case Operation::DAS:
|
||||||
|
case Operation::CBW: case Operation::CWD:
|
||||||
|
case Operation::INTO:
|
||||||
case Operation::Invalid:
|
case Operation::Invalid:
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user