Class DivExpressionSolver
- java.lang.Object
-
- ghidra.app.plugin.assembler.sleigh.expr.AbstractExpressionSolver<T>
-
- ghidra.app.plugin.assembler.sleigh.expr.AbstractBinaryExpressionSolver<DivExpression>
-
- ghidra.app.plugin.assembler.sleigh.expr.DivExpressionSolver
-
public class DivExpressionSolver extends AbstractBinaryExpressionSolver<DivExpression>
Solves expressions of the form A / B
-
-
Field Summary
-
Fields inherited from class ghidra.app.plugin.assembler.sleigh.expr.AbstractExpressionSolver
dbg, solver
-
-
Constructor Summary
Constructors Constructor Description DivExpressionSolver()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description MaskedLong
compute(MaskedLong lval, MaskedLong rval)
Compute the result of applying the operator to the two given valuesMaskedLong
computeLeft(MaskedLong rval, MaskedLong goal)
Compute the left-hand-side value given that the result and the right are knownMaskedLong
computeRight(MaskedLong lval, MaskedLong goal)
Compute the right-hand-side value given that the result and the left are known NOTE: Assumes commutativity by default-
Methods inherited from class ghidra.app.plugin.assembler.sleigh.expr.AbstractBinaryExpressionSolver
getInstructionLength, getValue, solve, solveLeftSide, solveRightSide, solveTwoSided, valueForResolution
-
Methods inherited from class ghidra.app.plugin.assembler.sleigh.expr.AbstractExpressionSolver
register
-
-
-
-
Method Detail
-
computeLeft
public MaskedLong computeLeft(MaskedLong rval, MaskedLong goal) throws SolverException
Description copied from class:AbstractBinaryExpressionSolver
Compute the left-hand-side value given that the result and the right are known- Specified by:
computeLeft
in classAbstractBinaryExpressionSolver<DivExpression>
- Parameters:
rval
- the right-hand-side valuegoal
- the result- Returns:
- the left-hand-side value solution
- Throws:
SolverException
- if the expression cannot be solved
-
computeRight
public MaskedLong computeRight(MaskedLong lval, MaskedLong goal) throws SolverException
Description copied from class:AbstractBinaryExpressionSolver
Compute the right-hand-side value given that the result and the left are known NOTE: Assumes commutativity by default- Overrides:
computeRight
in classAbstractBinaryExpressionSolver<DivExpression>
- Parameters:
lval
- the left-hand-side valuegoal
- the result- Returns:
- the right-hand-side value solution
- Throws:
SolverException
- if the expression cannot be solved
-
compute
public MaskedLong compute(MaskedLong lval, MaskedLong rval)
Description copied from class:AbstractBinaryExpressionSolver
Compute the result of applying the operator to the two given values- Specified by:
compute
in classAbstractBinaryExpressionSolver<DivExpression>
- Parameters:
lval
- the left-hand-side valuerval
- the right-hand-side value- Returns:
- the result
-
-