vbox的更動 8377 路徑 trunk/src/VBox/Disassembler/DisasmReg.cpp
- 時間撮記:
- 2008-4-25 上午08:23:14 (17 年 以前)
- 檔案:
-
- 修改 1 筆資料
圖例:
- 未更動
- 新增
- 刪除
-
trunk/src/VBox/Disassembler/DisasmReg.cpp
r8364 r8377 188 188 189 189 if (subtype == OP_PARM_v) 190 {191 190 subtype = (pCpu->opmode == CPUMODE_32BIT) ? OP_PARM_d : OP_PARM_w; 192 }193 191 194 192 switch(subtype) … … 476 474 memset(pParamVal, 0, sizeof(*pParamVal)); 477 475 478 if (pParam->flags & (USE_BASE|USE_INDEX|USE_DISPLACEMENT32|USE_DISPLACEMENT16|USE_DISPLACEMENT8 ))476 if (pParam->flags & (USE_BASE|USE_INDEX|USE_DISPLACEMENT32|USE_DISPLACEMENT16|USE_DISPLACEMENT8|USE_RIPDISPLACEMENT32)) 479 477 { 480 478 // Effective address … … 528 526 if (pParam->flags & USE_DISPLACEMENT8) 529 527 { 530 if (pCpu->mode &CPUMODE_32BIT)528 if (pCpu->mode == CPUMODE_32BIT) 531 529 pParamVal->val.val32 += (int32_t)pParam->disp8; 532 530 else … … 536 534 if (pParam->flags & USE_DISPLACEMENT16) 537 535 { 538 if (pCpu->mode &CPUMODE_32BIT)536 if (pCpu->mode == CPUMODE_32BIT) 539 537 pParamVal->val.val32 += (int32_t)pParam->disp16; 540 538 else … … 544 542 if (pParam->flags & USE_DISPLACEMENT32) 545 543 { 546 if (pCpu->mode &CPUMODE_32BIT)544 if (pCpu->mode == CPUMODE_32BIT) 547 545 pParamVal->val.val32 += pParam->disp32; 546 else 547 AssertFailed(); 548 } 549 else 550 if (pParam->flags & USE_RIPDISPLACEMENT32) 551 { 552 if (pCpu->mode == CPUMODE_64BIT) 553 pParamVal->val.val64 += pParam->disp32 + pCtx->rip; 548 554 else 549 555 AssertFailed(); … … 597 603 pParamVal->type = PARMTYPE_REGISTER; 598 604 } 605 Assert(!(pParam->flags & USE_IMMEDIATE)); 606 return VINF_SUCCESS; 599 607 } 600 608
注意:
瀏覽 TracChangeset
來幫助您使用更動檢視器