Lines Matching defs:insn

313       unsigned short insn = read_memory_unsigned_integer (current_pc, 2);
315 if ((insn & 0xfe00) == 0xb400) /* push { rlist } */
319 else if ((insn & 0xff00) == 0xb000) /* add sp, #simm OR
327 else if ((insn & 0xff00) == 0xaf00) /* add r7, sp, #imm */
331 else if (insn == 0x466f) /* mov r7, sp */
363 sub fp, ip, #nn @@ nn == 20 or 4 depending on second insn */
534 unsigned short insn;
538 insn = read_memory_unsigned_integer (current_pc, 2);
540 if ((insn & 0xfe00) == 0xb400) /* push { rlist } */
546 mask = (insn & 0xff) | ((insn & 0x100) << 6);
558 else if ((insn & 0xff00) == 0xb000) /* add sp, #simm OR
566 offset = (insn & 0x7f) << 2; /* get scaled offset */
567 if (insn & 0x80) /* is it signed? (==subtracting) */
574 else if ((insn & 0xff00) == 0xaf00) /* add r7, sp, #imm */
579 cache->frameoffset = (insn & 0xff) << 2;
581 else if (insn == 0x466f) /* mov r7, sp */
588 else if ((insn & 0xffc0) == 0x4640) /* mov r0-r7, r8-r15 */
590 int lo_reg = insn & 7; /* dest. register (r0-r7) */
591 int hi_reg = ((insn >> 3) & 7) + 8; /* source register (r8-15) */
763 if we don't see this as the first insn, we will stop.
779 unsigned int insn = read_memory_unsigned_integer (current_pc, 4);
781 if (insn == 0xe1a0c00d) /* mov ip, sp */
786 else if ((insn & 0xfffff000) == 0xe28dc000) /* add ip, sp #n */
788 unsigned imm = insn & 0xff; /* immediate value */
789 unsigned rot = (insn & 0xf00) >> 7; /* rotate amount */
794 else if ((insn & 0xfffff000) == 0xe24dc000) /* sub ip, sp #n */
796 unsigned imm = insn & 0xff; /* immediate value */
797 unsigned rot = (insn & 0xf00) >> 7; /* rotate amount */
802 else if (insn == 0xe52de004) /* str lr, [sp, #-4]! */
808 else if ((insn & 0xffff0000) == 0xe92d0000)
813 int mask = insn & 0xffff;
823 else if ((insn & 0xffffc000) == 0xe54b0000 || /* strb rx,[r11,#-n] */
824 (insn & 0xffffc0f0) == 0xe14b00b0 || /* strh rx,[r11,#-n] */
825 (insn & 0xffffc000) == 0xe50b0000) /* str rx,[r11,#-n] */
830 else if ((insn & 0xffffc000) == 0xe5cd0000 || /* strb rx,[sp,#n] */
831 (insn & 0xffffc0f0) == 0xe1cd00b0 || /* strh rx,[sp,#n] */
832 (insn & 0xffffc000) == 0xe58d0000) /* str rx,[sp,#n] */
837 else if ((insn & 0xfffff000) == 0xe24cb000) /* sub fp, ip #n */
839 unsigned imm = insn & 0xff; /* immediate value */
840 unsigned rot = (insn & 0xf00) >> 7; /* rotate amount */
845 else if ((insn & 0xfffff000) == 0xe24dd000) /* sub sp, sp #n */
847 unsigned imm = insn & 0xff; /* immediate value */
848 unsigned rot = (insn & 0xf00) >> 7; /* rotate amount */
852 else if ((insn & 0xffff7fff) == 0xed6d0103) /* stfe f?, [sp, -#c]! */
855 regno = ARM_F0_REGNUM + ((insn >> 12) & 0x07);
858 else if ((insn & 0xffbf0fff) == 0xec2d0200) /* sfmfd f0, 4, [sp!] */
863 if ((insn & 0x800) == 0x800) /* N0 is set */
865 if ((insn & 0x40000) == 0x40000) /* N1 is set */
872 if ((insn & 0x40000) == 0x40000) /* N1 is set */
878 fp_start_reg = ARM_F0_REGNUM + ((insn >> 12) & 0x7);
886 else if ((insn & 0xf0000000) != 0xe0000000)
888 else if ((insn & 0xfe200000) == 0xe8200000) /* ldm? */
2889 /* Sync the opcode insn printer with our register viewer. */