From c22e8112e7fd8ffc955e269f9f9bb0f9f1d32ad7 Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Fri, 11 Mar 2022 20:30:56 -0500 Subject: [PATCH] Expand exposition. --- InstructionSets/x86/Instruction.hpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/InstructionSets/x86/Instruction.hpp b/InstructionSets/x86/Instruction.hpp index 3b1c9b3d8..1777a1081 100644 --- a/InstructionSets/x86/Instruction.hpp +++ b/InstructionSets/x86/Instruction.hpp @@ -311,18 +311,24 @@ enum class Operation: uint8_t { /// [Early 80386s only] Insert bit string. IBTS, - /// Inputs a double word from a port, incrementing or decrementing the destination. + /// Inputs a double word the port specified by DX, writing it to + /// ES:[e]DI and incrementing or decrementing [e]DI as per the + /// current EFLAGS DF flag. INSD, - /// Convert dword to qword. + /// Convert dword to qword; fills EDX with the sign bit of EAX. CDQ, /// Convert word to dword; AX will be expanded to fill EAX. /// Compare and contrast to CWD which would expand AX to DX:AX. CWDE, - /// Move with zero extension. + /// Move from the source to the destination, extending the source with zeros. + /// The instruction data size dictates the size of the source; the destination will + /// be either 16- or 32-bit depending on the current processor operating mode. MOVZX, - /// Move with sign extension. + /// Move from the source to the destination, applying a sign extension. + /// The instruction data size dictates the size of the source; the destination will + /// be either 16- or 32-bit depending on the current processor operating mode. MOVSX, /// Two-operand form of IMUL; multiply the source by the destination and write to the destination.