Lines Matching full:given
1590 arm_decode_shift (long given, fprintf_function func, void *stream,
1593 func (stream, "%s", arm_regnames[given & 0xf]);
1595 if ((given & 0xff0) != 0)
1597 if ((given & 0x10) == 0)
1599 int amount = (given & 0xf80) >> 7;
1600 int shift = (given & 0x60) >> 5;
1619 func (stream, ", %s %s", arm_shift[(given & 0x60) >> 5],
1620 arm_regnames[(given & 0xf00) >> 8]);
1622 func (stream, ", %s", arm_regnames[(given & 0xf00) >> 8]);
1631 print_insn_coprocessor (bfd_vma pc, struct disassemble_info *info, long given,
1667 if ((given & 0xf0000000) == 0xf0000000)
1674 cond = (given >> 28) & 0xf;
1679 if ((given & mask) == value)
1694 func (stream, "[%s", arm_regnames [(given >> 16) & 0xf]);
1696 if ((given & (1 << 24)) != 0)
1698 int offset = given & 0xff;
1702 ((given & 0x00800000) == 0 ? "-" : ""),
1704 ((given & 0x00200000) != 0 ? "!" : ""));
1710 int offset = given & 0xff;
1714 if (given & (1 << 21))
1718 ((given & 0x00800000) == 0 ? "-" : ""),
1728 int regno = ((given >> 12) & 0xf) | ((given >> (22 - 4)) & 0x10);
1729 int offset = (given >> 1) & 0x3f;
1742 int rn = (given >> 16) & 0xf;
1743 int offset = (given & 0xff) * 4;
1744 int add = (given >> 23) & 1;
1778 imm = (given & 0xf) | ((given & 0xe0) >> 1);
1790 switch (given & 0x00408000)
1807 switch (given & 0x00080080)
1824 switch (given & 0x00408000)
1841 switch (given & 0x60)
1863 c = arm_decode_bitfield (c, given, &value, &width);
1884 int from = (given & (1 << 7)) ? 32 : 16;
1945 regno = given & 0x0000000f;
1949 regno += (given >> 5) & 1;
1952 regno += ((given >> 5) & 1) << 4;
1956 regno = (given >> 12) & 0x0000000f;
1960 regno += (given >> 22) & 1;
1963 regno += ((given >> 22) & 1) << 4;
1967 regno = (given >> 16) & 0x0000000f;
1971 regno += (given >> 7) & 1;
1974 regno += ((given >> 7) & 1) << 4;
1979 regno = (given >> 12) & 0x0000000f;
1983 regno += (given >> 22) & 1;
1986 regno += ((given >> 22) & 1) << 4;
1997 int count = given & 0xff;
2018 switch (given & 0x00400100)
2032 /* given (20, 23) | given (0, 3) */
2033 value = ((given >> 16) & 0xf0) | (given & 0xf);
2043 int offset = given & 0xff;
2044 int multiplier = (given & 0x00000100) ? 4 : 1;
2046 func (stream, "[%s", arm_regnames [(given >> 16) & 0xf]);
2050 if ((given & 0x01000000) != 0)
2052 ((given & 0x00800000) == 0 ? "-" : ""),
2054 ((given & 0x00200000) != 0 ? "!" : ""));
2057 ((given & 0x00800000) == 0 ? "-" : ""),
2067 int imm4 = (given >> 4) & 0xf;
2068 int puw_bits = ((given >> 22) & 6) | ((given >> 21) & 1);
2069 int ubit = (given >> 23) & 1;
2070 const char *rm = arm_regnames [given & 0xf];
2071 const char *rn = arm_regnames [(given >> 16) & 0xf];
2107 imm5 = ((given & 0x100) >> 4) | (given & 0xf);
2127 print_arm_address (bfd_vma pc, struct disassemble_info *info, long given)
2132 if (((given & 0x000f0000) == 0x000f0000)
2133 && ((given & 0x02000000) == 0))
2135 int offset = given & 0xfff;
2139 if (given & 0x01000000)
2141 if ((given & 0x00800000) == 0)
2153 if (given & 0x00200000)
2171 arm_regnames[(given >> 16) & 0xf]);
2172 if ((given & 0x01000000) != 0)
2174 if ((given & 0x02000000) == 0)
2176 int offset = given & 0xfff;
2179 (((given & 0x00800000) == 0)
2185 (((given & 0x00800000) == 0)
2187 arm_decode_shift (given, func, stream, 1);
2191 ((given & 0x00200000) != 0) ? "!" : "");
2195 if ((given & 0x02000000) == 0)
2197 int offset = given & 0xfff;
2200 (((given & 0x00800000) == 0)
2208 (((given & 0x00800000) == 0)
2210 arm_decode_shift (given, func, stream, 1);
2221 print_insn_neon (struct disassemble_info *info, long given, bfd_boolean thumb)
2229 if ((given & 0xef000000) == 0xef000000)
2232 unsigned long bit28 = given & (1 << 28);
2234 given &= 0x00ffffff;
2236 given |= 0xf3000000;
2238 given |= 0xf2000000;
2240 else if ((given
2241 given ^= 0xf9000000 ^ 0xf4000000;
2248 if ((given & insn->mask) == insn->value)
2283 int rd = ((given >> 12) & 0xf) | (((given >> 22) & 1) << 4);
2284 int rn = ((given >> 16) & 0xf);
2285 int rm = ((given >> 0) & 0xf);
2286 int align = ((given >> 4) & 0x3);
2287 int type = ((given >> 8) & 0xf);
2313 int rd = ((given >> 12) & 0xf) | (((given >> 22) & 1) << 4);
2314 int rn = ((given >> 16) & 0xf);
2315 int rm = ((given >> 0) & 0xf);
2316 int idx_align = ((given >> 4) & 0xf);
2318 int size = ((given >> 10) & 0x3);
2320 int length = ((given >> 8) & 3) + 1;
2388 int rd = ((given >> 12) & 0xf) | (((given >> 22) & 1) << 4);
2389 int rn = ((given >> 16) & 0xf);
2390 int rm = ((given >> 0) & 0xf);
2391 int align = ((given >> 4) & 0x1);
2392 int size = ((given >> 6) & 0x3);
2393 int type = ((given >> 8) & 0x3);
2395 int stride = ((given >> 5) & 0x1);
2432 int raw_reg = (given & 0xf) | ((given >> 1) & 0x10);
2433 int size = (given >> 20) & 3;
2445 int cmode = (given >> 8) & 0xf;
2446 int op = (given >> 5) & 0x1;
2452 bits |= ((given >> 24) & 1) << 7;
2453 bits |= ((given >> 16) & 7) << 4;
2454 bits |= ((given >> 0) & 15) << 0;
2566 int regno = ((given >> 16) & 0xf) | ((given >> (7 - 4)) & 0x10);
2567 int num = (given >> 8) & 0x3;
2585 c = arm_decode_bitfield (c, given, &value, &width);
2625 if (given & (1 << 6))
2675 print_insn_arm_internal (bfd_vma pc, struct disassemble_info *info, long given)
2681 if (print_insn_coprocessor (pc, info, given, false))
2684 if (print_insn_neon (info, given, false))
2694 if ((given & insn->mask) == insn->value
2698 && ((given & 0xF0000000) != 0xF0000000
2715 print_arm_address (pc, info, given);
2721 print_arm_address (pc, info, given | (1 << 24));
2725 if ((given & 0x004f0000) == 0x004f0000)
2728 int offset = ((given & 0xf00) >> 4) | (given & 0xf);
2730 if ((given & 0x00800000) == 0)
2739 arm_regnames[(given >> 16) & 0xf]);
2740 if ((given & 0x01000000) != 0)
2743 if ((given & 0x00400000) == 0x00400000)
2746 int offset = ((given & 0xf00) >> 4) | (given & 0xf);
2749 (((given & 0x00800000) == 0)
2756 (((given & 0x00800000) == 0)
2758 arm_regnames[given & 0xf]);
2762 ((given & 0x00200000) != 0) ? "!" : "");
2767 if ((given & 0x00400000) == 0x00400000)
2770 int offset = ((given & 0xf00) >> 4) | (given & 0xf);
2773 (((given & 0x00800000) == 0)
2782 (((given & 0x00800000) == 0)
2784 arm_regnames[given & 0xf]);
2792 int disp = (((given & 0xffffff) ^ 0x800000) - 0x800000);
2798 if (((given >> 28) & 0xf) != 0xe)
2800 arm_conditional [(given >> 28) & 0xf]);
2810 if ((given & (1 << reg)) != 0)
2822 arm_decode_shift (given, func, stream, 0);
2826 if ((given & 0x02000000) != 0)
2828 int rotate = (given & 0xf00) >> 7;
2829 int immed = (given & 0xff);
2835 arm_decode_shift (given, func, stream, 1);
2839 if ((given & 0x0000f000) == 0x0000f000)
2844 if ((given & 0x01200000) == 0x00200000)
2849 func (stream, "[%s", arm_regnames [(given >> 16) & 0xf]);
2851 if ((given & (1 << 24)) != 0)
2853 int offset = given & 0xff;
2857 ((given & 0x00800000) == 0 ? "-" : ""),
2859 ((given & 0x00200000) != 0 ? "!" : ""));
2865 int offset = given & 0xff;
2869 if (given & (1 << 21))
2873 ((given & 0x00800000) == 0 ? "-" : ""),
2887 if (given & 0x00800000)
2892 offset += given & 0x00ffffff;
2896 if (given & 0x01000000)
2906 if (given & 0x80000)
2908 if (given & 0x40000)
2910 if (given & 0x20000)
2912 if (given & 0x10000)
2917 switch (given & 0xf)
2924 func(stream, "#%d", (int)given & 0xf);
2935 c = arm_decode_bitfield (c, given, &value, &width);
2956 if ((given & 0x0fffffff) == 0x0FF00000)
2958 else if ((given & 0x0fffffff) == 0x0FF00001)
2987 imm = (given & 0xf) | ((given & 0xfff00) >> 4);
2996 long msb = (given & 0x001f0000) >> 16;
2997 long lsb = (given & 0x00000f80) >> 7;
3011 long hi = (given & 0x000f0000) >> 4;
3012 long lo = (given & 0x00000fff);
3035 print_insn_thumb16 (bfd_vma pc, struct disassemble_info *info, long given)
3042 if ((given & insn->mask) == insn->value)
3078 ifthen_next_state = given & 0xff;
3079 for (tmp = given << 1; tmp & 0xf; tmp <<= 1)
3080 func (stream, ((given ^ tmp) & 0x10) ? "e" : "t");
3081 func (stream, "\t%s", arm_conditional[(given >> 4) & 0xf]);
3100 reg = (given >> 3) & 0x7;
3101 if (given & (1 << 6))
3112 reg = given & 0x7;
3113 if (given & (1 << 7))
3121 if (given & (1 << 8))
3125 if (*c == 'O' && (given & (1 << 8)))
3138 if ((given & (1 << reg)) != 0)
3169 + ((given & 0x00f8) >> 2)
3170 + ((given & 0x0200) >> 3));
3179 long imm = (given & 0x07c0) >> 6;
3206 reg = given >> bitstart;
3255 if ((given & (1 << bitstart)) != 0)
3261 if ((given & (1 << bitstart)) != 0)
3311 print_insn_thumb32 (bfd_vma pc, struct disassemble_info *info, long given)
3317 if (print_insn_coprocessor (pc, info, given, true))
3320 if (print_insn_neon (info, given, true))
3324 if ((given & insn->mask) == insn->value)
3360 imm12 |= (given & 0x000000ffu);
3361 imm12 |= (given & 0x00007000u) >> 4;
3362 imm12 |= (given & 0x04000000u) >> 15;
3370 bits |= (given & 0x000000ffu);
3371 bits |= (given & 0x00007000u) >> 4;
3372 bits |= (given & 0x04000000u) >> 15;
3393 imm |= (given & 0x000000ffu);
3394 imm |= (given & 0x00007000u) >> 4;
3395 imm |= (given & 0x04000000u) >> 15;
3396 imm |= (given & 0x000f0000u) >> 4;
3404 imm |= (given & 0x000f0000u) >> 16;
3405 imm |= (given & 0x00000ff0u) >> 0;
3406 imm |= (given & 0x0000000fu) << 12;
3413 unsigned int reg = (given & 0x0000000fu);
3414 unsigned int stp = (given & 0x00000030u) >> 4;
3416 imm |= (given & 0x000000c0u) >> 6;
3417 imm |= (given & 0x00007000u) >> 10;
3450 unsigned int Rn = (given & 0x000f0000) >> 16;
3451 unsigned int U = (given & 0x00800000) >> 23;
3452 unsigned int op = (given & 0x00000f00) >> 8;
3453 unsigned int i12 = (given & 0x00000fff);
3454 unsigned int i8 = (given & 0x000000ff);
3528 unsigned int P = (given & 0x01000000) >> 24;
3529 unsigned int U = (given & 0x00800000) >> 23;
3530 unsigned int W = (given & 0x00400000) >> 21;
3531 unsigned int Rn = (given & 0x000f0000) >> 16;
3532 unsigned int off = (given & 0x000000ff);
3556 unsigned int Sbit = (given & 0x01000000) >> 24;
3557 unsigned int type = (given & 0x00600000) >> 21;
3580 if ((given & (1 << reg)) != 0)
3593 unsigned int msb = (given & 0x0000001f);
3595 lsb |= (given
3596 lsb |= (given & 0x00007000u) >> 10;
3603 unsigned int width = (given & 0x0000001f) + 1;
3605 lsb |= (given & 0x000000c0u) >> 6;
3606 lsb |= (given & 0x00007000u) >> 10;
3613 unsigned int S = (given & 0x04000000u) >> 26;
3614 unsigned int J1 = (given & 0x00002000u) >> 13;
3615 unsigned int J2 = (given & 0x00000800u) >> 11;
3621 offset |= (given & 0x003f0000) >> 4;
3622 offset |= (given & 0x000007ff) << 1;
3631 unsigned int S = (given & 0x04000000u) >> 26;
3632 unsigned int I1 = (given & 0x00002000u) >> 13;
3633 unsigned int I2 = (given & 0x00000800u) >> 11;
3639 offset |= (given & 0x03ff0000u) >> 4;
3640 offset |= (given & 0x000007ffu) << 1;
3645 if ((given & 0x00001000u) == 0)
3655 shift |= (given & 0x000000c0u) >> 6;
3656 shift |= (given & 0x00007000u) >> 10;
3657 if (given & 0x00200000u)
3667 unsigned int rot = (given & 0x00000030) >> 4;
3674 switch (given & 0xf)
3681 func(stream, "#%d", (int)given & 0xf);
3687 if ((given & 0xff) == 0)
3689 func (stream, "%cPSR_", (given & 0x100000) ? 'S' : 'C');
3690 if (given & 0x800)
3692 if (given & 0x400)
3694 if (given & 0x200)
3696 if (given & 0x100)
3701 func (stream, "%s", psr_name (given & 0xff));
3706 if ((given & 0xff) == 0)
3707 func (stream, "%cPSR", (given & 0x100000) ? 'S' : 'C');
3709 func (stream, "%s", psr_name (given & 0xff));
3718 c = arm_decode_bitfield (c, given, &val, &width);
3768 long given)
3773 info->fprintf_func (info->stream, ".byte\t0x%02lx", given);
3776 info->fprintf_func (info->stream, ".short\t0x%04lx", given);
3779 info->fprintf_func (info->stream, ".word\t0x%08lx", given);
3871 long given;
4021 given = 0;
4024 given = b[i] | (given << 8);
4027 given = b[i] | (given << 8);
4039 given = (b[0]) | (b[1] << 8) | (b[2] << 16) | (b[3] << 24);
4041 given = (b[3]) | (b[2] << 8) | (b[1] << 16) | (b[0] << 24);
4055 given = (b[0]) | (b[1] << 8);
4057 given = (b[1]) | (b[0] << 8);
4063 if ((given & 0xF800) == 0xF800
4064 || (given & 0xF800) == 0xF000
4065 || (given & 0xF800) == 0xE800)
4069 given = (b[0]) | (b[1] << 8) | (given << 16);
4071 given = (b[1]) | (b[0] << 8) | (given << 16);
4113 ((unsigned long)given) & 0xffff);
4118 (((unsigned long)given) >> 16) & 0xffff,
4119 ((unsigned long)given) & 0xffff);
4125 ((unsigned long)given) & 0xffffffff);
4128 printer (pc, info, given);