mirror of
https://github.com/reactos/reactos.git
synced 2024-10-15 05:37:44 +00:00
[SOFT386]
Implement CMC instruction. svn path=/branches/ntvdm/; revision=59892
This commit is contained in:
parent
3925c4a3d8
commit
7ecbd63471
|
@ -269,7 +269,7 @@ Soft386OpcodeHandlers[SOFT386_NUM_OPCODE_HANDLERS] =
|
|||
Soft386OpcodePrefix,
|
||||
Soft386OpcodePrefix,
|
||||
Soft386OpcodeHalt,
|
||||
NULL, // TODO: OPCODE 0xF5 NOT SUPPORTED
|
||||
Soft386OpcodeComplCarry,
|
||||
NULL, // TODO: OPCODE 0xF6 NOT SUPPORTED
|
||||
NULL, // TODO: OPCODE 0xF7 NOT SUPPORTED
|
||||
Soft386OpcodeClearCarry,
|
||||
|
@ -780,6 +780,25 @@ Soft386OpcodeSetCarry(PSOFT386_STATE State, UCHAR Opcode)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
BOOLEAN
|
||||
FASTCALL
|
||||
Soft386OpcodeComplCarry(PSOFT386_STATE State, UCHAR Opcode)
|
||||
{
|
||||
/* Make sure this is the right instruction */
|
||||
ASSERT(Opcode == 0xF5);
|
||||
|
||||
/* No prefixes allowed */
|
||||
if (State->PrefixFlags)
|
||||
{
|
||||
Soft386Exception(State, SOFT386_EXCEPTION_UD);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* Toggle CF and return success */
|
||||
State->Flags.Cf = !State->Flags.Cf;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOLEAN
|
||||
FASTCALL
|
||||
Soft386OpcodeClearInt(PSOFT386_STATE State, UCHAR Opcode)
|
||||
|
|
|
@ -103,6 +103,14 @@ Soft386OpcodeSetCarry
|
|||
UCHAR Opcode
|
||||
);
|
||||
|
||||
BOOLEAN
|
||||
FASTCALL
|
||||
Soft386OpcodeComplCarry
|
||||
(
|
||||
PSOFT386_STATE State,
|
||||
UCHAR Opcode
|
||||
);
|
||||
|
||||
BOOLEAN
|
||||
FASTCALL
|
||||
Soft386OpcodeClearInt
|
||||
|
|
Loading…
Reference in a new issue