Lines Matching refs:param

177 static char *get_bf (char *param, unsigned *valp);
178 static char *get_cmp (char *param, unsigned *valp);
179 static char *get_cnd (char *param, unsigned *valp);
180 static char *get_bf2 (char *param, int bc);
181 static char *get_bf_offset_expression (char *param, unsigned *offsetp);
182 static char *get_cr (char *param, unsigned *regnop);
183 static char *get_fcr (char *param, unsigned *regnop);
184 static char *get_imm16 (char *param, struct m88k_insn *insn);
185 static char *get_o6 (char *param, unsigned *valp);
187 static char *get_reg (char *param, unsigned *regnop, unsigned int reg_prefix);
188 static char *get_vec9 (char *param, unsigned *valp);
189 static char *getval (char *param, unsigned int *valp);
190 static char *get_pcr (char *param, struct m88k_insn *insn,
194 char *param, struct m88k_insn *insn);
387 char *param, *thisfrag;
396 for (param = op; *param != 0 && !ISSPACE (*param); param++)
398 c = *param;
399 *param++ = '\0';
417 while (!calcop (format, param, &insn))
504 calcop (struct m88k_opcode *format, char *param, struct m88k_insn *insn)
517 * correctly reported only if param == "", although there could be
529 if (param == NULL)
537 return (*param == 0 || *param == '\n');
540 if (f != *param++)
545 param = get_reg (param, &val, reg_prefix);
551 param = get_o6 (param, &val);
560 param = get_reg (param, &val, reg_prefix);
566 param = get_reg (param, &val, reg_prefix);
572 param = get_reg (param, &val, 'r');
577 param = get_imm16 (param, insn);
581 param = get_bf (param, &val);
586 param = get_pcr (param, insn, RELOC_PC16);
590 param = get_pcr (param, insn, RELOC_PC26);
594 param = get_cmp (param, &val);
599 param = get_cnd (param, &val);
604 param = get_cr (param, &val);
609 param = get_fcr (param, &val);
614 param = get_vec9 (param, &val);
628 match_name (char *param, struct field_val_assoc *assoc_tab, unsigned *valp)
640 if (!strncmp (param, name, name_len))
643 return param + name_len;
649 get_reg (char *param, unsigned *regnop, unsigned int reg_prefix)
655 c = *param++;
660 c = *param++;
663 regno = *param++ - '0';
669 return param;
671 c = *param - '0';
678 return param + 1;
684 return param;
689 else if (c == 's' && param[0] == 'p')
692 return param + 1;
699 get_imm16 (char *param, struct m88k_insn *insn)
709 if (*param == REGISTER_PREFIX)
711 param++;
716 if (!strncmp (param, "hi16", 4) && !ISALNUM (param[4]))
719 param += 4;
721 else if (!strncmp (param, "lo16", 4) && !ISALNUM (param[4]))
724 param += 4;
727 else if (!strncmp (param, "iw16", 4) && !ISALNUM (param[4]))
730 param += 4;
740 input_line_pointer = param;
742 param = input_line_pointer;
770 return param;
774 get_pcr (char *param, struct m88k_insn *insn, enum m88k_reloc_type reloc)
779 input_line_pointer = param;
793 get_cmp (char *param, unsigned *valp)
798 save_ptr = param;
802 if (*param == REGISTER_PREFIX)
803 param++;
805 param = match_name (param, cmpslot, valp);
808 if (param == NULL)
810 param = save_ptr;
813 input_line_pointer = param;
815 param = input_line_pointer;
826 return param;
830 get_cnd (char *param, unsigned *valp)
834 if (ISDIGIT (*param))
836 param = getval (param, &val);
848 if (*param == REGISTER_PREFIX)
849 param++;
852 param[0] = TOLOWER (param[0]);
853 param[1] = TOLOWER (param[1]);
855 param = match_name (param, cndmsk, valp);
857 if (param == NULL)
864 return param;
868 get_bf2 (char *param, int bc)
875 c = *param;
877 return param;
883 return param;
884 param++;
889 get_bf_offset_expression (char *param, unsigned *offsetp)
895 if (*param == REGISTER_PREFIX && ISALPHA (param[1]))
896 param++;
899 if (ISALPHA (param[0]))
901 param[0] = TOLOWER (param[0]);
902 param[1] = TOLOWER (param[1]);
904 param = match_name (param, cmpslot, offsetp);
906 return param;
910 input_line_pointer = param;
912 param = input_line_pointer;
916 return param;
920 get_bf (char *param, unsigned *valp)
927 xp = get_bf2 (param, '<');
930 input_line_pointer = param;
934 param = get_bf_offset_expression (param, &offset);
936 if (param == NULL)
942 param = get_bf2 (xp, '>');
943 if (*param == 0)
945 *param++ = 0; /* Overwrite the '>' */
951 if (xp + 1 != param)
957 return param;
961 get_cr (char *param, unsigned *regnop)
967 if (*param++ != REGISTER_PREFIX)
971 if (!strncmp (param, "cr", 2))
973 param += 2;
975 regno = *param++ - '0';
981 return param;
983 c = *param - '0';
990 return param + 1;
996 return param;
1002 param = match_name (param,
1006 return param;
1010 get_fcr (char *param, unsigned *regnop)
1016 if (*param++ != REGISTER_PREFIX)
1020 if (!strncmp (param, "fcr", 3))
1022 param += 3;
1024 regno = *param++ - '0';
1030 return param;
1032 c = *param - '0';
1039 return param + 1;
1045 return param;
1051 param = match_name (param, fcr_regs, regnop);
1053 return param;
1057 get_vec9 (char *param, unsigned *valp)
1063 input_line_pointer = param;
1065 param = input_line_pointer;
1073 return param;
1077 get_o6 (char *param, unsigned *valp)
1083 input_line_pointer = param;
1085 param = input_line_pointer;
1093 return (param);
1102 getval (char *param, unsigned int *valp)
1107 c = *param++;
1110 c = *param++;
1113 c = *param++;
1118 c = *param++;
1128 c = *param++ - '0';
1138 c = *param++ - '0';
1143 return param - 1;