Package ghidra.pcode.struct
Interface StructuredSleigh.RVal
- All Known Subinterfaces:
StructuredSleigh.LVal
,StructuredSleigh.StmtWithVal
,StructuredSleigh.Var
- All Known Implementing Classes:
CallExpr
,Expr
,LiteralLongExpr
,RawExpr
- Enclosing class:
StructuredSleigh
protected static interface StructuredSleigh.RVal
A value which can only be used on the right-hand side of an assignment
-
Method Summary
Modifier and TypeMethodDescriptionGenerate float additionaddi
(long rhs) Generate integer additionGenerate integer additionandb
(long rhs) Generate boolean andGenerate boolean andandi
(long rhs) Generate an integer (bitwise) andGenerate an integer (bitwise) andCast the value to the given typederef()
Generate a dereference (in the C sense) in the default address spacederef
(AddressSpace space) Generate a dereference (in the C sense)Generate float divisiondivis
(long rhs) Generate signed integer divisionGenerate signed integer divisiondiviu
(long rhs) Generate unsigned integer divisionGenerate unsigned integer divisioneq
(long rhs) Generate integer comparison: equal toeq
(StructuredSleigh.RVal rhs) Generate integer comparison: equal toeqf
(StructuredSleigh.RVal rhs) Generate float comparison: equal togetType()
Get the type of the valueGenerate float comparison: greater than or equal togteis
(long rhs) Generate signed integer comparison: greater than or equal toGenerate signed integer comparison: greater than or equal togteiu
(long rhs) Generate unsigned integer comparison: greater than or equal toGenerate unsigned integer comparison: greater than or equal togtf
(StructuredSleigh.RVal rhs) Generate float comparison: greater thangtis
(long rhs) Generate signed integer comparison: greater thanGenerate signed integer comparison: greater thangtiu
(long rhs) Generate unsigned integer comparison: greater thanGenerate unsigned integer comparison: greater thanGenerate float comparison: less than or equal tolteis
(long rhs) Generate signed integer comparison: less than or equal toGenerate signed integer comparison: less than or equal tolteiu
(long rhs) Generate unsigned integer comparison: less than or equal toGenerate unsigned integer comparison: less than or equal toltf
(StructuredSleigh.RVal rhs) Generate unsigned integer comparison: less thanltis
(long rhs) Generate signed integer comparison: less thanGenerate signed integer comparison: less thanltiu
(long rhs) Generate unsigned integer comparison: less thanGenerate unsigned integer comparison: less thanGenerate float multiplicationmuli
(long rhs) Generate integer multiplicationGenerate integer multiplicationneq
(long rhs) Generate integer comparison: not equal toneq
(StructuredSleigh.RVal rhs) Generate integer comparison: not equal toGenerate float comparison: not equal tonotb()
Generate boolean inversionnoti()
Generate integer (bitwise) inversionorb
(long rhs) Generate boolean ororb
(StructuredSleigh.RVal rhs) Generate boolean orori
(long rhs) Generate an integer (bitwise) orori
(StructuredSleigh.RVal rhs) Generate an integer (bitwise) orremis
(long rhs) Generate signed integer division remainderGenerate signed integer division remainderremiu
(long rhs) Generate unsigned integer division remainderGenerate unsigned integer division remaindershli
(long rhs) Generate bit shift to the leftGenerate bit shift to the leftshris
(long rhs) Generate signed bit shift to the rightGenerate signed bit shift to the rightshriu
(long rhs) Generate unsigned bit shift to the rightGenerate unsigned bit shift to the rightGenerate float subtractionsubi
(long rhs) Generate integer subtraction of an immediateGenerate integer subtractionxorb
(long rhs) Generate boolean exclusive orGenerate boolean exclusive orxori
(long rhs) Generate an integer (bitwise) exclusive orGenerate an integer (bitwise) exclusive or
-
Method Details
-
getType
DataType getType()Get the type of the value- Returns:
- the type
-
cast
Cast the value to the given typeThis functions like a C-style pointer cast. There are no implied operations or conversions. Notably, casting between integers and floats is just a re-interpretation of the underlying bits.
- Parameters:
type
- the type- Returns:
- a handle to the resulting value
-
deref
Generate a dereference (in the C sense)The value is treated as an address, and the result is essentially a variable in the given target address space.
- Parameters:
space
- the address space of the result- Returns:
- a handle to the resulting value
-
deref
StructuredSleigh.LVal deref()Generate a dereference (in the C sense) in the default address space- Returns:
- a handle to the resulting value
-
notb
StructuredSleigh.RVal notb()Generate boolean inversion- Returns:
- a handle to the resulting value
-
noti
StructuredSleigh.RVal noti()Generate integer (bitwise) inversion- Returns:
- a handle to the resulting value
-
eq
Generate integer comparison: equal to- Parameters:
rhs
- the second operand- Returns:
- a handle to the resulting value
-
eq
Generate integer comparison: equal to- Parameters:
rhs
- the immediate operand- Returns:
- a handle to the resulting value
-
eqf
Generate float comparison: equal to- Parameters:
rhs
- the second operand- Returns:
- a handle to the resulting value
-
neq
Generate integer comparison: not equal to- Parameters:
rhs
- the second operand- Returns:
- a handle to the resulting value
-
neq
Generate integer comparison: not equal to- Parameters:
rhs
- the immediate operand- Returns:
- a handle to the resulting value
-
neqf
Generate float comparison: not equal to- Parameters:
rhs
- the second operand- Returns:
- a handle to the resulting value
-
ltiu
Generate unsigned integer comparison: less than- Parameters:
rhs
- the second operand- Returns:
- a handle to the resulting value
-
ltiu
Generate unsigned integer comparison: less than- Parameters:
rhs
- the immediate operand- Returns:
- a handle to the resulting value
-
ltis
Generate signed integer comparison: less than- Parameters:
rhs
- the second operand- Returns:
- a handle to the resulting value
-
ltis
Generate signed integer comparison: less than- Parameters:
rhs
- the immediate operand- Returns:
- a handle to the resulting value
-
ltf
Generate unsigned integer comparison: less than- Parameters:
rhs
- the second operand- Returns:
- a handle to the resulting value
-
gtiu
Generate unsigned integer comparison: greater than- Parameters:
rhs
- the second operand- Returns:
- a handle to the resulting value
-
gtiu
Generate unsigned integer comparison: greater than- Parameters:
rhs
- the immediate operand- Returns:
- a handle to the resulting value
-
gtis
Generate signed integer comparison: greater than- Parameters:
rhs
- the second operand- Returns:
- a handle to the resulting value
-
gtis
Generate signed integer comparison: greater than- Parameters:
rhs
- the immediate operand- Returns:
- a handle to the resulting value
-
gtf
Generate float comparison: greater than- Parameters:
rhs
- the second operand- Returns:
- a handle to the resulting value
-
lteiu
Generate unsigned integer comparison: less than or equal to- Parameters:
rhs
- the second operand- Returns:
- a handle to the resulting value
-
lteiu
Generate unsigned integer comparison: less than or equal to- Parameters:
rhs
- the immediate operand- Returns:
- a handle to the resulting value
-
lteis
Generate signed integer comparison: less than or equal to- Parameters:
rhs
- the second operand- Returns:
- a handle to the resulting value
-
lteis
Generate signed integer comparison: less than or equal to- Parameters:
rhs
- the immediate operand- Returns:
- a handle to the resulting value
-
ltef
Generate float comparison: less than or equal to- Parameters:
rhs
- the second operand- Returns:
- a handle to the resulting value
-
gteiu
Generate unsigned integer comparison: greater than or equal to- Parameters:
rhs
- the second operand- Returns:
- a handle to the resulting value
-
gteiu
Generate unsigned integer comparison: greater than or equal to- Parameters:
rhs
- the immediate operand- Returns:
- a handle to the resulting value
-
gteis
Generate signed integer comparison: greater than or equal to- Parameters:
rhs
- the second operand- Returns:
- a handle to the resulting value
-
gteis
Generate signed integer comparison: greater than or equal to- Parameters:
rhs
- the immediate operand- Returns:
- a handle to the resulting value
-
gtef
Generate float comparison: greater than or equal to- Parameters:
rhs
- the second operand- Returns:
- a handle to the resulting value
-
orb
Generate boolean or- Parameters:
rhs
- the second operand- Returns:
- a handle to the resulting value
-
orb
Generate boolean or- Parameters:
rhs
- the immediate operand- Returns:
- a handle to the resulting value
-
ori
Generate an integer (bitwise) or- Parameters:
rhs
- the second operand- Returns:
- a handle to the resulting value
-
ori
Generate an integer (bitwise) or- Parameters:
rhs
- the immediate operand- Returns:
- a handle to the resulting value
-
xorb
Generate boolean exclusive or- Parameters:
rhs
- the second operand- Returns:
- a handle to the resulting value
-
xorb
Generate boolean exclusive or- Parameters:
rhs
- the immediate operand- Returns:
- a handle to the resulting value
-
xori
Generate an integer (bitwise) exclusive or- Parameters:
rhs
- the second operand- Returns:
- a handle to the resulting value
-
xori
Generate an integer (bitwise) exclusive or- Parameters:
rhs
- the immediate operand- Returns:
- a handle to the resulting value
-
andb
Generate boolean and- Parameters:
rhs
- the second operand- Returns:
- a handle to the resulting value
-
andb
Generate boolean and- Parameters:
rhs
- the immediate operand- Returns:
- a handle to the resulting value
-
andi
Generate an integer (bitwise) and- Parameters:
rhs
- the second operand- Returns:
- a handle to the resulting value
-
andi
Generate an integer (bitwise) and- Parameters:
rhs
- the immediate operand (mask)- Returns:
- a handle to the resulting value
-
shli
Generate bit shift to the left- Parameters:
rhs
- the second operand (shift amount)- Returns:
- a handle to the resulting value
-
shli
Generate bit shift to the left- Parameters:
rhs
- the immediate operand (shift amount)- Returns:
- a handle to the resulting value
-
shriu
Generate unsigned bit shift to the right- Parameters:
rhs
- the second operand (shift amount)- Returns:
- a handle to the resulting value
-
shriu
Generate unsigned bit shift to the right- Parameters:
rhs
- the immediate operand (shift amount)- Returns:
- a handle to the resulting value
-
shris
Generate signed bit shift to the right- Parameters:
rhs
- the second operand (shift amount)- Returns:
- a handle to the resulting value
-
shris
Generate signed bit shift to the right- Parameters:
rhs
- the immediate operand (shift amount)- Returns:
- a handle to the resulting value
-
addi
Generate integer addition- Parameters:
rhs
- the second operand- Returns:
- a handle to the resulting value
-
addi
Generate integer addition- Parameters:
rhs
- the immediate operand- Returns:
- a handle to the resulting value
-
addf
Generate float addition- Parameters:
rhs
- the second operand- Returns:
- a handle to the resulting value
-
subi
Generate integer subtraction- Parameters:
rhs
- the second operand- Returns:
- a handle to the resulting value
-
subi
Generate integer subtraction of an immediate- Parameters:
rhs
- the immediate operand- Returns:
- a handle to the resulting value
-
subf
Generate float subtraction- Parameters:
rhs
- the second operand- Returns:
- a handle to the resulting value
-
muli
Generate integer multiplication- Parameters:
rhs
- the second operand- Returns:
- a handle to the resulting value
-
muli
Generate integer multiplication- Parameters:
rhs
- the immediate operand- Returns:
- a handle to the resulting value
-
mulf
Generate float multiplication- Parameters:
rhs
- the second operand- Returns:
- a handle to the resulting value
-
diviu
Generate unsigned integer division- Parameters:
rhs
- the divisor- Returns:
- a handle to the resulting value
-
diviu
Generate unsigned integer division- Parameters:
rhs
- the immediate divisor- Returns:
- a handle to the resulting value
-
divis
Generate signed integer division- Parameters:
rhs
- the divisor- Returns:
- a handle to the resulting value
-
divis
Generate signed integer division- Parameters:
rhs
- the immediate divisor- Returns:
- a handle to the resulting value
-
divf
Generate float division- Parameters:
rhs
- the divisor- Returns:
- a handle to the resulting value
-
remiu
Generate unsigned integer division remainder- Parameters:
rhs
- the divisor- Returns:
- a handle to the resulting value
-
remiu
Generate unsigned integer division remainder- Parameters:
rhs
- the immediate divisor- Returns:
- a handle to the resulting value
-
remis
Generate signed integer division remainder- Parameters:
rhs
- the divisor- Returns:
- a handle to the resulting value
-
remis
Generate signed integer division remainder- Parameters:
rhs
- the immediate divisor- Returns:
- a handle to the resulting value
-