Fix 32-bit segment-register MOVs (they write 32 bits to a register, but only 16 bits to memory)

This commit is contained in:
Jeff Parsons 2015-05-08 13:36:02 -07:00 committed by jeffpar
commit 07530c7e58
3 changed files with 24 additions and 16 deletions

View file

@ -2098,10 +2098,6 @@ X86.opMOVwsr = function MOVwsr()
}
/*
* Like other MOV operations, the destination does not need to be read, just written.
*
* TODO: Confirm this instruction's behavior on the 80386; ie, if a 32-bit OPERAND size is
* in effect, does it still write only 16 bits? If so, we must add a setDataSize(2) override.
* Confirm for both register and memory destinations.
*/
this.opFlags |= X86.OPFLAG.NOREAD;
this.aOpModMemWord[bModRM].call(this, X86.fnMOVxx);