1
0
mirror of https://github.com/TomHarte/CLK.git synced 2025-01-27 06:35:04 +00:00

JCXZ seems to be preferred over JPCX.

This commit is contained in:
Thomas Harte 2023-09-19 13:56:48 -04:00
parent a7cf7d3183
commit 02fcaf0dbd
3 changed files with 5 additions and 5 deletions

View File

@ -67,7 +67,7 @@ std::string InstructionSet::x86::to_string(Operation operation, DataSize size) {
case Operation::JMPabs: return "jmp word"; case Operation::JMPabs: return "jmp word";
case Operation::JMPrel: return "jmp"; case Operation::JMPrel: return "jmp";
case Operation::JMPfar: return "jmpf word"; case Operation::JMPfar: return "jmpf word";
case Operation::JPCX: return "jpcx"; case Operation::JCXZ: return "jcxz";
case Operation::INT: return "int"; case Operation::INT: return "int";
case Operation::INTO: return "into"; case Operation::INTO: return "into";

View File

@ -109,7 +109,7 @@ enum class Operation: uint8_t {
/// Far jump to the indicated segment and offset. /// Far jump to the indicated segment and offset.
JMPfar, JMPfar,
/// Relative jump performed only if CX = 0; see the displacement. /// Relative jump performed only if CX = 0; see the displacement.
JPCX, JCXZ,
/// Generates a software interrupt of the level stated in the operand. /// Generates a software interrupt of the level stated in the operand.
INT, INT,
/// Generates a software interrupt of level 4 if overflow is set. /// 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::JL: case Operation::JNL:
case Operation::JLE: case Operation::JNLE: case Operation::JLE: case Operation::JNLE:
case Operation::LOOPNE: case Operation::LOOPE: case Operation::LOOPNE: case Operation::LOOPE:
case Operation::LOOP: case Operation::JPCX: case Operation::LOOP: case Operation::JCXZ:
case Operation::CALLrel: case Operation::JMPrel: case Operation::CALLrel: case Operation::JMPrel:
return true; return true;
} }
@ -383,7 +383,7 @@ constexpr int num_operands(Operation operation) {
case Operation::JL: case Operation::JNL: case Operation::JL: case Operation::JNL:
case Operation::JLE: case Operation::JNLE: case Operation::JLE: case Operation::JNLE:
case Operation::LOOPNE: case Operation::LOOPE: case Operation::LOOPNE: case Operation::LOOPE:
case Operation::LOOP: case Operation::JPCX: case Operation::LOOP: case Operation::JCXZ:
case Operation::CALLrel: case Operation::JMPrel: case Operation::CALLrel: case Operation::JMPrel:
// Genuine zero-operand instructions: // Genuine zero-operand instructions:
case Operation::CMPS: case Operation::LODS: case Operation::CMPS: case Operation::LODS:

View File

@ -98,7 +98,7 @@ constexpr char TestSuiteHome[] = "/Users/tharte/Projects/ProcessorTests/8088/v1"
using Repetition = InstructionSet::x86::Repetition; using Repetition = InstructionSet::x86::Repetition;
switch(decoded.second.repetition()) { switch(decoded.second.repetition()) {
case Repetition::None: break; case Repetition::None: break;
case Repetition::RepE: operation += "rep "; break; case Repetition::RepE: operation += "repe "; break;
case Repetition::RepNE: operation += "repne "; break; case Repetition::RepNE: operation += "repne "; break;
} }