PROLEAD
A Probing-Based Leakage Detection Tool for Hardware and Software
Loading...
Searching...
No Matches
mnemonics.h
Go to the documentation of this file.
1#pragma once
2
3#include <string>
4#include <ostream>
5
6namespace mulator
7{
8
9 enum class Mnemonic
10 {
11 ADC,
12 ADD,
13 ADR,
14 AND,
15 ASR,
16 B,
17 BIC,
18 BKPT,
19 BL,
20 BLX,
21 BX,
22 CMN,
23 CMP,
24 CPS,
25 DMB,
26 DSB,
27 EOR,
28 ISB,
29 LDM,
30 LDR,
31 LDRB,
32 LDRH,
33 LDRSB,
34 LDRSH,
35 LSL,
36 LSR,
37 MOV,
38 MRS,
39 MSR,
40 MUL,
41 MVN,
42 NOP,
43 ORR,
44 POP,
45 PUSH,
46 REV,
47 REV16,
48 REVSH,
49 ROR,
50 RSB,
51 SBC,
52 SEV,
53 STM,
54 STR,
55 STRB,
56 STRH,
57 SUB,
58 SVC,
59 SXTB,
60 SXTH,
61 TST,
62 UDF,
63 UXTB,
64 UXTH,
65 WFE,
66 WFI,
67 YIELD,
68
69 // armv7m only
70 ADDW,
71 BFC,
72 BFI,
73 CBZ,
74 CBNZ,
75 CLREX,
76 CLZ,
77 CSDB,
78 DBG,
79 IT,
80 LDMDB,
81 LDRBT,
82 LDRD,
83 LDREX,
84 LDREXB,
85 LDREXH,
86 LDRHT,
87 LDRSBT,
88 LDRSHT,
89 LDRT,
90 MLA,
91 MLS,
92 MOVT,
93 MOVW,
94 ORN,
95 PLD,
96 PLI,
97 PSSBB,
98 RBIT,
99 RRX,
100 SBFX,
101 SDIV,
102 SMLAL,
103 SMULL,
104 SSAT,
105 SSBB,
106 STMDB,
107 STRBT,
108 STRD,
109 STREX,
110 STREXB,
111 STREXH,
112 STRHT,
113 STRT,
114 SUBW,
115 TBB,
116 TBH,
117 TEQ,
118 UBFX,
119 UDIV,
120 UMLAL,
121 UMULL,
122 USAT,
123
124 // armv7e-m only
125 UADD8,
126 SEL,
127 USUB16,
128 UADD16,
129 PKHTB,
130 PKHBT,
131 SMULBB,
132 SMULBT,
133 SMULTB,
134 SMULTT,
135 SMLABB,
136 SMLABT,
137 SMLATB,
138 SMLATT,
139 QADD,
140 QADD16,
141 QADD8,
142 QASX,
143 QDADD,
144 QDSUB,
145 USUB8,
146 UXTAB,
147 UXTAB16,
148 UXTAH,
149 UXTB16,
150 USAX,
151 SSUB16,
152 SSUB8,
153 SXTAB,
154 SXTAB16,
155 SXTAH,
156 UASX,
157 UHADD16,
158 UHSUB8, //--
159 QSAX,
160 QSUB,
161 SHADD16,
162 SMLALD,
163 SHADD8,
164 SMLALDX,
165 QSUB16,
166 SHASX,
167 SMLAD,
168 SMLAWB,
169 QSUB8,
170 SHSAX,
171 SMLADX,
172 SMLAWT,
173 SADD16,
174 SHSUB16,
175 SMLALBB,
176 SMLSD,
177 SADD8,
178 SHSUB8,
179 SMLALBT,
180 SMLSDX,
181 SMLSLD,
182 SMLSLDX,
183 SMMLA,
184 SMMLAR,
185 SMMLS,
186 SMMLSR,
187 SMMUL,
188 SMMULR,
189 SMUAD,
190 SMUADX,
191 SMULWB,
192 SMULWT,
193 SMUSD,
194 SMUSDX,
195 SSAT16,
196 SSAX,
197 UMAAL,
198 UQADD16,
199 UQADD8,
200 UQASX,
201 UQSAX,
202 UQSUB16,
203 UQSUB8,
204 USAD8,
205 USADA8,
206 USAT16,
207 SASX,
208 SMLALTT,
209 SMLALTB
210
211 };
212
213 std::string to_string(const Mnemonic& x);
214 std::ostream& operator<<(std::ostream& os, const Mnemonic& x);
215
218
219}
std::string to_string(const Architecture &x)
std::ostream & operator<<(std::ostream &os, const Architecture &x)
bool has_wide_encoding(const Mnemonic &x)
bool has_narrow_encoding(const Mnemonic &x)