Lines Matching refs:opP
480 static char *crack_operand (char *str, struct m68k_op *opP);
1399 struct m68k_op *opP; in m68k_ip() local
1493 for (opP = &the_ins.operands[0]; *p; opP++) in m68k_ip()
1495 p = crack_operand (p, opP); in m68k_ip()
1497 if (opP->error) in m68k_ip()
1499 the_ins.error = opP->error; in m68k_ip()
1504 opsfound = opP - &the_ins.operands[0]; in m68k_ip()
1541 for (s = opcode->m_operands, opP = &operands_backup[0]; in m68k_ip()
1543 s += 2, opP++) in m68k_ip()
1554 switch (opP->mode) in m68k_ip()
1572 switch (opP->mode) in m68k_ip()
1589 switch (opP->mode) in m68k_ip()
1603 if (opP->reg == PC in m68k_ip()
1604 || opP->reg == ZPC) in m68k_ip()
1611 switch (opP->mode) in m68k_ip()
1625 switch (opP->mode) in m68k_ip()
1635 switch (opP->mode) in m68k_ip()
1647 switch (opP->mode) in m68k_ip()
1656 if (opP->reg == PC || opP->reg == ZPC) in m68k_ip()
1665 switch (opP->mode) in m68k_ip()
1673 if (opP->reg == PC || opP->reg == ZPC) in m68k_ip()
1683 switch (opP->mode) in m68k_ip()
1692 if (opP->reg == PC || opP->reg == ZPC) in m68k_ip()
1702 if (opP->mode != IMMED) in m68k_ip()
1705 && ! isvar (&opP->disp) in m68k_ip()
1706 && (opP->disp.exp.X_op != O_constant in m68k_ip()
1707 || ! isbyte (opP->disp.exp.X_add_number))) in m68k_ip()
1710 && ! isvar (&opP->disp) in m68k_ip()
1711 && (opP->disp.exp.X_op != O_constant in m68k_ip()
1712 || ! issbyte (opP->disp.exp.X_add_number))) in m68k_ip()
1715 && ! isvar (&opP->disp) in m68k_ip()
1716 && (opP->disp.exp.X_op != O_constant in m68k_ip()
1717 || ! isword (opP->disp.exp.X_add_number))) in m68k_ip()
1720 && ! isvar (&opP->disp) in m68k_ip()
1721 && (opP->disp.exp.X_op != O_constant in m68k_ip()
1722 || ! issword (opP->disp.exp.X_add_number))) in m68k_ip()
1728 if (opP->mode != IMMED) in m68k_ip()
1733 if (opP->mode == AREG in m68k_ip()
1734 || opP->mode == CONTROL in m68k_ip()
1735 || opP->mode == FPREG in m68k_ip()
1736 || opP->mode == IMMED in m68k_ip()
1737 || opP->mode == REGLST in m68k_ip()
1738 || (opP->mode != ABSL in m68k_ip()
1739 && (opP->reg == PC in m68k_ip()
1740 || opP->reg == ZPC))) in m68k_ip()
1745 if (opP->mode == CONTROL in m68k_ip()
1746 || opP->mode == FPREG in m68k_ip()
1747 || opP->mode == REGLST in m68k_ip()
1748 || opP->mode == IMMED in m68k_ip()
1749 || (opP->mode != ABSL in m68k_ip()
1750 && (opP->reg == PC in m68k_ip()
1751 || opP->reg == ZPC))) in m68k_ip()
1756 switch (opP->mode) in m68k_ip()
1771 if (opP->reg == PC in m68k_ip()
1772 || opP->reg == ZPC) in m68k_ip()
1779 if (opP->mode == CONTROL in m68k_ip()
1780 || opP->mode == FPREG in m68k_ip()
1781 || opP->mode == REGLST) in m68k_ip()
1786 if (opP->mode != AINC) in m68k_ip()
1791 if (opP->mode != ADEC) in m68k_ip()
1796 switch (opP->mode) in m68k_ip()
1813 switch (opP->mode) in m68k_ip()
1827 switch (opP->mode) in m68k_ip()
1841 if (opP->reg == PC || opP->reg == ZPC) in m68k_ip()
1848 switch (opP->mode) in m68k_ip()
1863 switch (opP->mode) in m68k_ip()
1876 if (opP->reg == PC in m68k_ip()
1877 || opP->reg == ZPC) in m68k_ip()
1884 if (opP->mode != CONTROL in m68k_ip()
1885 || (opP->reg != TT0 && opP->reg != TT1)) in m68k_ip()
1890 if (opP->mode != AREG) in m68k_ip()
1895 if (opP->mode != AINDR) in m68k_ip()
1900 if (opP->mode != AINDR && opP->mode != AINC && opP->mode != ADEC in m68k_ip()
1901 && (opP->mode != DISP in m68k_ip()
1902 || opP->reg < ADDR0 in m68k_ip()
1903 || opP->reg > ADDR7)) in m68k_ip()
1908 if (opP->mode != ABSL in m68k_ip()
1915 switch (opP->mode) in m68k_ip()
1933 if (opP->mode != CONTROL || opP->reg != CCR) in m68k_ip()
1938 if (opP->mode != DISP in m68k_ip()
1939 || opP->reg < ADDR0 in m68k_ip()
1940 || opP->reg > ADDR7) in m68k_ip()
1945 if (opP->mode != DREG) in m68k_ip()
1950 if (opP->reg != ACC) in m68k_ip()
1955 if (opP->reg != ACC && opP->reg != ACC1 in m68k_ip()
1956 && opP->reg != ACC2 && opP->reg != ACC3) in m68k_ip()
1961 if (opP->mode != FPREG) in m68k_ip()
1966 if (opP->reg != MACSR) in m68k_ip()
1971 if (opP->reg != ACCEXT01 && opP->reg != ACCEXT23) in m68k_ip()
1976 if (opP->reg != MASK) in m68k_ip()
1981 if (opP->mode != CONTROL in m68k_ip()
1982 || opP->reg < COP0 in m68k_ip()
1983 || opP->reg > COP7) in m68k_ip()
1988 if (opP->mode != LSH && opP->mode != RSH) in m68k_ip()
1993 if (opP->mode != CONTROL in m68k_ip()
1994 || opP->reg < USP in m68k_ip()
1995 || opP->reg > last_movec_reg in m68k_ip()
2004 if (*rp == opP->reg) in m68k_ip()
2009 else if (*rp == RAMBAR_ALT && opP->reg == RAMBAR) in m68k_ip()
2011 opP->reg = RAMBAR_ALT; in m68k_ip()
2021 if (opP->mode != IMMED) in m68k_ip()
2027 if (opP->mode == DREG in m68k_ip()
2028 || opP->mode == AREG in m68k_ip()
2029 || opP->mode == FPREG) in m68k_ip()
2035 switch (opP->mode) in m68k_ip()
2038 opP->mask = 1 << (opP->reg - DATA0); in m68k_ip()
2041 opP->mask = 1 << (opP->reg - ADDR0 + 8); in m68k_ip()
2044 opP->mask = 1 << (opP->reg - FP0 + 16); in m68k_ip()
2049 opP->mode = REGLST; in m68k_ip()
2052 else if (opP->mode == CONTROL) in m68k_ip()
2058 switch (opP->reg) in m68k_ip()
2061 opP->mask = 1 << 24; in m68k_ip()
2064 opP->mask = 1 << 25; in m68k_ip()
2067 opP->mask = 1 << 26; in m68k_ip()
2073 opP->mode = REGLST; in m68k_ip()
2076 else if (opP->mode != REGLST) in m68k_ip()
2078 else if (s[1] == '8' && (opP->mask & 0x0ffffff) != 0) in m68k_ip()
2080 else if (s[1] == '3' && (opP->mask & 0x7000000) != 0) in m68k_ip()
2085 if (opP->mode != IMMED) in m68k_ip()
2087 else if (opP->disp.exp.X_op != O_constant in m68k_ip()
2088 || ! issbyte (opP->disp.exp.X_add_number)) in m68k_ip()
2097 if (opP->mode != DREG in m68k_ip()
2098 && opP->mode != IMMED in m68k_ip()
2099 && opP->mode != ABSL) in m68k_ip()
2104 if (opP->mode != IMMED) in m68k_ip()
2106 else if (opP->disp.exp.X_op != O_constant in m68k_ip()
2107 || TRUNC (opP->disp.exp.X_add_number) - 1 > 7) in m68k_ip()
2117 if (opP->mode != DREG && opP->mode != AREG) in m68k_ip()
2122 if (opP->mode != AINDR in m68k_ip()
2123 && (opP->mode != BASE in m68k_ip()
2124 || (opP->reg != 0 in m68k_ip()
2125 && opP->reg != ZADDR0) in m68k_ip()
2126 || opP->disp.exp.X_op != O_absent in m68k_ip()
2127 || ((opP->index.reg < DATA0 in m68k_ip()
2128 || opP->index.reg > DATA7) in m68k_ip()
2129 && (opP->index.reg < ADDR0 in m68k_ip()
2130 || opP->index.reg > ADDR7)) in m68k_ip()
2131 || opP->index.size != SIZE_UNSPEC in m68k_ip()
2132 || opP->index.scale != 1)) in m68k_ip()
2137 if (opP->mode != CONTROL in m68k_ip()
2138 || ! (opP->reg == FPI in m68k_ip()
2139 || opP->reg == FPS in m68k_ip()
2140 || opP->reg == FPC)) in m68k_ip()
2145 if (opP->mode != CONTROL || opP->reg != SR) in m68k_ip()
2150 if (opP->mode != IMMED) in m68k_ip()
2152 else if (opP->disp.exp.X_op != O_constant in m68k_ip()
2153 || TRUNC (opP->disp.exp.X_add_number) > 7) in m68k_ip()
2158 if (opP->mode != CONTROL || opP->reg != USP) in m68k_ip()
2163 if (opP->mode != IMMED) in m68k_ip()
2165 else if (opP->disp.exp.X_op != O_constant in m68k_ip()
2166 || (TRUNC (opP->disp.exp.X_add_number) != 0xffffffff in m68k_ip()
2167 && TRUNC (opP->disp.exp.X_add_number) - 1 > 6)) in m68k_ip()
2172 if (opP->mode != IMMED) in m68k_ip()
2174 else if (opP->disp.exp.X_op != O_constant in m68k_ip()
2175 || TRUNC (opP->disp.exp.X_add_number) - 1 > 7) in m68k_ip()
2180 if (opP->mode != IMMED) in m68k_ip()
2182 else if (opP->disp.exp.X_op != O_constant in m68k_ip()
2183 || TRUNC (opP->disp.exp.X_add_number) > 511) in m68k_ip()
2196 if (opP->mode == CONTROL in m68k_ip()
2197 || opP->mode == FPREG in m68k_ip()
2198 || opP->mode == DREG in m68k_ip()
2199 || opP->mode == AREG in m68k_ip()
2200 || opP->mode == REGLST) in m68k_ip()
2206 if (opP->mode == IMMED) in m68k_ip()
2211 if (opP->mode != CONTROL in m68k_ip()
2212 || (opP->reg != SFC && opP->reg != DFC)) in m68k_ip()
2217 if (opP->mode != CONTROL || opP->reg != TC) in m68k_ip()
2222 if (opP->mode != CONTROL || opP->reg != AC) in m68k_ip()
2227 if (opP->mode != CONTROL in m68k_ip()
2228 || (opP->reg != CAL in m68k_ip()
2229 && opP->reg != VAL in m68k_ip()
2230 && opP->reg != SCC)) in m68k_ip()
2235 if (opP->mode != CONTROL in m68k_ip()
2236 || opP->reg != VAL) in m68k_ip()
2241 if (opP->mode != CONTROL in m68k_ip()
2242 || (opP->reg != DRP in m68k_ip()
2243 && opP->reg != SRP in m68k_ip()
2244 && opP->reg != CRP)) in m68k_ip()
2249 switch (opP->mode) in m68k_ip()
2268 if (opP->mode != CONTROL in m68k_ip()
2269 || (!(opP->reg >= BAD && opP->reg <= BAD + 7) in m68k_ip()
2270 && !(opP->reg >= BAC && opP->reg <= BAC + 7))) in m68k_ip()
2275 if (opP->mode != CONTROL || opP->reg != PSR) in m68k_ip()
2280 if (opP->mode != CONTROL || opP->reg != PCSR) in m68k_ip()
2285 if (opP->mode != CONTROL in m68k_ip()
2286 || (opP->reg != NC in m68k_ip()
2287 && opP->reg != IC in m68k_ip()
2288 && opP->reg != DC in m68k_ip()
2289 && opP->reg != BC)) in m68k_ip()
2294 if (opP->mode != ABSL) in m68k_ip()
2299 if (opP->reg < DATA0L || opP->reg > ADDR7U) in m68k_ip()
2304 if ((opP->reg >= DATA0L && opP->reg <= DATA7L) in m68k_ip()
2305 || (opP->reg >= DATA0U && opP->reg <= DATA7U)) in m68k_ip()
2306 opP->mode = DREG; in m68k_ip()
2308 opP->mode = AREG; in m68k_ip()
2312 if (!(opP->mode == AINDR in m68k_ip()
2313 || (opP->mode == DISP in m68k_ip()
2314 && !(opP->reg == PC || opP->reg == ZPC)))) in m68k_ip()
2319 if (!(opP->mode == AINDR || opP->mode == DISP)) in m68k_ip()
2467 for (s = the_ins.args, opP = &the_ins.operands[0]; *s; s += 2, opP++) in m68k_ip()
2503 switch (opP->mode) in m68k_ip()
2508 nextword = get_num (&opP->disp, 90); in m68k_ip()
2510 nextword = get_num (&opP->disp, 0); in m68k_ip()
2511 if (isvar (&opP->disp)) in m68k_ip()
2512 add_fix (s[1], &opP->disp, 0, 0); in m68k_ip()
2517 opP->error = _("operand out of range"); in m68k_ip()
2523 opP->error = _("operand out of range"); in m68k_ip()
2529 opP->error = _("operand out of range"); in m68k_ip()
2562 if (op (&opP->disp) != O_big) in m68k_ip()
2568 if (op (&opP->disp) != O_constant) in m68k_ip()
2571 val = (valueT) offs (&opP->disp); in m68k_ip()
2580 offs (&opP->disp) = gencnt; in m68k_ip()
2582 if (offs (&opP->disp) > 0) in m68k_ip()
2584 if (offs (&opP->disp) > baseo) in m68k_ip()
2588 offs (&opP->disp) = baseo; in m68k_ip()
2590 baseo -= offs (&opP->disp); in m68k_ip()
2593 for (wordp = generic_bignum + offs (&opP->disp) - 1; in m68k_ip()
2594 offs (&opP->disp)--; in m68k_ip()
2604 tmpreg = opP->reg - DATA; /* 0.dreg */ in m68k_ip()
2607 tmpreg = 0x08 + opP->reg - ADDR; /* 1.areg */ in m68k_ip()
2610 tmpreg = 0x10 + opP->reg - ADDR; /* 2.areg */ in m68k_ip()
2613 tmpreg = 0x20 + opP->reg - ADDR; /* 4.areg */ in m68k_ip()
2616 tmpreg = 0x18 + opP->reg - ADDR; /* 3.areg */ in m68k_ip()
2620 nextword = get_num (&opP->disp, 90); in m68k_ip()
2625 if (! isvar (&opP->disp) in m68k_ip()
2627 && (opP->disp.size == SIZE_UNSPEC) in m68k_ip()
2628 && (opP->reg >= ADDR0) in m68k_ip()
2629 && (opP->reg <= ADDR7)) in m68k_ip()
2631 tmpreg = 0x10 + opP->reg - ADDR; /* 2.areg */ in m68k_ip()
2635 if (opP->reg == PC in m68k_ip()
2636 && ! isvar (&opP->disp) in m68k_ip()
2639 opP->disp.exp.X_op = O_symbol; in m68k_ip()
2640 opP->disp.exp.X_add_symbol = in m68k_ip()
2653 || (isvar (&opP->disp) in m68k_ip()
2654 && ((opP->disp.size == SIZE_UNSPEC in m68k_ip()
2658 || opP->disp.size == SIZE_LONG))) in m68k_ip()
2662 opP->error = in m68k_ip()
2664 if (opP->reg == PC) in m68k_ip()
2667 tmpreg = 0x30 + opP->reg - ADDR; /* 6.areg */ in m68k_ip()
2668 if (isvar (&opP->disp)) in m68k_ip()
2670 if (opP->reg == PC) in m68k_ip()
2672 if (opP->disp.size == SIZE_LONG in m68k_ip()
2676 || opP->disp.pic_reloc != pic_none in m68k_ip()
2681 add_fix ('l', &opP->disp, 1, 2); in m68k_ip()
2685 add_frag (adds (&opP->disp), in m68k_ip()
2686 SEXT (offs (&opP->disp)), in m68k_ip()
2694 add_fix ('l', &opP->disp, 0, 0); in m68k_ip()
2703 if (opP->reg == PC) in m68k_ip()
2706 tmpreg = 0x28 + opP->reg - ADDR; /* 5.areg */ in m68k_ip()
2708 if (isvar (&opP->disp)) in m68k_ip()
2710 if (opP->reg == PC) in m68k_ip()
2712 add_fix ('w', &opP->disp, 1, 0); in m68k_ip()
2715 add_fix ('w', &opP->disp, 0, 0); in m68k_ip()
2725 baseo = get_num (&opP->disp, 90); in m68k_ip()
2726 if (opP->mode == POST || opP->mode == PRE) in m68k_ip()
2727 outro = get_num (&opP->odisp, 90); in m68k_ip()
2730 if (opP->reg == PC || opP->reg == ZPC) in m68k_ip()
2733 if (opP->reg == ZPC) in m68k_ip()
2736 else if (opP->reg == 0) in m68k_ip()
2741 else if (opP->reg >= ZADDR0 && opP->reg <= ZADDR7) in m68k_ip()
2744 tmpreg = 0x30 + opP->reg - ZADDR0; in m68k_ip()
2747 tmpreg = 0x30 + opP->reg - ADDR; /* 6.areg */ in m68k_ip()
2749 siz1 = opP->disp.size; in m68k_ip()
2750 if (opP->mode == POST || opP->mode == PRE) in m68k_ip()
2751 siz2 = opP->odisp.size; in m68k_ip()
2756 if (opP->index.reg != 0 in m68k_ip()
2757 && opP->index.reg >= DATA in m68k_ip()
2758 && opP->index.reg <= ADDR7) in m68k_ip()
2760 nextword |= (opP->index.reg - DATA) << 12; in m68k_ip()
2762 if (opP->index.size == SIZE_LONG in m68k_ip()
2763 || (opP->index.size == SIZE_UNSPEC in m68k_ip()
2767 if ((opP->index.scale != 1 in m68k_ip()
2769 || (opP->index.scale == 8 in m68k_ip()
2773 opP->error = in m68k_ip()
2778 && opP->index.size == SIZE_WORD) in m68k_ip()
2779 opP->error = _("invalid index size for coldfire"); in m68k_ip()
2781 switch (opP->index.scale) in m68k_ip()
2805 if (opP->mode == BASE in m68k_ip()
2806 && ((opP->reg >= ADDR0 in m68k_ip()
2807 && opP->reg <= ADDR7) in m68k_ip()
2808 || opP->reg == PC)) in m68k_ip()
2814 && ! isvar (&opP->disp) in m68k_ip()
2819 if (isvar (&opP->disp)) in m68k_ip()
2824 if (opP->reg == PC) in m68k_ip()
2825 add_fix ('B', &opP->disp, 1, 1); in m68k_ip()
2827 add_fix ('B', &opP->disp, 0, 0); in m68k_ip()
2834 opP->error = _("byte displacement out of range"); in m68k_ip()
2840 && opP->reg == PC in m68k_ip()
2841 && isvar (&opP->disp) in m68k_ip()
2842 && subs (&opP->disp) == NULL in m68k_ip()
2846 && opP->disp.pic_reloc == pic_none in m68k_ip()
2858 add_frag (adds (&opP->disp), in m68k_ip()
2859 SEXT (offs (&opP->disp)), in m68k_ip()
2869 if (opP->index.reg >= ZDATA0 in m68k_ip()
2870 && opP->index.reg <= ZDATA7) in m68k_ip()
2871 nextword |= (opP->index.reg - ZDATA0) << 12; in m68k_ip()
2872 else if (opP->index.reg >= ZADDR0 in m68k_ip()
2873 || opP->index.reg <= ZADDR7) in m68k_ip()
2874 nextword |= (opP->index.reg - ZADDR0 + 8) << 12; in m68k_ip()
2881 opP->error = in m68k_ip()
2890 if (isvar (&opP->disp) in m68k_ip()
2897 else if (! isvar (&opP->disp) && baseo == 0) in m68k_ip()
2917 if (opP->mode == POST || opP->mode == PRE) in m68k_ip()
2920 opP->error = _("invalid operand mode for this architecture; needs 68020 or higher"); in m68k_ip()
2924 if (isvar (&opP->odisp) in m68k_ip()
2931 else if (! isvar (&opP->odisp) && outro == 0) in m68k_ip()
2949 if (opP->mode == POST in m68k_ip()
2955 if (siz1 != SIZE_UNSPEC && isvar (&opP->disp)) in m68k_ip()
2957 if (opP->reg == PC || opP->reg == ZPC) in m68k_ip()
2958 add_fix (siz1 == SIZE_LONG ? 'l' : 'w', &opP->disp, 1, 2); in m68k_ip()
2960 add_fix (siz1 == SIZE_LONG ? 'l' : 'w', &opP->disp, 0, 0); in m68k_ip()
2967 if (siz2 != SIZE_UNSPEC && isvar (&opP->odisp)) in m68k_ip()
2968 add_fix (siz2 == SIZE_LONG ? 'l' : 'w', &opP->odisp, 0, 0); in m68k_ip()
2977 nextword = get_num (&opP->disp, 90); in m68k_ip()
2978 switch (opP->disp.size) in m68k_ip()
2983 if (!isvar (&opP->disp) && issword (offs (&opP->disp))) in m68k_ip()
2989 if (isvar (&opP->disp) in m68k_ip()
2990 && !subs (&opP->disp) in m68k_ip()
2991 && adds (&opP->disp) in m68k_ip()
2995 && opP->disp.pic_reloc == pic_none in m68k_ip()
3001 add_frag (adds (&opP->disp), in m68k_ip()
3002 SEXT (offs (&opP->disp)), in m68k_ip()
3008 if (isvar (&opP->disp)) in m68k_ip()
3009 add_fix ('l', &opP->disp, 0, 0); in m68k_ip()
3021 if (isvar (&opP->disp)) in m68k_ip()
3022 add_fix ('w', &opP->disp, 0, 0); in m68k_ip()
3042 if (opP->trailing_ampersand) in m68k_ip()
3066 tmpreg = get_num (&opP->disp, tmpreg); in m68k_ip()
3067 if (isvar (&opP->disp)) in m68k_ip()
3068 add_fix (s[1], &opP->disp, 0, 0); in m68k_ip()
3075 opP->error = _("out of range"); in m68k_ip()
3077 if (isvar (&opP->disp)) in m68k_ip()
3083 opP->error = _("out of range"); in m68k_ip()
3085 if (isvar (&opP->disp)) in m68k_ip()
3090 opP->error = _("out of range"); in m68k_ip()
3092 if (isvar (&opP->disp)) in m68k_ip()
3097 opP->error = _("out of range"); in m68k_ip()
3099 if (isvar (&opP->disp)) in m68k_ip()
3107 if (isvar (&opP->disp)) in m68k_ip()
3126 install_operand (s[1], opP->reg - ADDR); in m68k_ip()
3130 tmpreg = get_num (&opP->disp, 90); in m68k_ip()
3135 add_fix ('B', &opP->disp, 1, -1); in m68k_ip()
3138 add_fix ('w', &opP->disp, 1, 0); in m68k_ip()
3144 add_fix ('l', &opP->disp, 1, 0); in m68k_ip()
3161 if (subs (&opP->disp) /* We can't relax it. */ in m68k_ip()
3165 || opP->disp.pic_reloc != pic_none in m68k_ip()
3178 if (adds (&opP->disp) == 0) in m68k_ip()
3190 add_fix ('l', &opP->disp, 0, 0); in m68k_ip()
3200 add_frag (adds (&opP->disp), in m68k_ip()
3201 SEXT (offs (&opP->disp)), in m68k_ip()
3207 add_frag (adds (&opP->disp), in m68k_ip()
3208 SEXT (offs (&opP->disp)), in m68k_ip()
3211 add_frag (adds (&opP->disp), in m68k_ip()
3212 SEXT (offs (&opP->disp)), in m68k_ip()
3216 add_frag (adds (&opP->disp), in m68k_ip()
3217 SEXT (offs (&opP->disp)), in m68k_ip()
3222 if (isvar (&opP->disp)) in m68k_ip()
3232 add_frag (adds (&opP->disp), in m68k_ip()
3233 SEXT (offs (&opP->disp)), in m68k_ip()
3236 add_frag (adds (&opP->disp), in m68k_ip()
3237 SEXT (offs (&opP->disp)), in m68k_ip()
3241 add_fix ('w', &opP->disp, 1, 0); in m68k_ip()
3246 add_fix ('l', &opP->disp, 1, 0); in m68k_ip()
3251 if (subs (&opP->disp) || (adds (&opP->disp) == 0)) in m68k_ip()
3254 add_fix ('l', &opP->disp, 1, 0); in m68k_ip()
3259 add_frag (adds (&opP->disp), in m68k_ip()
3260 SEXT (offs (&opP->disp)), in m68k_ip()
3272 install_operand ('s', opP->reg - ADDR); in m68k_ip()
3273 tmpreg = get_num (&opP->disp, 90); in m68k_ip()
3283 install_operand (s[1], opP->reg - DATA); in m68k_ip()
3287 install_operand (s[1], opP->reg - ACC); in m68k_ip()
3294 install_operand (s[1], opP->reg - FP0); in m68k_ip()
3298 install_operand (s[1], opP->reg - ACCEXT01); in m68k_ip()
3306 tmpreg = opP->reg - COP0; in m68k_ip()
3311 install_operand (s[1], opP->mode == LSH ? 0x1 : 0x3); in m68k_ip()
3315 switch (opP->reg) in m68k_ip()
3357 tmpreg = 0x00c + (opP->reg - ACR4); in m68k_ip()
3468 tmpreg = get_num (&opP->disp, 55); in m68k_ip()
3473 tmpreg = opP->mask; in m68k_ip()
3489 tmpreg = opP->mask; in m68k_ip()
3512 install_operand (s[1], get_num (&opP->disp, 60)); in m68k_ip()
3516 tmpreg = ((opP->mode == DREG) in m68k_ip()
3517 ? 0x20 + (int) (opP->reg - DATA) in m68k_ip()
3518 : (get_num (&opP->disp, 40) & 0x1F)); in m68k_ip()
3523 tmpreg = get_num (&opP->disp, 10); in m68k_ip()
3533 install_operand (s[1], opP->reg - DATA); in m68k_ip()
3537 if (opP->mode == AINDR) in m68k_ip()
3538 install_operand (s[1], opP->reg - DATA); in m68k_ip()
3540 install_operand (s[1], opP->index.reg - DATA); in m68k_ip()
3544 if (opP->reg == FPI) in m68k_ip()
3546 else if (opP->reg == FPS) in m68k_ip()
3548 else if (opP->reg == FPC) in m68k_ip()
3559 install_operand (s[1], get_num (&opP->disp, 30)); in m68k_ip()
3566 switch (opP->reg) in m68k_ip()
3588 switch (opP->reg) in m68k_ip()
3605 switch (opP->reg) in m68k_ip()
3629 if (opP->reg == VAL) in m68k_ip()
3634 switch (opP->reg) in m68k_ip()
3652 switch (opP->reg) in m68k_ip()
3662 tmpreg = (4 << 10) | ((opP->reg - BAD) << 2); in m68k_ip()
3673 tmpreg = (5 << 10) | ((opP->reg - BAC) << 2); in m68k_ip()
3682 know (opP->reg == PSR); in m68k_ip()
3685 know (opP->reg == PCSR); in m68k_ip()
3689 switch (opP->reg) in m68k_ip()
3703 tmpreg = get_num (&opP->disp, 20); in m68k_ip()
3707 if (isvar (&opP->disp)) in m68k_ip()
3708 add_fix ('l', &opP->disp, 0, 0); in m68k_ip()
3709 tmpreg = get_num (&opP->disp, 90); in m68k_ip()
3714 install_operand (s[1], opP->reg - DATA0L); in m68k_ip()
3715 opP->reg -= (DATA0L); in m68k_ip()
3716 opP->reg &= 0x0F; /* remove upper/lower bit. */ in m68k_ip()
3719 tmpreg = get_num (&opP->disp, 80); in m68k_ip()
3725 tmpreg = get_num (&opP->disp, 10); in m68k_ip()
3729 tmpreg = get_num (&opP->disp, 65); in m68k_ip()
3956 crack_operand (char *str, struct m68k_op *opP) in crack_operand() argument
3978 opP->error = _("Extra )"); in crack_operand()
3989 opP->error = _("Missing )"); in crack_operand()
3994 if (m68k_ip_op (beg_str, opP) != 0) in crack_operand()
4010 if (opP->mode == CONTROL && (int)opP->reg < 0) in crack_operand()
4012 opP->mode = REGLST; in crack_operand()
4013 opP->mask = ~(int)opP->reg; in crack_operand()
4014 opP->reg = 0; in crack_operand()