Perform indicated binary operation on the indicated register and literal value, storing result in destination register. Example: add-int/lit8 vAA, vBB, #+CC Semantic of the instruction: vAA = vBB + #+CC.
More...
#include <dalvik_instructions.hpp>
|
| Instruction22b (std::vector< uint8_t > &bytecode, std::size_t index, Parser *parser) |
|
std::uint8_t | get_destination () const |
| Get the index value of the destination register.
|
|
TYPES::Operand | get_destination_type () const |
| Get the type of the destination.
|
|
std::uint8_t | get_first_operand () const |
| Get the first operand of the instruction.
|
|
TYPES::Operand | get_first_operand_type () const |
| Get the type of the first operand.
|
|
std::int8_t | get_second_operand () const |
| Get the value of the second operand.
|
|
TYPES::Operand | get_second_operand_type () const |
| Get the type of the second operand.
|
|
virtual std::string | print_instruction () |
| Return a string with the representation of the instruction.
|
|
virtual void | print_instruction (std::ostream &os) |
| Print the instruction on a given stream.
|
|
| Instruction (std::vector< uint8_t > &bytecode, std::size_t index, dexinsttype_t instruction_type) |
| Constructor of the Instruction, here is applied the parsing of the opcodes.
|
|
| Instruction (std::vector< uint8_t > &bytecode, std::size_t index, dexinsttype_t instruction_type, std::uint32_t length) |
|
virtual | ~Instruction ()=default |
| Destructor of the instruction.
|
|
virtual TYPES::Kind | get_kind () const |
| Get the kind of instruction, use a DalvikOpcodes function.
|
|
virtual dexinsttype_t | get_instruction_type () const |
| Get the instruction type from the enum.
|
|
virtual std::uint32_t | get_instruction_length () const |
| Get the length of the instruction.
|
|
virtual std::uint32_t | get_instruction_opcode () const |
| Get the opcode of the instruction.
|
|
virtual void | set_address (std::uint64_t address) |
| Set the address of the instruction.
|
|
virtual std::uint64_t | get_address () const |
| Get the address of the instruction.
|
|
virtual const std::span< std::uint8_t > & | get_opcodes () |
| Return the op codes in raw from the instruction.
|
|
virtual bool | is_terminator () |
| Check if the instruction is a terminator (branch, ret, multibranch)
|
|
virtual bool | has_side_effects () const |
| Instruction has or can have some side effect.
|
|
virtual bool | may_throw () const |
| May throw an exception.
|
|
|
std::span< std::uint8_t > | op_codes |
| Opcodes of the instruction.
|
|
std::uint32_t | length |
| Length of the instruction.
|
|
std::uint32_t | op |
| op code from the instruction
|
|
std::uint64_t | address |
| address of the instruction
|
|
Perform indicated binary operation on the indicated register and literal value, storing result in destination register. Example: add-int/lit8 vAA, vBB, #+CC Semantic of the instruction: vAA = vBB + #+CC.
◆ get_destination()
std::uint8_t KUNAI::DEX::Instruction22b::get_destination |
( |
| ) |
const |
|
inline |
Get the index value of the destination register.
- Returns
- register index
◆ get_destination_type()
TYPES::Operand KUNAI::DEX::Instruction22b::get_destination_type |
( |
| ) |
const |
|
inline |
Get the type of the destination.
- Returns
- return REGISTER type
◆ get_first_operand()
std::uint8_t KUNAI::DEX::Instruction22b::get_first_operand |
( |
| ) |
const |
|
inline |
Get the first operand of the instruction.
- Returns
- index of register operand
◆ get_first_operand_type()
TYPES::Operand KUNAI::DEX::Instruction22b::get_first_operand_type |
( |
| ) |
const |
|
inline |
Get the type of the first operand.
- Returns
- return REGISTER type
◆ get_second_operand()
std::int8_t KUNAI::DEX::Instruction22b::get_second_operand |
( |
| ) |
const |
|
inline |
Get the value of the second operand.
- Returns
- value of second operand
◆ get_second_operand_type()
TYPES::Operand KUNAI::DEX::Instruction22b::get_second_operand_type |
( |
| ) |
const |
|
inline |
Get the type of the second operand.
- Returns
- return LITERAL type
◆ print_instruction() [1/2]
virtual std::string KUNAI::DEX::Instruction22b::print_instruction |
( |
| ) |
|
|
inlinevirtual |
Return a string with the representation of the instruction.
- Returns
- string with instruction
Reimplemented from KUNAI::DEX::Instruction.
◆ print_instruction() [2/2]
virtual void KUNAI::DEX::Instruction22b::print_instruction |
( |
std::ostream & |
os | ) |
|
|
inlinevirtual |
Print the instruction on a given stream.
- Parameters
-
os | stream where to print the instruction |
Reimplemented from KUNAI::DEX::Instruction.
The documentation for this class was generated from the following file: