42 ut16 Rr = data[0] & 0x000F;
43 ut16 Rd = ((data[0] & 0x01F0) >> 4);
44 Rr |= ((data[0] & 0x0200) >> 5);
50 if (!strncmp(
name,
"adc", 3)) {
53 }
else if (!strncmp(
name,
"add", 3)) {
56 }
else if (!strncmp(
name,
"and", 3)) {
59 }
else if (!strncmp(
name,
"eor", 3)) {
76 ut16 K = data[0] & 0x000F;
77 ut16 Rd = 24 + ((data[0] & 0x0030) >> 3);
78 K |= ((data[0] & 0x00C0) >> 2);
81 aop->
param[0] = Rd + 1;
90 ut16 K = data[0] & 0x000F;
91 ut16 Rd = 16 + ((data[0] & 0x00F0) >> 4);
92 K |= ((data[0] & 0x0F00) >> 4);
95 if (K == 0xFF && !strncmp(
name,
"ldi", 3)) {
109 ut16 Rd = ((data[0] & 0x01F0) >> 4);
119 ut16 b = data[0] & 0x0007;
120 ut16 Rd = ((data[0] & 0x01F0) >> 4);
131 st16 k = (data[0] & 0x03F8) >> 3;
150 st32 k = data[0] & 0x0001;
151 k |= ((data[0] & 0x01F0) >> 3);
157 aop->
param[0] = (
k >> 16) & 0xFFFF;
158 aop->
param[1] =
k & 0xFFFF;
165 ut16 b = data[0] & 0x0007;
166 ut16 A = ((data[0] & 0x00F8) >> 3);
177 ut16 K = ((data[0] & 0x00F0) >> 4);
187 ut16 Rd = ((data[0] & 0x01F0) >> 4);
198 ut16 Rd = ((data[0] & 0x01F0) >> 4);
211 ut16 Rr = 16 + (data[0] & 0x0007);
212 ut16 Rd = 16 + ((data[0] & 0x0070) >> 4);
223 ut16 A = data[0] & 0x000F;
224 ut16 Rd = ((data[0] & 0x01F0) >> 4);
225 A |= ((data[0] & 0x0600) >> 5);
236 ut16 Rd = ((data[0] & 0x01F0) >> 4);
247 ut16 Rd = ((data[0] & 0x01F0) >> 4);
260 ut16 Rd = ((data[0] & 0x01F0) >> 4);
273 ut16 Rd = ((data[0] & 0x01F0) >> 4);
284 ut16 Rd = ((data[0] & 0x01F0) >> 4);
297 ut16 Rd = ((data[0] & 0x01F0) >> 4);
310 ut16 q = data[0] & 0x0007;
311 ut16 Rd = ((data[0] & 0x01F0) >> 4);
312 q |= ((data[0] & 0x0C00) >> 7);
313 q |= ((data[0] & 0x2000) >> 8);
326 ut16 Rd = ((data[0] & 0x01F0) >> 4);
339 ut16 q = data[0] & 0x0007;
340 ut16 Rd = ((data[0] & 0x01F0) >> 4);
341 q |= ((data[0] & 0x0C00) >> 7);
342 q |= ((data[0] & 0x2000) >> 8);
355 ut16 Rd = ((data[0] & 0x01F0) >> 4);
358 aop->
param[1] = data[1];
365 ut16 k = data[0] & 0x000F;
366 ut16 Rd = 16 + ((data[0] & 0x00F0) >> 4);
367 k |= ((data[0] & 0x0700) >> 4);
377 ut16 Rr = data[0] & 0x000F;
378 ut16 Rd = ((data[0] & 0x00F0) >> 4);
392 ut16 Rr = data[0] & 0x000F;
393 ut16 Rd = ((data[0] & 0x00F0) >> 4);
406 ut16 A = data[0] & 0x000F;
407 ut16 Rr = ((data[0] & 0x01F0) >> 4);
408 A |= ((data[0] & 0x0600) >> 5);
419 st16 k = data[0] & 0x0FFF;
439 ut16 b = data[0] & 0x0007;
440 ut16 Rr = ((data[0] & 0x01F0) >> 4);
451 ut16 Rd = 16 + ((data[0] & 0x00F0) >> 4);
470 ut16 Rr = ((data[0] & 0x01F0) >> 4);
481 ut16 Rr = ((data[0] & 0x01F0) >> 4);
494 ut16 Rr = ((data[0] & 0x01F0) >> 4);
507 ut16 Rr = ((data[0] & 0x01F0) >> 4);
518 ut16 Rr = ((data[0] & 0x01F0) >> 4);
531 ut16 Rr = ((data[0] & 0x01F0) >> 4);
544 ut16 q = data[0] & 0x0007;
545 ut16 Rr = ((data[0] & 0x01F0) >> 4);
546 q |= ((data[0] & 0x0C00) >> 7);
547 q |= ((data[0] & 0x2000) >> 8);
560 ut16 Rr = ((data[0] & 0x01F0) >> 4);
571 ut16 Rr = ((data[0] & 0x01F0) >> 4);
584 ut16 Rr = ((data[0] & 0x01F0) >> 4);
597 ut16 q = data[0] & 0x0007;
598 ut16 Rr = ((data[0] & 0x01F0) >> 4);
599 q |= ((data[0] & 0x0C00) >> 7);
600 q |= ((data[0] & 0x2000) >> 8);
613 ut16 Rd = ((data[0] & 0x01F0) >> 4);
616 aop->
param[0] = data[1];
624 ut16 k = data[0] & 0x000F;
625 ut16 Rd = 16 + ((data[0] & 0x00F0) >> 4);
626 k |= ((data[0] & 0x0700) >> 4);
static ut32 avr_qcqqcrrrrrcqqq_z(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
static ut32 avr_qcqqcdddddcqqq_y(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
static ut32 avr_rrrrrcccc_xp(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
static const AvrInstruction instructions[]
static ut32 avr_spmz(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
static ut32 avr_kkkkkkkkkkkk(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
static ut32 avr_kkkkkccck(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
static ut32 avr_unique(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
static ut32 avr_rrrrrcccc_z(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
static ut32 avr_dddddcccc_yp(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
static ut32 avr_dddddcccc_ym(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
static ut32 avr_qcqqcdddddcqqq_z(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
static ut32 avr_dddddcccc_y(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
static ut32 avr_qcqqcrrrrrcqqq_y(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
static ut32 avr_dddcrrr(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
static ut32 avr_AArrrrrAAAA(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
ut32 avr_disassembler(const ut8 *buffer, const ut32 size, ut64 pc, bool be, AVROp *aop, RzStrBuf *sb)
static ut32 avr_KKKKddddKKKK(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
static ut32 avr_AAdddddAAAA(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
static ut32 avr_ddddcccc(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
static ut32 avr_dddddcccc_zp(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
static ut32 avr_ddddrrrr_2x(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
static ut32 avr_rdddddrrrr(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
static ut32 avr_ddddrrrr(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
static ut32 avr_dddddcccc_xm(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
static ut32 avr_kkkkkkkccc(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
static ut32 avr_dddddcccc_store32(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
static ut32 avr_dddddcccc_zm(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
static ut32 avr_kkkddddkkkk_load16(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
static ut32 avr_dddddcccc_z(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
static ut32 avr_dddddcccc_xp(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
static ut32 avr_rrrrrcccc_zp(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
static ut32 avr_dddddcccc_x(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
static ut32 avr_rrrrrcccc_y(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
static ut32 avr_KKddKKKK(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
static ut32 avr_KKKKcccc(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
static ut32 avr_rrrrrcccc_zm(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
static ut32 avr_rrrrrcbbb(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
ut32(* Decode)(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
static ut32 avr_dddddcbbb(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
static ut32 avr_rrrrrcccc_xm(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
static ut32 avr_AAAAAbbb(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
static ut32 avr_rrrrrcccc_ym(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
static ut32 avr_rrrrrcccc_yp(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
static ut32 avr_dddddcccc(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
static ut32 avr_kkkddddkkkk_store16(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
struct avr_decoder_t AvrInstruction
static ut32 avr_rrrrrcccc_x(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
static ut32 avr_dddddcccc_load32(cchar *name, AVROpMnem id, ut16 data[2], ut64 pc, AVROp *aop, RzStrBuf *sb)
return memset(p, 0, total)
#define rz_return_val_if_fail(expr, val)
static ut16 rz_read_at_le16(const void *src, size_t offset)
static ut16 rz_read_ble16(const void *src, bool big_endian)
static ut16 rz_read_at_be16(const void *src, size_t offset)
RZ_API const char * rz_strbuf_set(RzStrBuf *sb, const char *s)
RZ_API const char * rz_strbuf_setf(RzStrBuf *sb, const char *fmt,...) RZ_PRINTF_CHECK(2
Definitions common to the whole liblzma library.
ut64(WINAPI *w32_GetEnabledXStateFeatures)()