Changeset 66309 in vbox for trunk/src/VBox/ValidationKit
- Timestamp:
- Mar 28, 2017 3:35:12 PM (8 years ago)
- svn:sync-xref-src-repo-rev:
- 114238
- Location:
- trunk/src/VBox/ValidationKit/bootsectors
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-generated-1-template.c
r66306 r66309 77 77 #if 0 78 78 # define BS3CG1_DPRINTF(a_ArgList) Bs3TestPrintf a_ArgList 79 //# define BS3CG1_DEBUG_CTX_MOD79 # define BS3CG1_DEBUG_CTX_MOD 80 80 #else 81 81 # define BS3CG1_DPRINTF(a_ArgList) do { } while (0) … … 1362 1362 break; 1363 1363 1364 case BS3CG1ENC_MODRM_Vq_UqHi: 1365 if (iEncoding == 0) 1366 { 1367 off = Bs3Cg1InsertOpcodes(pThis, Bs3Cg1InsertReqPrefix(pThis, 0)); 1368 pThis->abCurInstr[off++] = X86_MODRM_MAKE(3, 1, 0); 1369 pThis->aOperands[pThis->iRmOp ].idxField = BS3CG1DST_XMM0_HI; 1370 pThis->aOperands[pThis->iRegOp].idxField = BS3CG1DST_XMM1_LO; 1371 } 1372 else if (iEncoding == 1) 1373 { 1374 off = Bs3Cg1InsertOpcodes(pThis, Bs3Cg1InsertReqPrefix(pThis, 0)); 1375 pThis->abCurInstr[off++] = X86_MODRM_MAKE(3, 2, 2); 1376 pThis->aOperands[pThis->iRmOp ].idxField = BS3CG1DST_XMM2_HI; 1377 pThis->aOperands[pThis->iRegOp].idxField = BS3CG1DST_XMM2_LO; 1378 } 1379 else 1380 break; 1381 pThis->cbCurInstr = off; 1382 iEncoding++; 1383 break; 1384 1385 case BS3CG1ENC_MODRM_Vq_Mq: 1386 if (iEncoding == 0) 1387 { 1388 pThis->aOperands[pThis->iRegOp].idxField = BS3CG1DST_XMM2_LO; 1389 off = Bs3Cg1InsertOpcodes(pThis, Bs3Cg1InsertReqPrefix(pThis, 0)); 1390 off = Bs3Cfg1EncodeMemMod0Disp(pThis, false, off, 2 /*iReg*/, 8, 0, BS3CG1OPLOC_MEM); 1391 } 1392 else if (iEncoding == 1) 1393 { 1394 pThis->aOperands[pThis->iRegOp].idxField = BS3CG1DST_XMM3_LO; 1395 off = Bs3Cg1InsertOpcodes(pThis, Bs3Cg1InsertReqPrefix(pThis, 0)); 1396 off = Bs3Cfg1EncodeMemMod0Disp(pThis, false, off, 3 /*iReg*/, 8, 1 /*cbMissalign*/, BS3CG1OPLOC_MEM); 1397 } 1398 else 1399 break; 1400 pThis->cbCurInstr = off; 1401 iEncoding++; 1402 break; 1403 1364 1404 case BS3CG1ENC_MODRM_Gv_Ma: 1365 1405 cbOp = BS3_MODE_IS_16BIT_CODE(pThis->bMode) ? 2 : 4; … … 1592 1632 pThis->aOperands[0].enmLocation = BS3CG1OPLOC_CTX; 1593 1633 pThis->aOperands[1].enmLocation = BS3CG1OPLOC_CTX; 1634 break; 1635 1636 case BS3CG1ENC_MODRM_Vq_UqHi: 1637 pThis->iRmOp = 1; 1638 pThis->iRegOp = 0; 1639 pThis->aOperands[0].cbOp = 8; 1640 pThis->aOperands[1].cbOp = 8; 1641 pThis->aOperands[0].enmLocation = BS3CG1OPLOC_CTX; 1642 pThis->aOperands[1].enmLocation = BS3CG1OPLOC_CTX; 1643 break; 1644 1645 case BS3CG1ENC_MODRM_Vq_Mq: 1646 pThis->iRmOp = 1; 1647 pThis->iRegOp = 0; 1648 pThis->aOperands[0].cbOp = 8; 1649 pThis->aOperands[1].cbOp = 8; 1650 pThis->aOperands[0].enmLocation = BS3CG1OPLOC_CTX; 1651 pThis->aOperands[1].enmLocation = BS3CG1OPLOC_MEM; 1594 1652 break; 1595 1653 -
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-generated-1.h
r66306 r66309 51 51 BS3CG1OP_Gb, 52 52 BS3CG1OP_Gv, 53 BS3CG1OP_Uq, 54 BS3CG1OP_UqHi, 53 55 BS3CG1OP_Vss, 54 56 BS3CG1OP_Vsd, 55 57 BS3CG1OP_Vps, 56 58 BS3CG1OP_Vpd, 59 BS3CG1OP_Vq, 57 60 58 61 BS3CG1OP_Ib, … … 63 66 64 67 BS3CG1OP_Ma, 68 BS3CG1OP_Mq, 65 69 66 70 BS3CG1OP_END … … 90 94 BS3CG1ENC_MODRM_Gv_Ev, 91 95 BS3CG1ENC_MODRM_Gv_Ma, /**< bound instruction */ 96 BS3CG1ENC_MODRM_Vq_UqHi, 97 BS3CG1ENC_MODRM_Vq_Mq, 92 98 93 99 BS3CG1ENC_FIXED,
Note:
See TracChangeset
for help on using the changeset viewer.