svn path=/trunk/; revision=64773
Fast486MemReadCallback(PFAST486_STATE State, ULONG Address, PVOID Buffer, ULONG Size)
{
UNREFERENCED_PARAMETER(State);
Fast486MemReadCallback(PFAST486_STATE State, ULONG Address, PVOID Buffer, ULONG Size)
{
UNREFERENCED_PARAMETER(State);
RtlMoveMemory(Buffer, (PVOID)Address, Size);
}
RtlMoveMemory(Buffer, (PVOID)Address, Size);
}
Fast486MemWriteCallback(PFAST486_STATE State, ULONG Address, PVOID Buffer, ULONG Size)
{
UNREFERENCED_PARAMETER(State);
Fast486MemWriteCallback(PFAST486_STATE State, ULONG Address, PVOID Buffer, ULONG Size)
{
UNREFERENCED_PARAMETER(State);
RtlMoveMemory((PVOID)Address, Buffer, Size);
}
RtlMoveMemory((PVOID)Address, Buffer, Size);
}
FAST486_OPCODE_HANDLER(Fast486OpcodeGroup0F01)
{
FAST486_OPCODE_HANDLER(Fast486OpcodeGroup0F01)
{
+ // FAST486_TABLE_REG TableReg;
UCHAR TableReg[6];
FAST486_MOD_REG_RM ModRegRm;
BOOLEAN OperandSize, AddressSize;
UCHAR TableReg[6];
FAST486_MOD_REG_RM ModRegRm;
BOOLEAN OperandSize, AddressSize;
}
/* Fill the 6-byte table register */
}
/* Fill the 6-byte table register */
- RtlCopyMemory(TableReg, &State->Gdtr.Size, sizeof(USHORT));
- RtlCopyMemory(&TableReg[sizeof(USHORT)], &State->Gdtr.Address, sizeof(ULONG));
+ // TableReg = State->Gdtr;
+ *((PUSHORT)&TableReg) = State->Gdtr.Size;
+ *((PULONG)&TableReg[sizeof(USHORT)]) = State->Gdtr.Address;
/* Store the GDTR */
return Fast486WriteMemory(State,
/* Store the GDTR */
return Fast486WriteMemory(State,
}
/* Fill the 6-byte table register */
}
/* Fill the 6-byte table register */
- RtlCopyMemory(TableReg, &State->Idtr.Size, sizeof(USHORT));
- RtlCopyMemory(&TableReg[sizeof(USHORT)], &State->Idtr.Address, sizeof(ULONG));
+ // TableReg = State->Idtr;
+ *((PUSHORT)&TableReg) = State->Idtr.Size;
+ *((PULONG)&TableReg[sizeof(USHORT)]) = State->Idtr.Address;
/* Store the IDTR */
return Fast486WriteMemory(State,
/* Store the IDTR */
return Fast486WriteMemory(State,
- State->Gdtr.Size = *((PUSHORT)TableReg);
+ // State->Gdtr = TableReg;
+ State->Gdtr.Size = *((PUSHORT)&TableReg);
State->Gdtr.Address = *((PULONG)&TableReg[sizeof(USHORT)]);
/* In 16-bit mode the highest byte is masked out */
State->Gdtr.Address = *((PULONG)&TableReg[sizeof(USHORT)]);
/* In 16-bit mode the highest byte is masked out */
- State->Idtr.Size = *((PUSHORT)TableReg);
+ // State->Idtr = TableReg;
+ State->Idtr.Size = *((PUSHORT)&TableReg);
State->Idtr.Address = *((PULONG)&TableReg[sizeof(USHORT)]);
/* In 16-bit mode the highest byte is masked out */
State->Idtr.Address = *((PULONG)&TableReg[sizeof(USHORT)]);
/* In 16-bit mode the highest byte is masked out */