- static const char *
- parse_addr16_p (cd, strp, opindex, valuep)
- CGEN_CPU_DESC cd;
- const char **strp;
- int opindex;
- long *valuep;
- {
- const char *errmsg;
- enum cgen_parse_operand_result result_type;
- bfd_reloc_code_real_type code = BFD_RELOC_IP2K_PAGE3;
- long value;
-
- errmsg = cgen_parse_address (cd, strp, opindex, code,
- & result_type, & value);
- if (errmsg == NULL)
- {
- if ( result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER )
- *valuep = (value >> 13) & 0x7;
- else if ( result_type == CGEN_PARSE_OPERAND_RESULT_QUEUED )
- *valuep = value;
- }
- return errmsg;
- }
-
-
- static const char *
- parse_addr16_cjp (cd, strp, opindex, valuep)
- CGEN_CPU_DESC cd;
- const char **strp;
- int opindex;
- long *valuep;
- {
- const char *errmsg;
- enum cgen_parse_operand_result result_type;
- bfd_reloc_code_real_type code = BFD_RELOC_NONE;
- long value;
-
- if ( opindex == (CGEN_OPERAND_TYPE)IP2K_OPERAND_ADDR16CJP )
- code = BFD_RELOC_IP2K_ADDR16CJP;
- else if ( opindex == (CGEN_OPERAND_TYPE)IP2K_OPERAND_ADDR16P )
- code = BFD_RELOC_IP2K_PAGE3;
-
- errmsg = cgen_parse_address (cd, strp, opindex, code,
- & result_type, & value);
- if (errmsg == NULL)
- {
- if ( result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER )
- {
- if ( (value & 0x1) == 0) /* If the address is even .... */
- {
- if ( opindex == (CGEN_OPERAND_TYPE)IP2K_OPERAND_ADDR16CJP )
- *valuep = (value >> 1) & 0x1FFF; /* Should mask be 1FFF? */
- else if ( opindex == (CGEN_OPERAND_TYPE)IP2K_OPERAND_ADDR16P )
+ errmsg = cgen_parse_address (cd, strp, opindex, code,
+ & result_type, & value);
+ if (errmsg == NULL)
+ {
+ if (result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
+ {
+ if ((value & 0x1) == 0) /* If the address is even .... */
+ {
+ if (opindex == (CGEN_OPERAND_TYPE) IP2K_OPERAND_ADDR16CJP)
+ *valuep = (value >> 1) & 0x1FFF; /* Should mask be 1FFF? */
+ else if (opindex == (CGEN_OPERAND_TYPE) IP2K_OPERAND_ADDR16P)