mirror of
https://github.com/TomHarte/CLK.git
synced 2024-11-19 08:31:11 +00:00
JCXZ seems to be preferred over JPCX.
This commit is contained in:
parent
a7cf7d3183
commit
02fcaf0dbd
@ -67,7 +67,7 @@ std::string InstructionSet::x86::to_string(Operation operation, DataSize size) {
|
||||
case Operation::JMPabs: return "jmp word";
|
||||
case Operation::JMPrel: return "jmp";
|
||||
case Operation::JMPfar: return "jmpf word";
|
||||
case Operation::JPCX: return "jpcx";
|
||||
case Operation::JCXZ: return "jcxz";
|
||||
case Operation::INT: return "int";
|
||||
case Operation::INTO: return "into";
|
||||
|
||||
|
@ -109,7 +109,7 @@ enum class Operation: uint8_t {
|
||||
/// Far jump to the indicated segment and offset.
|
||||
JMPfar,
|
||||
/// Relative jump performed only if CX = 0; see the displacement.
|
||||
JPCX,
|
||||
JCXZ,
|
||||
/// Generates a software interrupt of the level stated in the operand.
|
||||
INT,
|
||||
/// Generates a software interrupt of level 4 if overflow is set.
|
||||
@ -353,7 +353,7 @@ constexpr bool has_displacement(Operation operation) {
|
||||
case Operation::JL: case Operation::JNL:
|
||||
case Operation::JLE: case Operation::JNLE:
|
||||
case Operation::LOOPNE: case Operation::LOOPE:
|
||||
case Operation::LOOP: case Operation::JPCX:
|
||||
case Operation::LOOP: case Operation::JCXZ:
|
||||
case Operation::CALLrel: case Operation::JMPrel:
|
||||
return true;
|
||||
}
|
||||
@ -383,7 +383,7 @@ constexpr int num_operands(Operation operation) {
|
||||
case Operation::JL: case Operation::JNL:
|
||||
case Operation::JLE: case Operation::JNLE:
|
||||
case Operation::LOOPNE: case Operation::LOOPE:
|
||||
case Operation::LOOP: case Operation::JPCX:
|
||||
case Operation::LOOP: case Operation::JCXZ:
|
||||
case Operation::CALLrel: case Operation::JMPrel:
|
||||
// Genuine zero-operand instructions:
|
||||
case Operation::CMPS: case Operation::LODS:
|
||||
|
@ -98,7 +98,7 @@ constexpr char TestSuiteHome[] = "/Users/tharte/Projects/ProcessorTests/8088/v1"
|
||||
using Repetition = InstructionSet::x86::Repetition;
|
||||
switch(decoded.second.repetition()) {
|
||||
case Repetition::None: break;
|
||||
case Repetition::RepE: operation += "rep "; break;
|
||||
case Repetition::RepE: operation += "repe "; break;
|
||||
case Repetition::RepNE: operation += "repne "; break;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user