PROLEAD
A Probing-Based Leakage Detection Tool for Hardware and Software
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | List of all members
mulator::Instruction Struct Reference

#include <instruction.h>

Public Types

enum class  OperandType {
  NONE , I , R , RI ,
  RR , RRI , RRR , RRII ,
  RRRI , RRRR
}
 

Public Member Functions

 Instruction ()
 
 ~Instruction ()=default
 
bool uses_immediate () const
 
bool uses_only_registers () const
 
u32 get_register_count () const
 
u32 get_immediate_count () const
 

Public Attributes

u32 address
 
u8 size
 
u32 encoding
 
Mnemonic name
 
Condition condition
 
ShiftType shift_type
 
u32 shift_amount
 
struct {
   bool   S
 
   bool   wback
 
   bool   index
 
   bool   add
 
   bool   unaligned_allowed
 
flags
 
enum mulator::Instruction::OperandType operand_type
 
Register Rd
 
Register Rn
 
Register Rm
 
Register Ra
 
u32 imm
 
u32 imm2
 
Register RdLo
 
Register RdHi
 

Detailed Description

Definition at line 13 of file instruction.h.

Member Enumeration Documentation

◆ OperandType

Enumerator
NONE 
RI 
RR 
RRI 
RRR 
RRII 
RRRI 
RRRR 

Definition at line 38 of file instruction.h.

Constructor & Destructor Documentation

◆ Instruction()

mulator::Instruction::Instruction ( )

◆ ~Instruction()

mulator::Instruction::~Instruction ( )
default

Member Function Documentation

◆ get_immediate_count()

u32 mulator::Instruction::get_immediate_count ( ) const

◆ get_register_count()

u32 mulator::Instruction::get_register_count ( ) const

◆ uses_immediate()

bool mulator::Instruction::uses_immediate ( ) const

◆ uses_only_registers()

bool mulator::Instruction::uses_only_registers ( ) const

Member Data Documentation

◆ add

bool mulator::Instruction::add

Definition at line 34 of file instruction.h.

◆ address

u32 mulator::Instruction::address

Definition at line 18 of file instruction.h.

◆ condition

Condition mulator::Instruction::condition

Definition at line 24 of file instruction.h.

◆ encoding

u32 mulator::Instruction::encoding

Definition at line 20 of file instruction.h.

◆ 

struct { ... } mulator::Instruction::flags

◆ imm

u32 mulator::Instruction::imm

Definition at line 56 of file instruction.h.

◆ imm2

u32 mulator::Instruction::imm2

Definition at line 57 of file instruction.h.

◆ index

bool mulator::Instruction::index

Definition at line 33 of file instruction.h.

◆ name

Mnemonic mulator::Instruction::name

Definition at line 22 of file instruction.h.

◆ operand_type

enum mulator::Instruction::OperandType mulator::Instruction::operand_type

◆ Ra

Register mulator::Instruction::Ra

Definition at line 55 of file instruction.h.

◆ Rd

Register mulator::Instruction::Rd

Definition at line 52 of file instruction.h.

◆ RdHi

Register mulator::Instruction::RdHi

Definition at line 61 of file instruction.h.

◆ RdLo

Register mulator::Instruction::RdLo

Definition at line 60 of file instruction.h.

◆ Rm

Register mulator::Instruction::Rm

Definition at line 54 of file instruction.h.

◆ Rn

Register mulator::Instruction::Rn

Definition at line 53 of file instruction.h.

◆ S

bool mulator::Instruction::S

Definition at line 31 of file instruction.h.

◆ shift_amount

u32 mulator::Instruction::shift_amount

Definition at line 27 of file instruction.h.

◆ shift_type

ShiftType mulator::Instruction::shift_type

Definition at line 26 of file instruction.h.

◆ size

u8 mulator::Instruction::size

Definition at line 19 of file instruction.h.

◆ unaligned_allowed

bool mulator::Instruction::unaligned_allowed

Definition at line 35 of file instruction.h.

◆ wback

bool mulator::Instruction::wback

Definition at line 32 of file instruction.h.


The documentation for this struct was generated from the following file: