PROLEAD
A Probing-Based Leakage Detection Tool for Hardware and Software
Loading...
Searching...
No Matches
instruction.h
Go to the documentation of this file.
1#pragma once
2
9
10namespace mulator
11{
12
14 {
16 ~Instruction() = default;
17
21
23
25
28
29 struct
30 {
31 bool S;
32 bool wback;
33 bool index;
34 bool add;
37
38 enum class OperandType
39 {
40 NONE,
41 I, // immediate
42 R, // register
43 RI, // register, immediate
44 RR, // register, register
45 RRI, // register, register, immediate
46 RRR, // register, register, register
47 RRII, // register, register, immediate, immediate
48 RRRI, // register, register, register, immediate
49 RRRR // register, register, register, register
51
58
59 //armv7e-m specific
62
63 bool uses_immediate() const;
64 bool uses_only_registers() const;
67 };
68}
uint32_t u32
Definition: types.h:12
uint8_t u8
Definition: types.h:10
struct mulator::Instruction::@1 flags
bool uses_immediate() const
u32 get_register_count() const
u32 get_immediate_count() const
bool uses_only_registers() const
ShiftType shift_type
Definition: instruction.h:26
enum mulator::Instruction::OperandType operand_type