mirror of
https://github.com/TomHarte/CLK.git
synced 2024-11-26 23:52:26 +00:00
Complete 8086 operation list; standardise enum order.
This commit is contained in:
parent
710017ada2
commit
da953fdf0d
@ -58,11 +58,18 @@ std::string InstructionSet::x86::to_string(Operation operation, DataSize size) {
|
||||
case Operation::JLE: return "jle";
|
||||
case Operation::JNLE: return "jnle";
|
||||
|
||||
case Operation::IRET: return "iret";
|
||||
case Operation::JMPabs: return "jmp word";
|
||||
case Operation::JPCX: return "jpcx";
|
||||
case Operation::INT: return "int";
|
||||
case Operation::INTO: return "into";
|
||||
case Operation::CALLabs: return "call word";
|
||||
case Operation::CALLrel: return "call";
|
||||
case Operation::CALLfar: return "callf word";
|
||||
case Operation::IRET: return "iret";
|
||||
case Operation::RETfar: return "retf";
|
||||
case Operation::RETnear: return "retn";
|
||||
case Operation::JMPabs: return "jmp word";
|
||||
case Operation::JMPrel: return "jmp";
|
||||
case Operation::JMPfar: return "jmpf word";
|
||||
case Operation::JPCX: return "jpcx";
|
||||
case Operation::INT: return "int";
|
||||
case Operation::INTO: return "into";
|
||||
|
||||
case Operation::LAHF: return "lahf";
|
||||
case Operation::SAHF: return "sahf";
|
||||
@ -116,6 +123,8 @@ std::string InstructionSet::x86::to_string(Operation operation, DataSize size) {
|
||||
case Operation::XCHG: return "xchg";
|
||||
case Operation::XLAT: return "xlat";
|
||||
|
||||
case Operation::Invalid: return "invalid";
|
||||
|
||||
default:
|
||||
assert(false);
|
||||
}
|
||||
|
@ -90,12 +90,12 @@ enum class Operation: uint8_t {
|
||||
JO, JNO, JB, JNB, JE, JNE, JBE, JNBE,
|
||||
JS, JNS, JP, JNP, JL, JNL, JLE, JNLE,
|
||||
|
||||
/// Far call; see the segment() and offset() fields.
|
||||
CALLfar,
|
||||
/// Relative call; see displacement().
|
||||
CALLrel,
|
||||
/// Near call.
|
||||
CALLabs,
|
||||
/// Relative call; see displacement().
|
||||
CALLrel,
|
||||
/// Far call; see the segment() and offset() fields.
|
||||
CALLfar,
|
||||
/// Return from interrupt.
|
||||
IRET,
|
||||
/// Near return; if source is not ::None then it will be an ::Immediate indicating how many additional bytes to remove from the stack.
|
||||
|
Loading…
Reference in New Issue
Block a user