vbox的更動 67098 路徑 trunk/src/VBox/ValidationKit
- 時間撮記:
- 2017-5-25 下午10:16:27 (7 年 以前)
- 檔案:
-
- 修改 1 筆資料
圖例:
- 未更動
- 新增
- 刪除
-
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-generated-1-template.c
r67097 r67098 1616 1616 1617 1617 1618 static unsigned BS3_NEAR_CODE Bs3Cg1EncodeNext_MODRM_Wps_WO_Vps__OR__MODRM_Wpd_WO_Vpd(PBS3CG1STATE pThis, unsigned iEncoding)1619 {1620 unsigned off;1621 if (iEncoding == 0)1622 {1623 off = Bs3Cg1InsertOpcodes(pThis, Bs3Cg1InsertReqPrefix(pThis, 0));1624 pThis->abCurInstr[off++] = X86_MODRM_MAKE(3, 1, 0);1625 pThis->aOperands[pThis->iRmOp ].idxField = BS3CG1DST_XMM0;1626 pThis->aOperands[pThis->iRegOp].idxField = BS3CG1DST_XMM1;1627 }1628 else if (iEncoding == 1)1629 {1630 pThis->aOperands[pThis->iRegOp].idxField = BS3CG1DST_XMM2;1631 off = Bs3Cg1InsertOpcodes(pThis, Bs3Cg1InsertReqPrefix(pThis, 0));1632 off = Bs3Cfg1EncodeMemMod0Disp(pThis, false, off, 2 /*iReg*/, 16, 0, BS3CG1OPLOC_MEM_WO);1633 }1634 else if (iEncoding == 2)1635 {1636 pThis->aOperands[pThis->iRegOp].idxField = BS3CG1DST_XMM3;1637 off = Bs3Cg1InsertOpcodes(pThis, Bs3Cg1InsertReqPrefix(pThis, 0));1638 off = Bs3Cfg1EncodeMemMod0Disp(pThis, false, off, 3 /*iReg*/, 16, 1 /*cbMisalign*/, BS3CG1OPLOC_MEM_WO);1639 if (!Bs3Cg1XcptTypeIsUnaligned(pThis->enmXcptType))1640 pThis->bAlignmentXcpt = X86_XCPT_GP;1641 }1642 else1643 return 0;1644 pThis->cbCurInstr = off;1645 return iEncoding + 1;1646 }1647 1648 1649 1618 static unsigned BS3_NEAR_CODE Bs3Cg1EncodeNext_MODRM_WqZxReg_WO_Vq(PBS3CG1STATE pThis, unsigned iEncoding) 1650 1619 { … … 3657 3626 switch (pThis->enmEncoding) 3658 3627 { 3659 case BS3CG1ENC_MODRM_Wps_WO_Vps:3660 case BS3CG1ENC_MODRM_Wpd_WO_Vpd:3661 return Bs3Cg1EncodeNext_MODRM_Wps_WO_Vps__OR__MODRM_Wpd_WO_Vpd(pThis, iEncoding);3662 3628 case BS3CG1ENC_MODRM_WqZxReg_WO_Vq: 3663 3629 return Bs3Cg1EncodeNext_MODRM_WqZxReg_WO_Vq(pThis, iEncoding); … … 3884 3850 case BS3CG1ENC_MODRM_Wps_WO_Vps: 3885 3851 case BS3CG1ENC_MODRM_Wpd_WO_Vpd: 3886 pThis->iRmOp = 0; 3887 pThis->iRegOp = 1; 3888 pThis->aOperands[0].cbOp = 16; 3889 pThis->aOperands[1].cbOp = 16; 3890 pThis->aOperands[0].enmLocation = BS3CG1OPLOC_CTX; 3891 pThis->aOperands[1].enmLocation = BS3CG1OPLOC_CTX; 3852 pThis->pfnEncoder = Bs3Cg1EncodeNext_MODRM_Vsomething_Wsomething_OR_ViceVersa; 3853 pThis->iRmOp = 0; 3854 pThis->iRegOp = 1; 3855 pThis->aOperands[0].cbOp = 16; 3856 pThis->aOperands[1].cbOp = 16; 3857 pThis->aOperands[0].idxFieldBase = BS3CG1DST_XMM0; 3858 pThis->aOperands[1].idxFieldBase = BS3CG1DST_XMM0; 3859 pThis->aOperands[0].enmLocationReg = BS3CG1OPLOC_CTX; 3860 pThis->aOperands[0].enmLocationMem = BS3CG1OPLOC_MEM_WO; 3861 pThis->aOperands[1].enmLocation = BS3CG1OPLOC_CTX; 3892 3862 break; 3893 3863
注意:
瀏覽 TracChangeset
來幫助您使用更動檢視器