Lines Matching full:given
1595 arm_decode_shift (long given, fprintf_ftype func, void *stream,
1598 func (stream, "%s", arm_regnames[given & 0xf]);
1600 if ((given & 0xff0) != 0)
1602 if ((given & 0x10) == 0)
1604 int amount = (given & 0xf80) >> 7;
1605 int shift = (given & 0x60) >> 5;
1624 func (stream, ", %s %s", arm_shift[(given & 0x60) >> 5],
1625 arm_regnames[(given & 0xf00) >> 8]);
1627 func (stream, ", %s", arm_regnames[(given & 0xf00) >> 8]);
1636 print_insn_coprocessor (bfd_vma pc, struct disassemble_info *info, long given,
1672 if ((given & 0xf0000000) == 0xf0000000)
1679 cond = (given >> 28) & 0xf;
1684 if ((given & mask) == value)
1699 func (stream, "[%s", arm_regnames [(given >> 16) & 0xf]);
1701 if ((given & (1 << 24)) != 0)
1703 int offset = given & 0xff;
1707 ((given & 0x00800000) == 0 ? "-" : ""),
1709 ((given & 0x00200000) != 0 ? "!" : ""));
1715 int offset = given & 0xff;
1719 if (given & (1 << 21))
1723 ((given & 0x00800000) == 0 ? "-" : ""),
1733 int regno = ((given >> 12) & 0xf) | ((given >> (22 - 4)) & 0x10);
1734 int offset = (given >> 1) & 0x3f;
1747 int rn = (given >> 16) & 0xf;
1748 int offset = (given & 0xff) * 4;
1749 int add = (given >> 23) & 1;
1783 imm = (given & 0xf) | ((given & 0xe0) >> 1);
1795 switch (given & 0x00408000)
1812 switch (given & 0x00080080)
1829 switch (given & 0x00408000)
1846 switch (given & 0x60)
1868 c = arm_decode_bitfield (c, given, &value, &width);
1889 int from = (given & (1 << 7)) ? 32 : 16;
1950 regno = given & 0x0000000f;
1954 regno += (given >> 5) & 1;
1957 regno += ((given >> 5) & 1) << 4;
1961 regno = (given >> 12) & 0x0000000f;
1965 regno += (given >> 22) & 1;
1968 regno += ((given >> 22) & 1) << 4;
1972 regno = (given >> 16) & 0x0000000f;
1976 regno += (given >> 7) & 1;
1979 regno += ((given >> 7) & 1) << 4;
1984 regno = (given >> 12) & 0x0000000f;
1988 regno += (given >> 22) & 1;
1991 regno += ((given >> 22) & 1) << 4;
2002 int count = given & 0xff;
2023 switch (given & 0x00400100)
2037 /* given (20, 23) | given (0, 3) */
2038 value = ((given >> 16) & 0xf0) | (given & 0xf);
2048 int offset = given & 0xff;
2049 int multiplier = (given & 0x00000100) ? 4 : 1;
2051 func (stream, "[%s", arm_regnames [(given >> 16) & 0xf]);
2055 if ((given & 0x01000000) != 0)
2057 ((given & 0x00800000) == 0 ? "-" : ""),
2059 ((given & 0x00200000) != 0 ? "!" : ""));
2062 ((given & 0x00800000) == 0 ? "-" : ""),
2072 int imm4 = (given >> 4) & 0xf;
2073 int puw_bits = ((given >> 22) & 6) | ((given >> 21) & 1);
2074 int ubit = (given >> 23) & 1;
2075 const char *rm = arm_regnames [given & 0xf];
2076 const char *rn = arm_regnames [(given >> 16) & 0xf];
2112 imm5 = ((given & 0x100) >> 4) | (given & 0xf);
2132 print_arm_address (bfd_vma pc, struct disassemble_info *info, long given)
2137 if (((given & 0x000f0000) == 0x000f0000)
2138 && ((given & 0x02000000) == 0))
2140 int offset = given & 0xfff;
2144 if (given & 0x01000000)
2146 if ((given & 0x00800000) == 0)
2158 if (given & 0x00200000)
2176 arm_regnames[(given >> 16) & 0xf]);
2177 if ((given & 0x01000000) != 0)
2179 if ((given & 0x02000000) == 0)
2181 int offset = given & 0xfff;
2184 (((given & 0x00800000) == 0)
2190 (((given & 0x00800000) == 0)
2192 arm_decode_shift (given, func, stream, 1);
2196 ((given & 0x00200000) != 0) ? "!" : "");
2200 if ((given & 0x02000000) == 0)
2202 int offset = given & 0xfff;
2205 (((given & 0x00800000) == 0)
2213 (((given & 0x00800000) == 0)
2215 arm_decode_shift (given, func, stream, 1);
2226 print_insn_neon (struct disassemble_info *info, long given, bfd_boolean thumb)
2234 if ((given & 0xef000000) == 0xef000000)
2237 given & (1 << 28);
2239 given &= 0x00ffffff;
2241 given |= 0xf3000000;
2243 given |= 0xf2000000;
2245 else if ((given & 0xff000000) == 0xf9000000)
2246 given ^= 0xf9000000 ^ 0xf4000000;
2253 if ((given & insn->mask) == insn->value)
2288 int rd = ((given >> 12) & 0xf) | (((given >> 22) & 1) << 4);
2289 int rn = ((given >> 16) & 0xf);
2290 int rm = ((given >> 0) & 0xf);
2291 int align = ((given >> 4) & 0x3);
2292 int type = ((given >> 8) & 0xf);
2318 int rd = ((given >> 12) & 0xf) | (((given >> 22) & 1) << 4);
2319 int rn = ((given >> 16) & 0xf);
2320 int rm = ((given >> 0) & 0xf);
2321 int idx_align = ((given >> 4) & 0xf);
2323 int size = ((given >> 10) & 0x3);
2325 int length = ((given >> 8) & 3) + 1;
2393 int rd = ((given >> 12) & 0xf) | (((given >> 22) & 1) << 4);
2394 int rn = ((given >> 16) & 0xf);
2395 int rm = ((given >> 0) & 0xf);
2396 int align = ((given >> 4) & 0x1);
2397 int size = ((given >> 6) & 0x3);
2398 int type = ((given >> 8) & 0x3);
2400 int stride = ((given >> 5) & 0x1);
2437 int raw_reg = (given & 0xf) | ((given >> 1) & 0x10);
2438 int size = (given >> 20) & 3;
2450 int cmode = (given >> 8) & 0xf;
2451 int op = (given >> 5) & 0x1;
2457 bits |= ((given >> 24) & 1) << 7;
2458 bits |= ((given >> 16) & 7) << 4;
2459 bits |= ((given >> 0) & 15) << 0;
2574 int regno = ((given >> 16) & 0xf) | ((given >> (7 - 4)) & 0x10);
2575 int num = (given >> 8) & 0x3;
2593 c = arm_decode_bitfield (c, given, &value, &width);
2633 if (given & (1 << 6))
2683 print_insn_arm_internal (bfd_vma pc, struct disassemble_info *info, long given)
2689 if (print_insn_coprocessor (pc, info, given, FALSE))
2692 if (print_insn_neon (info, given, FALSE))
2702 if ((given & insn->mask) == insn->value
2706 && ((given & 0xF0000000) != 0xF0000000
2723 print_arm_address (pc, info, given);
2729 print_arm_address (pc, info, given | (1 << 24));
2733 if ((given & 0x004f0000) == 0x004f0000)
2736 int offset = ((given & 0xf00) >> 4) | (given & 0xf);
2738 if ((given & 0x00800000) == 0)
2747 arm_regnames[(given >> 16) & 0xf]);
2748 if ((given & 0x01000000) != 0)
2751 if ((given & 0x00400000) == 0x00400000)
2754 int offset = ((given & 0xf00) >> 4) | (given & 0xf);
2757 (((given & 0x00800000) == 0)
2764 (((given & 0x00800000) == 0)
2766 arm_regnames[given & 0xf]);
2770 ((given & 0x00200000) != 0) ? "!" : "");
2775 if ((given & 0x00400000) == 0x00400000)
2778 int offset = ((given & 0xf00) >> 4) | (given & 0xf);
2781 (((given & 0x00800000) == 0)
2790 (((given & 0x00800000) == 0)
2792 arm_regnames[given & 0xf]);
2800 int disp = (((given & 0xffffff) ^ 0x800000) - 0x800000);
2806 if (((given >> 28) & 0xf) != 0xe)
2808 arm_conditional [(given >> 28) & 0xf]);
2818 if ((given & (1 << reg)) != 0)
2830 given, func, stream, 0);
2834 if ((given & 0x02000000) != 0)
2836 int rotate = (given & 0xf00) >> 7;
2837 int immed = (given & 0xff);
2843 arm_decode_shift (given, func, stream, 1);
2847 if ((given & 0x0000f000) == 0x0000f000)
2852 if ((given & 0x01200000) == 0x00200000)
2857 func (stream, "[%s", arm_regnames [(given >> 16) & 0xf]);
2859 if ((given & (1 << 24)) != 0)
2861 int offset = given & 0xff;
2865 ((given & 0x00800000) == 0 ? "-" : ""),
2867 ((given & 0x00200000) != 0 ? "!" : ""));
2873 int offset = given & 0xff;
2877 if (given & (1 << 21))
2881 ((given & 0x00800000) == 0 ? "-" : ""),
2895 if (given & 0x00800000)
2900 offset += given & 0x00ffffff;
2904 if (given & 0x01000000)
2914 if (given & 0x80000)
2916 if (given & 0x40000)
2918 if (given & 0x20000)
2920 if (given & 0x10000)
2925 switch (given & 0xf)
2932 func(stream, "#%d", (int)given & 0xf);
2943 c = arm_decode_bitfield (c, given, &value, &width);
2964 if ((given & 0x0fffffff) == 0x0FF00000)
2966 else if ((given & 0x0fffffff) == 0x0FF00001)
2995 imm = (given & 0xf) | ((given & 0xfff00) >> 4);
3004 long msb = (given & 0x001f0000) >> 16;
3005 long lsb = (given & 0x00000f80) >> 7;
3019 long hi = (given & 0x000f0000) >> 4;
3020 long lo = (given & 0x00000fff);
3043 print_insn_thumb16 (bfd_vma pc, struct disassemble_info *info, long given)
3050 if ((given & insn->mask) == insn->value)
3086 ifthen_next_state = given & 0xff;
3087 for (tmp = given << 1; tmp & 0xf; tmp <<= 1)
3088 func (stream, ((given ^ tmp) & 0x10) ? "e" : "t");
3089 func (stream, "\t%s", arm_conditional[(given >> 4) & 0xf]);
3108 reg = (given >> 3) & 0x7;
3109 if (given & (1 << 6))
3120 reg = given & 0x7;
3121 if (given & (1 << 7))
3129 if (given & (1 << 8))
3133 if (*c == 'O' && (given & (1 << 8)))
3146 if ((given & (1 << reg)) != 0)
3177 + ((given & 0x00f8) >> 2)
3178 + ((given & 0x0200) >> 3));
3187 long imm = (given & 0x07c0) >> 6;
3214 reg = given >> bitstart;
3263 if ((given & (1 << bitstart)) != 0)
3269 if ((given & (1 << bitstart)) != 0)
3319 print_insn_thumb32 (bfd_vma pc, struct disassemble_info *info, long given)
3325 if (print_insn_coprocessor (pc, info, given, TRUE))
3328 if (print_insn_neon (info, given, TRUE))
3332 if ((given & insn->mask) == insn->value)
3368 imm12 |= (given & 0x000000ffu);
3369 imm12 |= (given & 0x00007000u) >> 4;
3370 imm12 |= (given & 0x04000000u) >> 15;
3378 bits |= (given & 0x000000ffu);
3379 bits |= (given & 0x00007000u) >> 4;
3380 bits |= (given & 0x04000000u) >> 15;
3401 imm |= (given & 0x000000ffu);
3402 imm |= (given & 0x00007000u) >> 4;
3403 imm |= (given & 0x04000000u) >> 15;
3404 imm |= (given & 0x000f0000u) >> 4;
3412 imm |= (given & 0x000f0000u) >> 16;
3413 imm |= (given & 0x00000ff0u) >> 0;
3414 imm |= (given & 0x0000000fu) << 12;
3421 unsigned int reg = (given & 0x0000000fu);
3422 unsigned int stp = (given & 0x00000030u) >> 4;
3424 imm |= (given & 0x000000c0u) >> 6;
3425 imm |= (given & 0x00007000u) >> 10;
3458 unsigned int Rn = (given & 0x000f0000) >> 16;
3459 unsigned int U = (given & 0x00800000) >> 23;
3460 unsigned int op = (given & 0x00000f00) >> 8;
3461 unsigned int i12 = (given & 0x00000fff);
3462 unsigned int i8 = (given & 0x000000ff);
3536 unsigned int P = (given & 0x01000000) >> 24;
3537 unsigned int U = (given & 0x00800000) >> 23;
3538 unsigned int W = (given & 0x00400000) >> 21;
3539 unsigned int Rn = (given & 0x000f0000) >> 16;
3540 unsigned int off = (given & 0x000000ff);
3564 unsigned int Sbit = (given & 0x01000000) >> 24;
3565 unsigned int type = (given & 0x00600000) >> 21;
3588 if ((given
3601 unsigned int msb = (given & 0x0000001f);
3603 lsb |= (given & 0x000000c0u) >> 6;
3604 lsb |= (given & 0x00007000u) >> 10;
3611 unsigned int width = (given & 0x0000001f) + 1;
3613 lsb |= (given & 0x000000c0u) >> 6;
3614 lsb |= (given & 0x00007000u) >> 10;
3621 unsigned int S = (given & 0x04000000u) >> 26;
3622 unsigned int J1 = (given & 0x00002000u) >> 13;
3623 unsigned int J2 = (given & 0x00000800u) >> 11;
3629 offset |= (given & 0x003f0000) >> 4;
3630 offset |= (given & 0x000007ff) << 1;
3639 unsigned int S = (given & 0x04000000u) >> 26;
3640 unsigned int I1 = (given & 0x00002000u) >> 13;
3641 unsigned int I2 = (given & 0x00000800u) >> 11;
3647 offset |= (given & 0x03ff0000u) >> 4;
3648 offset |= (given & 0x000007ffu) << 1;
3653 if ((given & 0x00001000u) == 0)
3663 shift |= (given & 0x000000c0u) >> 6;
3664 shift |= (given & 0x00007000u) >> 10;
3665 if (given & 0x00200000u)
3675 unsigned int rot = (given & 0x00000030) >> 4;
3682 switch (given & 0xf)
3689 func(stream, "#%d", (int)given & 0xf);
3695 if ((given & 0xff) == 0)
3697 func (stream, "%cPSR_", (given & 0x100000) ? 'S' : 'C');
3698 if (given & 0x800)
3700 if (given & 0x400)
3702 if (given & 0x200)
3704 if (given & 0x100)
3709 func (stream, psr_name (given & 0xff));
3714 if ((given & 0xff) == 0)
3715 func (stream, "%cPSR", (given & 0x100000) ? 'S' : 'C');
3717 func (stream, psr_name (given & 0xff));
3726 c = arm_decode_bitfield (c, given, &val, &width);
3776 long given)
3781 info->fprintf_func (info->stream, ".byte\t0x%02lx", given);
3784 info->fprintf_func (info->stream, ".short\t0x%04lx", given);
3787 info->fprintf_func (info->stream, ".word\t0x%08lx", given);
3879 long given;
4029 given = 0;
4032 given = b[i] | (given << 8);
4035 given = b[i] | (given << 8);
4047 given = (b[0]) | (b[1] << 8) | (b[2] << 16) | (b[3] << 24);
4049 given = (b[3]) | (b[2] << 8) | (b[1] << 16) | (b[0] << 24);
4063 given = (b[0]) | (b[1] << 8);
4065 given = (b[1]) | (b[0] << 8);
4071 if ((given & 0xF800) == 0xF800
4072 || (given & 0xF800) == 0xF000
4073 || (given & 0xF800) == 0xE800)
4077 given = (b[0]) | (b[1] << 8) | (given << 16);
4079 given = (b[1]) | (b[0] << 8) | (given << 16);
4112 printer (pc, info, given);