Added FDIV/FDIVR instructions (mirroring the arrangement of the FSUB/FSUBR instructions)
This commit is contained in:
parent
a11ed78926
commit
16e77d9b10
1 changed files with 21 additions and 9 deletions
|
|
@ -448,37 +448,43 @@ X86FPU.FDIVlr = function()
|
||||||
*/
|
*/
|
||||||
X86FPU.FDIVsr = function()
|
X86FPU.FDIVsr = function()
|
||||||
{
|
{
|
||||||
this.opUnimplemented();
|
this.setST(0, this.doDivide(this.getST(0), this.getSRFromEA()));
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* FDIVst()
|
* FDIVst()
|
||||||
*
|
*
|
||||||
|
* This is for encoding 0xD8,0xF0-0xF7 ("FDIV ST,ST(i)"): ST(0) <- ST(0) / ST(i)
|
||||||
|
*
|
||||||
* @this {X86FPU}
|
* @this {X86FPU}
|
||||||
*/
|
*/
|
||||||
X86FPU.FDIVst = function()
|
X86FPU.FDIVst = function()
|
||||||
{
|
{
|
||||||
this.opUnimplemented();
|
this.setST(0, this.doDivide(this.getST(0), this.getST(this.iStack)));
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* FDIVsti()
|
* FDIVsti()
|
||||||
*
|
*
|
||||||
|
* This is for encoding 0xDC,0xF8-0xFF ("FDIV ST(i),ST"): ST(i) <- ST(i) / ST(0)
|
||||||
|
*
|
||||||
* @this {X86FPU}
|
* @this {X86FPU}
|
||||||
*/
|
*/
|
||||||
X86FPU.FDIVsti = function()
|
X86FPU.FDIVsti = function()
|
||||||
{
|
{
|
||||||
this.opUnimplemented();
|
this.setST(this.iStack, this.doDivide(this.getST(this.iStack), this.getST(0)));
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* FDIVPsti()
|
* FDIVPsti()
|
||||||
*
|
*
|
||||||
|
* This is for encoding 0xDE,0xF8-0xFF ("FDIVP ST(i),ST"): ST(i) <- ST(i) / ST(0), POP
|
||||||
|
*
|
||||||
* @this {X86FPU}
|
* @this {X86FPU}
|
||||||
*/
|
*/
|
||||||
X86FPU.FDIVPsti = function()
|
X86FPU.FDIVPsti = function()
|
||||||
{
|
{
|
||||||
this.opUnimplemented();
|
if (this.setST(this.iStack, this.doDivide(this.getST(this.iStack), this.getST(0)))) this.popValue();
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -488,7 +494,7 @@ X86FPU.FDIVPsti = function()
|
||||||
*/
|
*/
|
||||||
X86FPU.FDIVRlr = function()
|
X86FPU.FDIVRlr = function()
|
||||||
{
|
{
|
||||||
this.opUnimplemented();
|
this.setST(0, this.doDivide(this.getLRFromEA(), this.getST(0)));
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -498,37 +504,43 @@ X86FPU.FDIVRlr = function()
|
||||||
*/
|
*/
|
||||||
X86FPU.FDIVRsr = function()
|
X86FPU.FDIVRsr = function()
|
||||||
{
|
{
|
||||||
this.opUnimplemented();
|
this.setST(0, this.doDivide(this.getSRFromEA(), this.getST(0)));
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* FDIVRst()
|
* FDIVRst()
|
||||||
*
|
*
|
||||||
|
* This is for encoding 0xD8,0xF8-0xFF ("FDIVR ST,ST(i)"): ST(0) <- ST(i) / ST(0)
|
||||||
|
*
|
||||||
* @this {X86FPU}
|
* @this {X86FPU}
|
||||||
*/
|
*/
|
||||||
X86FPU.FDIVRst = function()
|
X86FPU.FDIVRst = function()
|
||||||
{
|
{
|
||||||
this.opUnimplemented();
|
this.setST(0, this.doDivide(this.getST(this.iStack), this.getST(0)));
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* FDIVRsti()
|
* FDIVRsti()
|
||||||
*
|
*
|
||||||
|
* This is for encoding 0xDC,0xF0-0xF7 ("FDIVR ST(i),ST"): ST(i) <- ST(0) / ST(i)
|
||||||
|
*
|
||||||
* @this {X86FPU}
|
* @this {X86FPU}
|
||||||
*/
|
*/
|
||||||
X86FPU.FDIVRsti = function()
|
X86FPU.FDIVRsti = function()
|
||||||
{
|
{
|
||||||
this.opUnimplemented();
|
this.setST(this.iStack, this.doDivide(this.getST(0), this.getST(this.iStack)));
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* FDIVRPsti()
|
* FDIVRPsti()
|
||||||
*
|
*
|
||||||
|
* This is for encoding 0xDE,0xF0-0xE7 ("FDIVRP ST(i),ST"): ST(i) <- ST(0) / ST(i), POP
|
||||||
|
*
|
||||||
* @this {X86FPU}
|
* @this {X86FPU}
|
||||||
*/
|
*/
|
||||||
X86FPU.FDIVRPsti = function()
|
X86FPU.FDIVRPsti = function()
|
||||||
{
|
{
|
||||||
this.opUnimplemented();
|
if (this.setST(this.iStack, this.doDivide(this.getST(0), this.getST(this.iStack)))) this.popValue();
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue