Lines Matching refs:pParam

94  * @param   pParam      The parameter.
97 static const char *disasmFormatYasmBaseReg(PCDISSTATE pDis, PCDISOPPARAM pParam, size_t *pcchReg)
99 switch (pParam->fUse & ( DISUSE_REG_GEN8 | DISUSE_REG_GEN16 | DISUSE_REG_GEN32 | DISUSE_REG_GEN64
106 Assert(pParam->Base.idxGenReg < RT_ELEMENTS(g_aszYasmRegGen8));
107 const char *psz = g_aszYasmRegGen8[pParam->Base.idxGenReg];
114 Assert(pParam->Base.idxGenReg < RT_ELEMENTS(g_aszYasmRegGen16));
115 const char *psz = g_aszYasmRegGen16[pParam->Base.idxGenReg];
125 Assert(pParam->Base.idxGenReg < RT_ELEMENTS(g_aszYasmRegGen32));
126 const char *psz = g_aszYasmRegGen32[pParam->Base.idxGenReg];
136 Assert(pParam->Base.idxGenReg < RT_ELEMENTS(g_aszYasmRegGen64));
137 const char *psz = g_aszYasmRegGen64[pParam->Base.idxGenReg];
144 Assert(pParam->Base.idxFpuReg < RT_ELEMENTS(g_aszYasmRegFP));
145 const char *psz = g_aszYasmRegFP[pParam->Base.idxFpuReg];
152 Assert(pParam->Base.idxMmxReg < RT_ELEMENTS(g_aszYasmRegMMX));
153 const char *psz = g_aszYasmRegMMX[pParam->Base.idxMmxReg];
160 Assert(pParam->Base.idxXmmReg < RT_ELEMENTS(g_aszYasmRegXMM));
161 const char *psz = g_aszYasmRegXMM[pParam->Base.idxXmmReg];
168 Assert(pParam->Base.idxYmmReg < RT_ELEMENTS(g_aszYasmRegYMM));
169 const char *psz = g_aszYasmRegYMM[pParam->Base.idxYmmReg];
176 Assert(pParam->Base.idxCtrlReg < RT_ELEMENTS(g_aszYasmRegCRx));
177 const char *psz = g_aszYasmRegCRx[pParam->Base.idxCtrlReg];
184 Assert(pParam->Base.idxDbgReg < RT_ELEMENTS(g_aszYasmRegDRx));
185 const char *psz = g_aszYasmRegDRx[pParam->Base.idxDbgReg];
192 Assert(pParam->Base.idxSegReg < RT_ELEMENTS(g_aszYasmRegCRx));
193 const char *psz = g_aszYasmRegSeg[pParam->Base.idxSegReg];
200 Assert(pParam->Base.idxTestReg < RT_ELEMENTS(g_aszYasmRegTRx));
201 const char *psz = g_aszYasmRegTRx[pParam->Base.idxTestReg];
207 AssertMsgFailed(("%#x\n", pParam->fUse));
219 * @param pParam The parameter.
222 static const char *disasmFormatYasmIndexReg(PCDISSTATE pDis, PCDISOPPARAM pParam, size_t *pcchReg)
224 if (pParam->fUse & DISUSE_REG_XMM)
226 Assert(pParam->Index.idxXmmReg < RT_ELEMENTS(g_aszYasmRegXMM));
227 const char *psz = g_aszYasmRegXMM[pParam->Index.idxXmmReg];
231 else if (pParam->fUse & DISUSE_REG_YMM)
233 Assert(pParam->Index.idxYmmReg < RT_ELEMENTS(g_aszYasmRegYMM));
234 const char *psz = g_aszYasmRegYMM[pParam->Index.idxYmmReg];
244 Assert(pParam->Index.idxGenReg < RT_ELEMENTS(g_aszYasmRegGen16));
245 const char *psz = g_aszYasmRegGen16[pParam->Index.idxGenReg];
252 Assert(pParam->Index.idxGenReg < RT_ELEMENTS(g_aszYasmRegGen32));
253 const char *psz = g_aszYasmRegGen32[pParam->Index.idxGenReg];
260 Assert(pParam->Index.idxGenReg < RT_ELEMENTS(g_aszYasmRegGen64));
261 const char *psz = g_aszYasmRegGen64[pParam->Index.idxGenReg];
267 AssertMsgFailed(("%#x %#x\n", pParam->fUse, pDis->uAddrMode));
646 PCDISOPPARAM pParam = &pDis->Param1;
651 if ( OP_PARM_VSUBTYPE(pParam->fParam) == OP_PARM_p \
663 switch (OP_PARM_VSUBTYPE(pParam->fParam)) \
669 case DISCPUMODE_16BIT: if (OP_PARM_VSUBTYPE(pParam->fParam) != OP_PARM_y) PUT_SZ("word "); break; \
678 if (OP_PARM_VTYPE(pParam->fParam) == OP_PARM_W || \
679 OP_PARM_VTYPE(pParam->fParam) == OP_PARM_M) \
686 if (OP_PARM_VTYPE(pParam->fParam) == OP_PARM_W || \
687 OP_PARM_VTYPE(pParam->fParam) == OP_PARM_M) \
694 if (OP_PARM_VTYPE(pParam->fParam) == OP_PARM_W || \
695 OP_PARM_VTYPE(pParam->fParam) == OP_PARM_M) \
709 case OP_PARM_s: if (pParam->fUse & DISUSE_REG_FP) PUT_SZ("tword "); break; /* ?? */ \
712 if ( OP_PARM_VTYPE(pParam->fParam) == OP_PARM_M \
713 && ((pParam->fUse & DISUSE_REG_FP) || pOp->uOpcode == OP_FLD)) \
767 Assert(!(pParam->fUse & (DISUSE_INDEX | DISUSE_SCALE) /* No SIB here... */));
768 Assert(!(pParam->fUse & (DISUSE_DISPLACEMENT8 | DISUSE_DISPLACEMENT16 | DISUSE_DISPLACEMENT32 | DISUSE_DISPLACEMENT64 | DISUSE_RIPDISPLACEMENT32)));
771 const char *pszReg = disasmFormatYasmBaseReg(pDis, pParam, &cchReg);
788 uint32_t const fUse = pParam->fUse;
793 if ( pParam->fParam != OP_PARM_Ev
804 && !pParam->uDisp.i8)
807 && (int8_t)pParam->uDisp.i16 == (int16_t)pParam->uDisp.i16)
810 && (int16_t)pParam->uDisp.i32 == (int32_t)pParam->uDisp.i32) //??
814 && (int32_t)pParam->uDisp.i64 == (int64_t)pParam->uDisp.i64) //??
837 const char *pszReg = disasmFormatYasmBaseReg(pDis, pParam, &cchReg);
847 const char *pszReg = disasmFormatYasmIndexReg(pDis, pParam, &cchReg);
853 PUT_C('0' + pParam->uScale);
863 off2 = pParam->uDisp.i8;
865 off2 = pParam->uDisp.i16;
867 off2 = pParam->uDisp.i32;
869 off2 = pParam->uDisp.i64;
920 switch (pParam->fUse & ( DISUSE_IMMEDIATE8 | DISUSE_IMMEDIATE16 | DISUSE_IMMEDIATE32 | DISUSE_IMMEDIATE64
929 PUT_NUM_8(pParam->uValue);
935 && ( (int8_t)pParam->uValue == (int16_t)pParam->uValue
941 if (OP_PARM_VSUBTYPE(pParam->fParam) == OP_PARM_b)
943 else if ( OP_PARM_VSUBTYPE(pParam->fParam) == OP_PARM_v
944 || OP_PARM_VSUBTYPE(pParam->fParam) == OP_PARM_z)
947 PUT_NUM_16(pParam->uValue);
956 PUT_NUM_16(pParam->uValue);
962 && ( (int8_t)pParam->uValue == (int32_t)pParam->uValue
968 if (OP_PARM_VSUBTYPE(pParam->fParam) == OP_PARM_b)
970 else if ( OP_PARM_VSUBTYPE(pParam->fParam) == OP_PARM_v
971 || OP_PARM_VSUBTYPE(pParam->fParam) == OP_PARM_z)
974 PUT_NUM_32(pParam->uValue);
976 PUT_SYMBOL(DIS_FMT_SEL_FROM_REG(DISSELREG_CS), pParam->uValue, " (=", ')');
985 PUT_NUM_32(pParam->uValue);
994 PUT_NUM_64(pParam->uValue);
998 PUT_NUM_64(pParam->uValue);
1020 if (pParam->fUse & DISUSE_IMMEDIATE8_REL)
1024 offDisplacement = (int8_t)pParam->uValue;
1030 else if (pParam->fUse & DISUSE_IMMEDIATE16_REL)
1034 offDisplacement = (int16_t)pParam->uValue;
1044 offDisplacement = (int32_t)pParam->uValue;
1045 Assert(pParam->fUse & (DISUSE_IMMEDIATE32_REL | DISUSE_IMMEDIATE64_REL));
1079 switch (pParam->fUse & (DISUSE_IMMEDIATE_ADDR_16_16 | DISUSE_IMMEDIATE_ADDR_16_32 | DISUSE_DISPLACEMENT64 | DISUSE_DISPLACEMENT32 | DISUSE_DISPLACEMENT16))
1082 PUT_NUM_16(pParam->uValue >> 16);
1084 PUT_NUM_16(pParam->uValue);
1086 rc = pfnGetSymbol(pDis, DIS_FMT_SEL_FROM_VALUE(pParam->uValue >> 16), (uint16_t)pParam->uValue, szSymbol, sizeof(szSymbol), &off, pvUser);
1089 PUT_NUM_16(pParam->uValue >> 32);
1091 PUT_NUM_32(pParam->uValue);
1093 rc = pfnGetSymbol(pDis, DIS_FMT_SEL_FROM_VALUE(pParam->uValue >> 16), (uint32_t)pParam->uValue, szSymbol, sizeof(szSymbol), &off, pvUser);
1096 PUT_NUM_16(pParam->uValue);
1098 rc = pfnGetSymbol(pDis, DIS_FMT_SEL_FROM_REG(DISSELREG_CS), (uint16_t)pParam->uValue, szSymbol, sizeof(szSymbol), &off, pvUser);
1101 PUT_NUM_32(pParam->uValue);
1103 rc = pfnGetSymbol(pDis, DIS_FMT_SEL_FROM_REG(DISSELREG_CS), (uint32_t)pParam->uValue, szSymbol, sizeof(szSymbol), &off, pvUser);
1106 PUT_NUM_64(pParam->uValue);
1108 rc = pfnGetSymbol(pDis, DIS_FMT_SEL_FROM_REG(DISSELREG_CS), (uint64_t)pParam->uValue, szSymbol, sizeof(szSymbol), &off, pvUser);
1127 switch (pParam->fUse & (DISUSE_IMMEDIATE_ADDR_16_16 | DISUSE_IMMEDIATE_ADDR_16_32 | DISUSE_DISPLACEMENT64 | DISUSE_DISPLACEMENT32 | DISUSE_DISPLACEMENT16))
1130 PUT_NUM_16(pParam->uValue >> 16);
1132 PUT_NUM_16(pParam->uValue);
1134 rc = pfnGetSymbol(pDis, DIS_FMT_SEL_FROM_VALUE(pParam->uValue >> 16), (uint16_t)pParam->uValue, szSymbol, sizeof(szSymbol), &off, pvUser);
1137 PUT_NUM_16(pParam->uValue >> 32);
1139 PUT_NUM_32(pParam->uValue);
1141 rc = pfnGetSymbol(pDis, DIS_FMT_SEL_FROM_VALUE(pParam->uValue >> 16), (uint32_t)pParam->uValue, szSymbol, sizeof(szSymbol), &off, pvUser);
1144 PUT_NUM_16(pParam->uDisp.i16);
1146 rc = pfnGetSymbol(pDis, DIS_FMT_SEL_FROM_REG(DISSELREG_CS), pParam->uDisp.u16, szSymbol, sizeof(szSymbol), &off, pvUser);
1149 PUT_NUM_32(pParam->uDisp.i32);
1151 rc = pfnGetSymbol(pDis, DIS_FMT_SEL_FROM_REG(DISSELREG_CS), pParam->uDisp.u32, szSymbol, sizeof(szSymbol), &off, pvUser);
1154 PUT_NUM_64(pParam->uDisp.i64);
1156 rc = pfnGetSymbol(pDis, DIS_FMT_SEL_FROM_REG(DISSELREG_CS), pParam->uDisp.u64, szSymbol, sizeof(szSymbol), &off, pvUser);
1175 if (pParam->fUse & DISUSE_POINTER_DS_BASED)
1181 const char *pszReg = disasmFormatYasmBaseReg(pDis, pParam, &cchReg);
1192 const char *pszReg = disasmFormatYasmBaseReg(pDis, pParam, &cchReg);
1212 case 2: pParam = &pDis->Param2; break;
1213 case 3: pParam = &pDis->Param3; break;
1214 case 4: pParam = &pDis->Param4; break;
1215 default: pParam = NULL; break;