1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-12-02 02:49:28 +00:00

Better sorts by function, corrects TEST description.

This commit is contained in:
Thomas Harte 2021-01-15 21:07:02 -05:00
parent 47d20699d8
commit 9c2c918760

View File

@ -32,25 +32,16 @@ enum class Operation: uint8_t {
AAM, AAM,
/// ASCII adjust after subtraction; source will be AL and destination will be AX. /// ASCII adjust after subtraction; source will be AL and destination will be AX.
AAS, AAS,
/// Convert byte into word; source will be AL, destination will be AH.
CBW,
/// Complement carry flag; no source or destination provided.
CMC,
/// Compare; source, destination, operand and displacement will be populated appropriately.
CMP,
/// Compare [bytes or words, per operation size]; source and destination implied to be DS:[SI] and ES:[DI].
CMPS,
/// Convert word to double word; source will be AX and destination will be DX.
CWD,
/// Decimal adjust after addition; source and destination will be AL. /// Decimal adjust after addition; source and destination will be AL.
DAA, DAA,
/// Decimal adjust after subtraction; source and destination will be AL. /// Decimal adjust after subtraction; source and destination will be AL.
DAS, DAS,
/// Decrement; source, destination, operand and displacement will be populated appropriately.
DEC, /// Convert byte into word; source will be AL, destination will be AH.
/// Increment; source, destination, operand and displacement will be populated appropriately. CBW,
INC, /// Convert word to double word; source will be AX and destination will be DX.
CWD,
/// Escape, for a coprocessor; perform the bus cycles necessary to read the source and destination and perform a NOP. /// Escape, for a coprocessor; perform the bus cycles necessary to read the source and destination and perform a NOP.
ESC, ESC,
@ -59,7 +50,6 @@ enum class Operation: uint8_t {
/// Waits until the WAIT input is asserted; if an interrupt occurs then it is serviced but returns to the WAIT. /// Waits until the WAIT input is asserted; if an interrupt occurs then it is serviced but returns to the WAIT.
WAIT, WAIT,
/// Add with carry; source, destination, operand and displacement will be populated appropriately. /// Add with carry; source, destination, operand and displacement will be populated appropriately.
ADC, ADC,
/// Add; source, destination, operand and displacement will be populated appropriately. /// Add; source, destination, operand and displacement will be populated appropriately.
@ -77,13 +67,16 @@ enum class Operation: uint8_t {
/// Signed divide; divide the source value by AX or AL, storing the quotient in AL and the remainder in AH. /// Signed divide; divide the source value by AX or AL, storing the quotient in AL and the remainder in AH.
IDIV, IDIV,
/// Increment; source, destination, operand and displacement will be populated appropriately.
INC,
/// Decrement; source, destination, operand and displacement will be populated appropriately.
DEC,
/// Reads from the port specified by source to the destination. /// Reads from the port specified by source to the destination.
IN, IN,
/// Writes from the port specified by destination from the source. /// Writes from the port specified by destination from the source.
OUT, OUT,
// Various jumps; see the displacement to calculate targets. // Various jumps; see the displacement to calculate targets.
JO, JNO, JB, JNB, JE, JNE, JBE, JNBE, JO, JNO, JB, JNB, JE, JNE, JBE, JNBE,
JS, JNS, JP, JNP, JL, JNL, JLE, JNLE, JS, JNS, JP, JNP, JL, JNL, JLE, JNLE,
@ -124,6 +117,8 @@ enum class Operation: uint8_t {
/// Computes the effective address of the source and loads it into the destination. /// Computes the effective address of the source and loads it into the destination.
LEA, LEA,
/// Compare [bytes or words, per operation size]; source and destination implied to be DS:[SI] and ES:[DI].
CMPS,
/// Load string; reads from DS:SI into AL or AX, subject to segment override. /// Load string; reads from DS:SI into AL or AX, subject to segment override.
LODS, LODS,
/// Move string; moves a byte or word from DS:SI to ES:DI. If a segment override is provided, it overrides the the source. /// Move string; moves a byte or word from DS:SI to ES:DI. If a segment override is provided, it overrides the the source.
@ -185,8 +180,12 @@ enum class Operation: uint8_t {
STD, STD,
/// Set interrupt flag. /// Set interrupt flag.
STI, STI,
/// Complement carry flag; no source or destination provided.
CMC,
/// Compares source and destination. /// Compare; source, destination, operand and displacement will be populated appropriately.
CMP,
/// Sets flags based on the result of a logical AND of source and destination.
TEST, TEST,
/// Exchanges the contents of the source and destination. /// Exchanges the contents of the source and destination.