Lines Matching refs:inst1
385 thumb_insn_size (unsigned short inst1) in thumb_insn_size() argument
387 if ((inst1 & 0xe000) == 0xe000 && (inst1 & 0x1800) != 0) in thumb_insn_size()
397 uint16_t inst1; in thumb_get_next_pcs() local
399 if (proc_read_16(proc, pc, &inst1) < 0 in thumb_get_next_pcs()
411 if ((inst1 & 0xff00) == 0xbd00) { /* pop {rlist, pc} */ in thumb_get_next_pcs()
414 const unsigned offset = bitcount(BITS(inst1, 0, 7)) * 4; in thumb_get_next_pcs()
423 } else if ((inst1 & 0xf000) == 0xd000) { /* conditional branch */ in thumb_get_next_pcs()
424 const unsigned long cond = BITS(inst1, 8, 11); in thumb_get_next_pcs()
426 next_pcs[nr++] = pc + (SBITS(inst1, 0, 7) << 1); in thumb_get_next_pcs()
430 } else if ((inst1 & 0xf800) == 0xe000) { /* unconditional branch */ in thumb_get_next_pcs()
431 next_pcs[nr++] = pc + (SBITS(inst1, 0, 10) << 1); in thumb_get_next_pcs()
432 } else if (thumb_insn_size(inst1) == 4) { /* 32-bit instruction */ in thumb_get_next_pcs()
437 if ((inst1 & 0xf800) == 0xf000 && (inst2 & 0x8000) == 0x8000) { in thumb_get_next_pcs()
444 const int imm1 = SBITS(inst1, 0, 10); in thumb_get_next_pcs()
461 } else if (inst1 == 0xf3de in thumb_get_next_pcs()
473 && (inst1 & 0x0380) != 0x0380) { in thumb_get_next_pcs()
475 const int sign = SBITS(inst1, 10, 10); in thumb_get_next_pcs()
476 const unsigned imm1 = BITS(inst1, 0, 5); in thumb_get_next_pcs()
485 if (BITS(inst1, 6, 9) == COND_ALWAYS) in thumb_get_next_pcs()
488 } else if ((inst1 & 0xfe50) == 0xe810) { in thumb_get_next_pcs()
491 const enum arm_register rn = BITS(inst1, 0, 3); in thumb_get_next_pcs()
493 if (BIT(inst1, 7) && !BIT(inst1, 8)) { in thumb_get_next_pcs()
498 } else if (!BIT(inst1, 7) && BIT(inst1, 8)) { in thumb_get_next_pcs()
503 } else if (BIT(inst1, 7) && BIT(inst1, 8)) { in thumb_get_next_pcs()
506 } else if (!BIT(inst1, 7) && !BIT(inst1, 8)) { in thumb_get_next_pcs()
524 } else if ((inst1 & 0xffef) == 0xea4f in thumb_get_next_pcs()
533 } else if ((inst1 & 0xff70) == 0xf850 in thumb_get_next_pcs()
536 const enum arm_register rn = BITS(inst1, 0, 3); in thumb_get_next_pcs()
544 if (BIT(inst1, 7)) in thumb_get_next_pcs()
548 } else if (BIT(inst1, 7)) { in thumb_get_next_pcs()
577 } else if ((inst1 & 0xfff0) == 0xe8d0 in thumb_get_next_pcs()
580 const enum arm_register tbl_reg = BITS(inst1, 0, 3); in thumb_get_next_pcs()
603 } else if ((inst1 & 0xfff0) == 0xe8d0 in thumb_get_next_pcs()
606 const enum arm_register tbl_reg = BITS(inst1, 0, 3); in thumb_get_next_pcs()
634 next_pcs[nr++] = pc + thumb_insn_size(inst1); in thumb_get_next_pcs()