Changeset 60418 in vbox
- Timestamp:
- Apr 11, 2016 10:40:01 AM (9 years ago)
- svn:sync-xref-src-repo-rev:
- 106504
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Disassembler/DisasmFormatYasm.cpp
r57358 r60418 466 466 if (pDis->fPrefix & DISPREFIX_LOCK) 467 467 PUT_SZ("lock "); 468 if (pDis->fPrefix & DISPREFIX_REP)468 if (pDis->fPrefix & DISPREFIX_REP) 469 469 PUT_SZ("rep "); 470 470 else if(pDis->fPrefix & DISPREFIX_REPNE) … … 477 477 char szTmpFmt[48]; 478 478 const char *pszFmt = pOp->pszOpcode; 479 bool fIgnoresOpSize = false; 479 480 switch (pOp->uOpcode) 480 481 { … … 496 497 case OP_INSB: 497 498 pszFmt = "insb"; 499 fIgnoresOpSize = true; 498 500 break; 499 501 case OP_INSWD: … … 502 504 case OP_OUTSB: 503 505 pszFmt = "outsb"; 506 fIgnoresOpSize = true; 504 507 break; 505 508 case OP_OUTSWD: … … 508 511 case OP_MOVSB: 509 512 pszFmt = "movsb"; 513 fIgnoresOpSize = true; 510 514 break; 511 515 case OP_MOVSWD: … … 514 518 case OP_CMPSB: 515 519 pszFmt = "cmpsb"; 520 fIgnoresOpSize = true; 516 521 break; 517 522 case OP_CMPWD: … … 520 525 case OP_SCASB: 521 526 pszFmt = "scasb"; 527 fIgnoresOpSize = true; 522 528 break; 523 529 case OP_SCASWD: … … 526 532 case OP_LODSB: 527 533 pszFmt = "lodsb"; 534 fIgnoresOpSize = true; 528 535 break; 529 536 case OP_LODSWD: … … 532 539 case OP_STOSB: 533 540 pszFmt = "stosb"; 541 fIgnoresOpSize = true; 534 542 break; 535 543 case OP_STOSWD: … … 639 647 *(int *)&pDis->Param2.fParam |= OP_PARM_v; 640 648 break; 649 } 650 651 /* 652 * Add operand size prefix for outsb, movsb, etc. 653 */ 654 if (fIgnoresOpSize && (pDis->fPrefix & DISPREFIX_OPSIZE) ) 655 { 656 if (pDis->uCpuMode == DISCPUMODE_16BIT) 657 PUT_SZ("o32 "); 658 else 659 PUT_SZ("o16 "); 641 660 } 642 661
Note:
See TracChangeset
for help on using the changeset viewer.