mirror of
https://github.com/TomHarte/CLK.git
synced 2024-11-26 08:49:37 +00:00
Eliminate INSD.
This commit is contained in:
parent
e6bd265729
commit
f1c4864016
@ -244,7 +244,7 @@ std::pair<int, typename Decoder<model>::InstructionT> Decoder<model>::decode(con
|
||||
RequiresMin(i80186);
|
||||
Complete(INS, None, None, DataSize::Byte);
|
||||
break;
|
||||
case 0x6d: // INSW
|
||||
case 0x6d: // INSW/INSD
|
||||
RequiresMin(i80186);
|
||||
Complete(INS, None, None, data_size_);
|
||||
break;
|
||||
@ -252,7 +252,7 @@ std::pair<int, typename Decoder<model>::InstructionT> Decoder<model>::decode(con
|
||||
RequiresMin(i80186);
|
||||
Complete(OUTS, None, None, DataSize::Byte);
|
||||
break;
|
||||
case 0x6f: // OUTSW
|
||||
case 0x6f: // OUTSW/OUSD
|
||||
RequiresMin(i80186);
|
||||
Complete(OUTS, None, None, data_size_);
|
||||
break;
|
||||
|
@ -88,7 +88,7 @@ enum class Operation: uint8_t {
|
||||
|
||||
/// Far call; see the segment() and offset() fields.
|
||||
CALLfar,
|
||||
/// Displacement call; followed by a 16-bit operand providing a call offset.
|
||||
/// Relative call; see displacement().
|
||||
CALLrel,
|
||||
/// Near call.
|
||||
CALLabs,
|
||||
@ -216,11 +216,12 @@ enum class Operation: uint8_t {
|
||||
/// Procedure exit; copies BP to SP, then pops a new BP from the stack.
|
||||
LEAVE,
|
||||
|
||||
// TODO: expand detail on all operations below.
|
||||
|
||||
/// Inputs from a port, incrementing or decrementing the destination.
|
||||
/// Inputs a byte, word or double word from the port specified by DX, writing it to
|
||||
/// ES:[e]DI and incrementing or decrementing [e]DI as per the
|
||||
/// current EFLAGS DF flag.
|
||||
INS,
|
||||
/// Outputs to a port, incrementing or decrementing the destination.
|
||||
/// Outputs a byte, word or double word from ES:[e]DI to the port specified by DX,
|
||||
/// incrementing or decrementing [e]DI as per the current EFLAGS DF flag.]
|
||||
OUTS,
|
||||
|
||||
/// Pushes all general purpose registers to the stack, in the order:
|
||||
@ -234,6 +235,8 @@ enum class Operation: uint8_t {
|
||||
// 80286 additions.
|
||||
//
|
||||
|
||||
// TODO: expand detail on all operations below.
|
||||
|
||||
/// Adjusts requested privilege level.
|
||||
ARPL,
|
||||
/// Clears the task-switched flag.
|
||||
@ -312,11 +315,6 @@ enum class Operation: uint8_t {
|
||||
/// [Early 80386s only] Insert bit string.
|
||||
IBTS,
|
||||
|
||||
/// 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; fills EDX with the sign bit of EAX.
|
||||
CDQ,
|
||||
/// Convert word to dword; AX will be expanded to fill EAX.
|
||||
|
Loading…
Reference in New Issue
Block a user