s12z-opc.c formatting fixes
Wrap overlong lines, whitespace fixes, and for function definitions start a line with the name of the function. * s12z-opc.c: Formatting.
This commit is contained in:
parent
bac7c5cf92
commit
e7c22a69ac
|
@ -1,3 +1,7 @@
|
|||
2019-12-10 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* s12z-opc.c: Formatting.
|
||||
|
||||
2019-12-08 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* s12z-opc.c (exg_sex_discrim): Don't leak memory on invalid
|
||||
|
|
|
@ -256,7 +256,8 @@ xysp_reg_from_postbyte (uint8_t postbyte)
|
|||
return reg;
|
||||
}
|
||||
|
||||
static struct operand * create_immediate_operand (int value)
|
||||
static struct operand *
|
||||
create_immediate_operand (int value)
|
||||
{
|
||||
struct immediate_operand *op = malloc (sizeof (*op));
|
||||
|
||||
|
@ -267,7 +268,8 @@ static struct operand * create_immediate_operand (int value)
|
|||
return (struct operand *) op;
|
||||
}
|
||||
|
||||
static struct operand * create_bitfield_operand (int width, int offset)
|
||||
static struct operand *
|
||||
create_bitfield_operand (int width, int offset)
|
||||
{
|
||||
struct bitfield_operand *op = malloc (sizeof (*op));
|
||||
|
||||
|
@ -297,7 +299,8 @@ create_register_operand (int reg)
|
|||
return create_register_operand_with_size (reg, -1);
|
||||
}
|
||||
|
||||
static struct operand * create_register_all_operand (void)
|
||||
static struct operand *
|
||||
create_register_all_operand (void)
|
||||
{
|
||||
struct register_operand *op = malloc (sizeof (*op));
|
||||
|
||||
|
@ -307,7 +310,8 @@ static struct operand * create_register_all_operand (void)
|
|||
return (struct operand *) op;
|
||||
}
|
||||
|
||||
static struct operand * create_register_all16_operand (void)
|
||||
static struct operand *
|
||||
create_register_all16_operand (void)
|
||||
{
|
||||
struct register_operand *op = malloc (sizeof (*op));
|
||||
|
||||
|
@ -371,7 +375,8 @@ create_memory_auto_operand (enum op_reg_mutation mutation, int reg)
|
|||
|
||||
|
||||
static void
|
||||
z_ext24_decode (struct mem_read_abstraction_base *mra, int *n_operands, struct operand **operand)
|
||||
z_ext24_decode (struct mem_read_abstraction_base *mra, int *n_operands,
|
||||
struct operand **operand)
|
||||
{
|
||||
uint8_t buffer[3];
|
||||
int status = mra->read (mra, 0, 3, buffer);
|
||||
|
@ -391,7 +396,8 @@ z_ext24_decode (struct mem_read_abstraction_base *mra, int *n_operands, struct o
|
|||
|
||||
|
||||
static uint32_t
|
||||
z_decode_signed_value (struct mem_read_abstraction_base *mra, int offset, short size)
|
||||
z_decode_signed_value (struct mem_read_abstraction_base *mra, int offset,
|
||||
short size)
|
||||
{
|
||||
assert (size >0);
|
||||
assert (size <= 4);
|
||||
|
@ -438,7 +444,7 @@ x_imm1 (struct mem_read_abstraction_base *mra,
|
|||
/* An eight bit immediate operand. */
|
||||
static void
|
||||
imm1_decode (struct mem_read_abstraction_base *mra,
|
||||
int *n_operands, struct operand **operand)
|
||||
int *n_operands, struct operand **operand)
|
||||
{
|
||||
x_imm1 (mra, 0, n_operands, operand);
|
||||
}
|
||||
|
@ -485,30 +491,30 @@ x_opr_decode_with_size (struct mem_read_abstraction_base *mra, int offset,
|
|||
else
|
||||
n = x;
|
||||
|
||||
operand = create_immediate_operand (n);
|
||||
operand = create_immediate_operand (n);
|
||||
break;
|
||||
}
|
||||
case OPR_REG:
|
||||
{
|
||||
uint8_t x = (postbyte & 0x07);
|
||||
operand = create_register_operand (x);
|
||||
operand = create_register_operand (x);
|
||||
break;
|
||||
}
|
||||
case OPR_OFXYS:
|
||||
{
|
||||
operand = create_memory_operand (false, postbyte & 0x0F, 1,
|
||||
operand = create_memory_operand (false, postbyte & 0x0F, 1,
|
||||
xysp_reg_from_postbyte (postbyte), -1);
|
||||
break;
|
||||
}
|
||||
case OPR_REG_DIRECT:
|
||||
{
|
||||
operand = create_memory_operand (false, 0, 2, postbyte & 0x07,
|
||||
operand = create_memory_operand (false, 0, 2, postbyte & 0x07,
|
||||
xysp_reg_from_postbyte (postbyte));
|
||||
break;
|
||||
}
|
||||
case OPR_REG_INDIRECT:
|
||||
{
|
||||
operand = create_memory_operand (true, 0, 2, postbyte & 0x07,
|
||||
operand = create_memory_operand (true, 0, 2, postbyte & 0x07,
|
||||
(postbyte & 0x10) ? REG_Y : REG_X);
|
||||
break;
|
||||
}
|
||||
|
@ -525,7 +531,7 @@ x_opr_decode_with_size (struct mem_read_abstraction_base *mra, int offset,
|
|||
idx -= 0x1UL << 8;
|
||||
}
|
||||
|
||||
operand = create_memory_operand (true, idx, 1,
|
||||
operand = create_memory_operand (true, idx, 1,
|
||||
xysp_reg_from_postbyte (postbyte), -1);
|
||||
break;
|
||||
}
|
||||
|
@ -542,7 +548,7 @@ x_opr_decode_with_size (struct mem_read_abstraction_base *mra, int offset,
|
|||
idx -= 0x1UL << 24;
|
||||
}
|
||||
|
||||
operand = create_memory_operand (false, idx, 1,
|
||||
operand = create_memory_operand (false, idx, 1,
|
||||
xysp_reg_from_postbyte (postbyte), -1);
|
||||
break;
|
||||
}
|
||||
|
@ -559,7 +565,7 @@ x_opr_decode_with_size (struct mem_read_abstraction_base *mra, int offset,
|
|||
idx -= 0x1UL << 24;
|
||||
}
|
||||
|
||||
operand = create_memory_operand (false, idx, 1, postbyte & 0x07, -1);
|
||||
operand = create_memory_operand (false, idx, 1, postbyte & 0x07, -1);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -592,7 +598,7 @@ x_opr_decode_with_size (struct mem_read_abstraction_base *mra, int offset,
|
|||
idx -= 0x1UL << 8;
|
||||
}
|
||||
|
||||
operand = create_memory_operand (false, idx, 1,
|
||||
operand = create_memory_operand (false, idx, 1,
|
||||
xysp_reg_from_postbyte (postbyte), -1);
|
||||
break;
|
||||
}
|
||||
|
@ -604,7 +610,7 @@ x_opr_decode_with_size (struct mem_read_abstraction_base *mra, int offset,
|
|||
uint32_t idx = x[1] | x[0] << 8 ;
|
||||
idx |= (postbyte & 0x30) << 12;
|
||||
|
||||
operand = create_memory_operand (false, idx, 1, postbyte & 0x07, -1);
|
||||
operand = create_memory_operand (false, idx, 1, postbyte & 0x07, -1);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -709,7 +715,7 @@ x_opr_decode_with_size (struct mem_read_abstraction_base *mra, int offset,
|
|||
ext24 |= buffer[i] << (8 * (size - i - 1));
|
||||
}
|
||||
|
||||
operand = create_memory_operand (true, ext24, 0, -1, -1);
|
||||
operand = create_memory_operand (true, ext24, 0, -1, -1);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -1003,7 +1009,9 @@ sub_d6_y_x (struct mem_read_abstraction_base *mra ATTRIBUTE_UNUSED,
|
|||
operand[(*n_operands)++] = create_register_operand (REG_X);
|
||||
}
|
||||
|
||||
static void ld_18bit_decode (struct mem_read_abstraction_base *mra, int *n_operands, struct operand **operand);
|
||||
static void
|
||||
ld_18bit_decode (struct mem_read_abstraction_base *mra, int *n_operands,
|
||||
struct operand **operand);
|
||||
|
||||
static enum optr
|
||||
mul_discrim (struct mem_read_abstraction_base *mra, enum optr hint)
|
||||
|
@ -2254,7 +2262,7 @@ loop_primitive_discrim (struct mem_read_abstraction_base *mra,
|
|||
|
||||
static void
|
||||
loop_primitive_decode (struct mem_read_abstraction_base *mra,
|
||||
int *n_operands, struct operand **operands)
|
||||
int *n_operands, struct operand **operands)
|
||||
{
|
||||
int offs = 1;
|
||||
uint8_t lb;
|
||||
|
@ -2294,7 +2302,8 @@ loop_primitive_decode (struct mem_read_abstraction_base *mra,
|
|||
|
||||
|
||||
static enum optr
|
||||
shift_discrim (struct mem_read_abstraction_base *mra, enum optr hint ATTRIBUTE_UNUSED)
|
||||
shift_discrim (struct mem_read_abstraction_base *mra,
|
||||
enum optr hint ATTRIBUTE_UNUSED)
|
||||
{
|
||||
size_t i;
|
||||
uint8_t sb;
|
||||
|
@ -2323,7 +2332,8 @@ shift_discrim (struct mem_read_abstraction_base *mra, enum optr hint ATTRIBUTE_
|
|||
|
||||
|
||||
static void
|
||||
shift_decode (struct mem_read_abstraction_base *mra, int *n_operands, struct operand **operands)
|
||||
shift_decode (struct mem_read_abstraction_base *mra, int *n_operands,
|
||||
struct operand **operands)
|
||||
{
|
||||
size_t i;
|
||||
|
||||
|
@ -2415,30 +2425,30 @@ shift_decode (struct mem_read_abstraction_base *mra, int *n_operands, struct op
|
|||
|
||||
case SB_REG_REG_N:
|
||||
{
|
||||
uint8_t xb;
|
||||
mra->read (mra, 1, 1, &xb);
|
||||
uint8_t xb;
|
||||
mra->read (mra, 1, 1, &xb);
|
||||
|
||||
/* This case is slightly unusual.
|
||||
If XB matches the binary pattern 0111XXXX, then instead of
|
||||
interpreting this as a general OPR postbyte in the IMMe4 mode,
|
||||
the XB byte is interpreted in s special way. */
|
||||
if ((xb & 0xF0) == 0x70)
|
||||
{
|
||||
if (byte & 0x10)
|
||||
{
|
||||
int shift = ((sb & 0x08) >> 3) | ((xb & 0x0f) << 1);
|
||||
operands[(*n_operands)++] = create_immediate_operand (shift);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* This should not happen. */
|
||||
abort ();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
operands[(*n_operands)++] = x_opr_decode (mra, 1);
|
||||
}
|
||||
/* This case is slightly unusual.
|
||||
If XB matches the binary pattern 0111XXXX, then instead of
|
||||
interpreting this as a general OPR postbyte in the IMMe4 mode,
|
||||
the XB byte is interpreted in s special way. */
|
||||
if ((xb & 0xF0) == 0x70)
|
||||
{
|
||||
if (byte & 0x10)
|
||||
{
|
||||
int shift = ((sb & 0x08) >> 3) | ((xb & 0x0f) << 1);
|
||||
operands[(*n_operands)++] = create_immediate_operand (shift);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* This should not happen. */
|
||||
abort ();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
operands[(*n_operands)++] = x_opr_decode (mra, 1);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case SB_REG_OPR_OPR:
|
||||
|
@ -2470,8 +2480,8 @@ shift_decode (struct mem_read_abstraction_base *mra, int *n_operands, struct op
|
|||
case SB_REG_OPR_EFF:
|
||||
case SB_OPR_N:
|
||||
{
|
||||
int imm = (sb & 0x08) ? 2 : 1;
|
||||
operands[(*n_operands)++] = create_immediate_operand (imm);
|
||||
int imm = (sb & 0x08) ? 2 : 1;
|
||||
operands[(*n_operands)++] = create_immediate_operand (imm);
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -2505,9 +2515,7 @@ psh_pul_decode (struct mem_read_abstraction_base *mra,
|
|||
if (byte & 0x40)
|
||||
{
|
||||
if ((byte & 0x3F) == 0)
|
||||
{
|
||||
operand[(*n_operands)++] = create_register_all16_operand ();
|
||||
}
|
||||
operand[(*n_operands)++] = create_register_all16_operand ();
|
||||
else
|
||||
for (bit = 5; bit >= 0; --bit)
|
||||
{
|
||||
|
@ -2520,9 +2528,7 @@ psh_pul_decode (struct mem_read_abstraction_base *mra,
|
|||
else
|
||||
{
|
||||
if ((byte & 0x3F) == 0)
|
||||
{
|
||||
operand[(*n_operands)++] = create_register_all_operand ();
|
||||
}
|
||||
operand[(*n_operands)++] = create_register_all_operand ();
|
||||
else
|
||||
for (bit = 5; bit >= 0; --bit)
|
||||
{
|
||||
|
@ -2535,7 +2541,8 @@ psh_pul_decode (struct mem_read_abstraction_base *mra,
|
|||
}
|
||||
|
||||
static enum optr
|
||||
bit_field_discrim (struct mem_read_abstraction_base *mra, enum optr hint ATTRIBUTE_UNUSED)
|
||||
bit_field_discrim (struct mem_read_abstraction_base *mra,
|
||||
enum optr hint ATTRIBUTE_UNUSED)
|
||||
{
|
||||
int status;
|
||||
bfd_byte bb;
|
||||
|
@ -2569,10 +2576,10 @@ bit_field_decode (struct mem_read_abstraction_base *mra,
|
|||
{
|
||||
bbs = bb_modes + i;
|
||||
if ((bb & bbs->mask) == bbs->value)
|
||||
{
|
||||
mode = bbs->mode;
|
||||
break;
|
||||
}
|
||||
{
|
||||
mode = bbs->mode;
|
||||
break;
|
||||
}
|
||||
}
|
||||
int reg1 = byte2 & 0x07;
|
||||
/* First operand */
|
||||
|
@ -2600,15 +2607,15 @@ bit_field_decode (struct mem_read_abstraction_base *mra,
|
|||
case BB_REG_REG_REG:
|
||||
case BB_REG_REG_IMM:
|
||||
{
|
||||
int reg_src = (bb >> 2) & 0x07;
|
||||
operands[(*n_operands)++] = create_register_operand (reg_src);
|
||||
int reg_src = (bb >> 2) & 0x07;
|
||||
operands[(*n_operands)++] = create_register_operand (reg_src);
|
||||
}
|
||||
break;
|
||||
case BB_OPR_REG_REG:
|
||||
case BB_OPR_REG_IMM:
|
||||
{
|
||||
int reg_src = (byte2 & 0x07);
|
||||
operands[(*n_operands)++] = create_register_operand (reg_src);
|
||||
int reg_src = (byte2 & 0x07);
|
||||
operands[(*n_operands)++] = create_register_operand (reg_src);
|
||||
}
|
||||
break;
|
||||
case BB_REG_OPR_REG:
|
||||
|
@ -2628,7 +2635,7 @@ bit_field_decode (struct mem_read_abstraction_base *mra,
|
|||
case BB_OPR_REG_REG:
|
||||
case BB_REG_OPR_REG:
|
||||
{
|
||||
int reg_parm = bb & 0x03;
|
||||
int reg_parm = bb & 0x03;
|
||||
operands[(*n_operands)++] = create_register_operand (reg_parm);
|
||||
}
|
||||
break;
|
||||
|
@ -2636,13 +2643,13 @@ bit_field_decode (struct mem_read_abstraction_base *mra,
|
|||
case BB_OPR_REG_IMM:
|
||||
case BB_REG_OPR_IMM:
|
||||
{
|
||||
bfd_byte i1;
|
||||
mra->read (mra, 1, 1, &i1);
|
||||
int offset = i1 & 0x1f;
|
||||
int width = bb & 0x03;
|
||||
width <<= 3;
|
||||
width |= i1 >> 5;
|
||||
operands[(*n_operands)++] = create_bitfield_operand (width, offset);
|
||||
bfd_byte i1;
|
||||
mra->read (mra, 1, 1, &i1);
|
||||
int offset = i1 & 0x1f;
|
||||
int width = bb & 0x03;
|
||||
width <<= 3;
|
||||
width |= i1 >> 5;
|
||||
operands[(*n_operands)++] = create_bitfield_operand (width, offset);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue