Lines Matching refs:pResult

39 static DECLCALLBACK(int) dbgcOpMinus(PDBGC pDbgc, PCDBGCVAR pArg, DBGCVARCAT enmCat, PDBGCVAR pResult);
40 static DECLCALLBACK(int) dbgcOpPluss(PDBGC pDbgc, PCDBGCVAR pArg, DBGCVARCAT enmCat, PDBGCVAR pResult);
41 static DECLCALLBACK(int) dbgcOpBooleanNot(PDBGC pDbgc, PCDBGCVAR pArg, DBGCVARCAT enmCat, PDBGCVAR pResult);
42 static DECLCALLBACK(int) dbgcOpBitwiseNot(PDBGC pDbgc, PCDBGCVAR pArg, DBGCVARCAT enmCat, PDBGCVAR pResult);
43 static DECLCALLBACK(int) dbgcOpVar(PDBGC pDbgc, PCDBGCVAR pArg, DBGCVARCAT enmCat, PDBGCVAR pResult);
45 static DECLCALLBACK(int) dbgcOpAddrFar(PDBGC pDbgc, PCDBGCVAR pArg1, PCDBGCVAR pArg2, PDBGCVAR pResult);
46 static DECLCALLBACK(int) dbgcOpMult(PDBGC pDbgc, PCDBGCVAR pArg1, PCDBGCVAR pArg2, PDBGCVAR pResult);
47 static DECLCALLBACK(int) dbgcOpDiv(PDBGC pDbgc, PCDBGCVAR pArg1, PCDBGCVAR pArg2, PDBGCVAR pResult);
48 static DECLCALLBACK(int) dbgcOpMod(PDBGC pDbgc, PCDBGCVAR pArg1, PCDBGCVAR pArg2, PDBGCVAR pResult);
49 static DECLCALLBACK(int) dbgcOpAdd(PDBGC pDbgc, PCDBGCVAR pArg1, PCDBGCVAR pArg2, PDBGCVAR pResult);
50 static DECLCALLBACK(int) dbgcOpSub(PDBGC pDbgc, PCDBGCVAR pArg1, PCDBGCVAR pArg2, PDBGCVAR pResult);
51 static DECLCALLBACK(int) dbgcOpBitwiseShiftLeft(PDBGC pDbgc, PCDBGCVAR pArg1, PCDBGCVAR pArg2, PDBGCVAR pResult);
52 static DECLCALLBACK(int) dbgcOpBitwiseShiftRight(PDBGC pDbgc, PCDBGCVAR pArg1, PCDBGCVAR pArg2, PDBGCVAR pResult);
53 static DECLCALLBACK(int) dbgcOpBitwiseAnd(PDBGC pDbgc, PCDBGCVAR pArg1, PCDBGCVAR pArg2, PDBGCVAR pResult);
54 static DECLCALLBACK(int) dbgcOpBitwiseXor(PDBGC pDbgc, PCDBGCVAR pArg1, PCDBGCVAR pArg2, PDBGCVAR pResult);
55 static DECLCALLBACK(int) dbgcOpBitwiseOr(PDBGC pDbgc, PCDBGCVAR pArg1, PCDBGCVAR pArg2, PDBGCVAR pResult);
56 static DECLCALLBACK(int) dbgcOpBooleanAnd(PDBGC pDbgc, PCDBGCVAR pArg1, PCDBGCVAR pArg2, PDBGCVAR pResult);
57 static DECLCALLBACK(int) dbgcOpBooleanOr(PDBGC pDbgc, PCDBGCVAR pArg1, PCDBGCVAR pArg2, PDBGCVAR pResult);
58 static DECLCALLBACK(int) dbgcOpRangeLength(PDBGC pDbgc, PCDBGCVAR pArg1, PCDBGCVAR pArg2, PDBGCVAR pResult);
59 static DECLCALLBACK(int) dbgcOpRangeLengthBytes(PDBGC pDbgc, PCDBGCVAR pArg1, PCDBGCVAR pArg2, PDBGCVAR pResult);
60 static DECLCALLBACK(int) dbgcOpRangeTo(PDBGC pDbgc, PCDBGCVAR pArg1, PCDBGCVAR pArg2, PDBGCVAR pResult);
75 * @param pResult Where to store the result.
80 #define DBGC_GEN_ARIT_BINARY_OP(pDbgc, pArg1, pArg2, pResult, Operator, fIsDiv) \
90 DBGCVAR_INIT_NUMBER((pResult), UINT64_MAX); \
96 rc = dbgcSymbolGet((pDbgc), (pArg1)->u.pszString, DBGCVAR_TYPE_ANY, (pResult)); \
101 *(pResult) = *(pArg1); \
102 switch ((pResult)->enmType) \
105 (pResult)->u.GCFlat = (pResult)->u.GCFlat Operator u64Right; \
108 (pResult)->u.GCFar.off = (pResult)->u.GCFar.off Operator u64Right; \
111 (pResult)->u.GCPhys = (pResult)->u.GCPhys Operator u64Right; \
114 (pResult)->u.pvHCFlat = (void *)((uintptr_t)(pResult)->u.pvHCFlat Operator u64Right); \
117 (pResult)->u.HCPhys = (pResult)->u.HCPhys Operator u64Right; \
120 (pResult)->u.u64Number = (pResult)->u.u64Number Operator u64Right; \
246 * @param pResult Where to store the result.
248 static DECLCALLBACK(int) dbgcOpMinus(PDBGC pDbgc, PCDBGCVAR pArg, DBGCVARCAT enmCat, PDBGCVAR pResult)
251 *pResult = *pArg;
255 pResult->u.GCFlat = -(RTGCINTPTR)pResult->u.GCFlat;
258 pResult->u.GCFar.off = -(int32_t)pResult->u.GCFar.off;
261 pResult->u.GCPhys = (RTGCPHYS) -(int64_t)pResult->u.GCPhys;
264 pResult->u.pvHCFlat = (void *) -(intptr_t)pResult->u.pvHCFlat;
267 pResult->u.HCPhys = (RTHCPHYS) -(int64_t)pResult->u.HCPhys;
270 pResult->u.u64Number = -(int64_t)pResult->u.u64Number;
291 * @param pResult Where to store the result.
293 static DECLCALLBACK(int) dbgcOpPluss(PDBGC pDbgc, PCDBGCVAR pArg, DBGCVARCAT enmCat, PDBGCVAR pResult)
296 *pResult = *pArg;
325 * @param pResult Where to store the result.
327 static DECLCALLBACK(int) dbgcOpBooleanNot(PDBGC pDbgc, PCDBGCVAR pArg, DBGCVARCAT enmCat, PDBGCVAR pResult)
330 *pResult = *pArg;
334 pResult->u.u64Number = !pResult->u.GCFlat;
337 pResult->u.u64Number = !pResult->u.GCFar.off && pResult->u.GCFar.sel <= 3;
340 pResult->u.u64Number = !pResult->u.GCPhys;
343 pResult->u.u64Number = !pResult->u.pvHCFlat;
346 pResult->u.u64Number = !pResult->u.HCPhys;
349 pResult->u.u64Number = !pResult->u.u64Number;
353 pResult->u.u64Number = !pResult->u64Range;
360 pResult->enmType = DBGCVAR_TYPE_NUMBER;
374 * @param pResult Where to store the result.
376 static DECLCALLBACK(int) dbgcOpBitwiseNot(PDBGC pDbgc, PCDBGCVAR pArg, DBGCVARCAT enmCat, PDBGCVAR pResult)
379 *pResult = *pArg;
383 pResult->u.GCFlat = ~pResult->u.GCFlat;
386 pResult->u.GCFar.off = ~pResult->u.GCFar.off;
389 pResult->u.GCPhys = ~pResult->u.GCPhys;
392 pResult->u.pvHCFlat = (void *)~(uintptr_t)pResult->u.pvHCFlat;
395 pResult->u.HCPhys = ~pResult->u.HCPhys;
398 pResult->u.u64Number = ~pResult->u.u64Number;
419 * @param pResult Where to store the result.
421 static DECLCALLBACK(int) dbgcOpVar(PDBGC pDbgc, PCDBGCVAR pArg, DBGCVARCAT enmCat, PDBGCVAR pResult)
434 *pResult = pDbgc->papVars[iVar]->Var;
451 * @param pResult Where to store the result.
453 DECLCALLBACK(int) dbgcOpRegister(PDBGC pDbgc, PCDBGCVAR pArg, DBGCVARCAT enmCat, PDBGCVAR pResult)
475 DBGCVAR_INIT_STRING(pResult, pArg->u.pszString);
490 DBGCVAR_INIT_NUMBER(pResult, Value.u8);
494 DBGCVAR_INIT_NUMBER(pResult, Value.u16);
498 DBGCVAR_INIT_NUMBER(pResult, Value.u32);
502 DBGCVAR_INIT_NUMBER(pResult, Value.u64);
506 DBGCVAR_INIT_NUMBER(pResult, Value.u128.s.Lo);
511 DBGCVAR_INIT_NUMBER(pResult, (uint64_t)Value.r80Ex.lrd);
513 DBGCVAR_INIT_NUMBER(pResult, (uint64_t)Value.r80Ex.sj64.u63Fraction);
518 DBGCVAR_INIT_NUMBER(pResult, Value.dtr.u64Base);
540 * @param pResult Where to store the result.
542 DECLCALLBACK(int) dbgcOpAddrFlat(PDBGC pDbgc, PCDBGCVAR pArg, DBGCVARCAT enmCat, PDBGCVAR pResult)
546 return DBGCCmdHlpConvert(&pDbgc->CmdHlp, pArg, enmType, true /*fConvSyms*/, pResult);
558 * @param pResult Where to store the result.
560 DECLCALLBACK(int) dbgcOpAddrPhys(PDBGC pDbgc, PCDBGCVAR pArg, DBGCVARCAT enmCat, PDBGCVAR pResult)
564 return DBGCCmdHlpConvert(&pDbgc->CmdHlp, pArg, enmType, true /*fConvSyms*/, pResult);
576 * @param pResult Where to store the result.
578 DECLCALLBACK(int) dbgcOpAddrHostPhys(PDBGC pDbgc, PCDBGCVAR pArg, DBGCVARCAT enmCat, PDBGCVAR pResult)
581 return DBGCCmdHlpConvert(&pDbgc->CmdHlp, pArg, DBGCVAR_TYPE_HC_PHYS, true /*fConvSyms*/, pResult);
593 * @param pResult Where to store the result.
595 DECLCALLBACK(int) dbgcOpAddrHost(PDBGC pDbgc, PCDBGCVAR pArg, DBGCVARCAT enmCat, PDBGCVAR pResult)
598 return DBGCCmdHlpConvert(&pDbgc->CmdHlp, pArg, DBGCVAR_TYPE_HC_FLAT, true /*fConvSyms*/, pResult);
610 * @param pResult Where to store the result.
612 static DECLCALLBACK(int) dbgcOpAddrFar(PDBGC pDbgc, PCDBGCVAR pArg1, PCDBGCVAR pArg2, PDBGCVAR pResult)
620 rc = dbgcSymbolGet(pDbgc, pArg1->u.pszString, DBGCVAR_TYPE_NUMBER, pResult);
625 *pResult = *pArg1;
630 pResult->u.GCFar.sel = (RTSEL)pResult->u.u64Number;
636 pResult->u.GCFar.off = pArg2->u.GCFlat;
637 pResult->enmType = DBGCVAR_TYPE_GC_FAR;
641 pResult->u.pvHCFlat = (void *)(uintptr_t)pArg2->u.GCFlat;
642 pResult->enmType = DBGCVAR_TYPE_GC_FAR;
646 pResult->u.GCFar.off = (RTGCPTR)pArg2->u.u64Number;
647 pResult->enmType = DBGCVAR_TYPE_GC_FAR;
656 pResult->u.GCFar.off = (RTGCPTR)Var.u.u64Number;
657 pResult->enmType = DBGCVAR_TYPE_GC_FAR;
678 * @param pResult Where to store the result.
680 static DECLCALLBACK(int) dbgcOpMult(PDBGC pDbgc, PCDBGCVAR pArg1, PCDBGCVAR pArg2, PDBGCVAR pResult)
684 DBGC_GEN_ARIT_BINARY_OP(pDbgc, pArg1, pArg2, pResult, *, false);
697 * @param pResult Where to store the result.
699 static DECLCALLBACK(int) dbgcOpDiv(PDBGC pDbgc, PCDBGCVAR pArg1, PCDBGCVAR pArg2, PDBGCVAR pResult)
702 DBGC_GEN_ARIT_BINARY_OP(pDbgc, pArg1, pArg2, pResult, /, true);
715 * @param pResult Where to store the result.
717 static DECLCALLBACK(int) dbgcOpMod(PDBGC pDbgc, PCDBGCVAR pArg1, PCDBGCVAR pArg2, PDBGCVAR pResult)
720 DBGC_GEN_ARIT_BINARY_OP(pDbgc, pArg1, pArg2, pResult, %, false);
733 * @param pResult Where to store the result.
735 static DECLCALLBACK(int) dbgcOpAdd(PDBGC pDbgc, PCDBGCVAR pArg1, PCDBGCVAR pArg2, PDBGCVAR pResult)
786 *pResult = *pArg1;
790 pResult->u.GCFlat += pArg2->u.GCFlat;
805 *pResult = *pArg1;
806 pResult->u.GCFar.off += (RTGCPTR)pArg2->u.u64Number;
809 rc = dbgcOpAddrFlat(pDbgc, pArg1, DBGCVAR_CAT_ANY, pResult);
815 pResult->u.GCFlat += pArg2->u.GCFlat;
830 *pResult = *pArg1;
836 pResult->u.GCPhys += Var.u.GCPhys;
845 *pResult = *pArg1;
852 pResult->u.pvHCFlat = (char *)pResult->u.pvHCFlat + (uintptr_t)Var.u.pvHCFlat;
859 *pResult = *pArg1;
863 pResult->u.HCPhys += Var.u.HCPhys;
870 *pResult = *pArg1;
878 pResult->u.u64Number += pArg2->u.u64Number;
902 * @param pResult Where to store the result.
904 static DECLCALLBACK(int) dbgcOpSub(PDBGC pDbgc, PCDBGCVAR pArg1, PCDBGCVAR pArg2, PDBGCVAR pResult)
1005 *pResult = *pArg1;
1009 pResult->u.GCFlat -= pArg2->u.GCFlat;
1024 *pResult = *pArg1;
1025 pResult->u.GCFar.off -= (RTGCPTR)pArg2->u.u64Number;
1028 rc = dbgcOpAddrFlat(pDbgc, pArg1, DBGCVAR_CAT_ANY, pResult);
1034 pResult->u.GCFlat -= pArg2->u.GCFlat;
1049 *pResult = *pArg1;
1055 pResult->u.GCPhys -= Var.u.GCPhys;
1064 *pResult = *pArg1;
1071 pResult->u.pvHCFlat = (char *)pResult->u.pvHCFlat - (uintptr_t)Var.u.pvHCFlat;
1078 *pResult = *pArg1;
1082 pResult->u.HCPhys -= Var.u.HCPhys;
1089 *pResult = *pArg1;
1097 pResult->u.u64Number -= pArg2->u.u64Number;
1121 * @param pResult Where to store the result.
1123 static DECLCALLBACK(int) dbgcOpBitwiseShiftLeft(PDBGC pDbgc, PCDBGCVAR pArg1, PCDBGCVAR pArg2, PDBGCVAR pResult)
1126 DBGC_GEN_ARIT_BINARY_OP(pDbgc, pArg1, pArg2, pResult, <<, false);
1139 * @param pResult Where to store the result.
1141 static DECLCALLBACK(int) dbgcOpBitwiseShiftRight(PDBGC pDbgc, PCDBGCVAR pArg1, PCDBGCVAR pArg2, PDBGCVAR pResult)
1144 DBGC_GEN_ARIT_BINARY_OP(pDbgc, pArg1, pArg2, pResult, >>, false);
1157 * @param pResult Where to store the result.
1159 static DECLCALLBACK(int) dbgcOpBitwiseAnd(PDBGC pDbgc, PCDBGCVAR pArg1, PCDBGCVAR pArg2, PDBGCVAR pResult)
1163 DBGC_GEN_ARIT_BINARY_OP(pDbgc, pArg1, pArg2, pResult, &, false);
1176 * @param pResult Where to store the result.
1178 static DECLCALLBACK(int) dbgcOpBitwiseXor(PDBGC pDbgc, PCDBGCVAR pArg1, PCDBGCVAR pArg2, PDBGCVAR pResult)
1182 DBGC_GEN_ARIT_BINARY_OP(pDbgc, pArg1, pArg2, pResult, ^, false);
1195 * @param pResult Where to store the result.
1197 static DECLCALLBACK(int) dbgcOpBitwiseOr(PDBGC pDbgc, PCDBGCVAR pArg1, PCDBGCVAR pArg2, PDBGCVAR pResult)
1201 DBGC_GEN_ARIT_BINARY_OP(pDbgc, pArg1, pArg2, pResult, |, false);
1214 * @param pResult Where to store the result.
1216 static DECLCALLBACK(int) dbgcOpBooleanAnd(PDBGC pDbgc, PCDBGCVAR pArg1, PCDBGCVAR pArg2, PDBGCVAR pResult)
1220 DBGC_GEN_ARIT_BINARY_OP(pDbgc, pArg1, pArg2, pResult, &&, false);
1233 * @param pResult Where to store the result.
1235 static DECLCALLBACK(int) dbgcOpBooleanOr(PDBGC pDbgc, PCDBGCVAR pArg1, PCDBGCVAR pArg2, PDBGCVAR pResult)
1239 DBGC_GEN_ARIT_BINARY_OP(pDbgc, pArg1, pArg2, pResult, ||, false);
1252 * @param pResult Where to store the result.
1254 static DECLCALLBACK(int) dbgcOpRangeLength(PDBGC pDbgc, PCDBGCVAR pArg1, PCDBGCVAR pArg2, PDBGCVAR pResult)
1266 int rc = dbgcSymbolGet(pDbgc, pArg1->u.pszString, DBGCVAR_TYPE_ANY, pResult);
1271 *pResult = *pArg1;
1276 pResult->enmRangeType = DBGCVAR_RANGE_ELEMENTS;
1280 pResult->u64Range = pArg2->u.u64Number;
1285 int rc = dbgcSymbolGet(pDbgc, pArg2->u.pszString, DBGCVAR_TYPE_NUMBER, pResult);
1288 pResult->u64Range = pArg2->u.u64Number;
1310 * @param pResult Where to store the result.
1312 static DECLCALLBACK(int) dbgcOpRangeLengthBytes(PDBGC pDbgc, PCDBGCVAR pArg1, PCDBGCVAR pArg2, PDBGCVAR pResult)
1315 int rc = dbgcOpRangeLength(pDbgc, pArg1, pArg2, pResult);
1317 pResult->enmRangeType = DBGCVAR_RANGE_BYTES;
1331 * @param pResult Where to store the result.
1333 static DECLCALLBACK(int) dbgcOpRangeTo(PDBGC pDbgc, PCDBGCVAR pArg1, PCDBGCVAR pArg2, PDBGCVAR pResult)
1348 *pResult = *pArg1;
1349 pResult->enmRangeType = DBGCVAR_RANGE_BYTES;
1353 pResult->u64Range = (RTGCUINTPTR)Diff.u.GCFlat;
1356 pResult->u64Range = Diff.u.GCPhys;
1359 pResult->u64Range = (uintptr_t)Diff.u.pvHCFlat;
1362 pResult->u64Range = Diff.u.HCPhys;
1365 pResult->u64Range = Diff.u.u64Number;