diff options
author | obrien <obrien@FreeBSD.org> | 2002-01-27 12:00:11 +0000 |
---|---|---|
committer | obrien <obrien@FreeBSD.org> | 2002-01-27 12:00:11 +0000 |
commit | fc89183cdc6be5afa8deb7250fd15a20832ab528 (patch) | |
tree | 5c493199a70976c54e1b9c6a7804a3de85b43e84 /contrib/binutils/opcodes/alpha-dis.c | |
parent | 94820fd8060f6f43089d1a3ddb8a482402e7e494 (diff) | |
download | FreeBSD-src-fc89183cdc6be5afa8deb7250fd15a20832ab528.zip FreeBSD-src-fc89183cdc6be5afa8deb7250fd15a20832ab528.tar.gz |
Enlist the FreeBSD-CURRENT users as testers of what is to become Binutils
version 2.12.0. These bits are taken from the FSF anoncvs repo on
27-January-2002 03:41 PST.
Diffstat (limited to 'contrib/binutils/opcodes/alpha-dis.c')
-rw-r--r-- | contrib/binutils/opcodes/alpha-dis.c | 38 |
1 files changed, 18 insertions, 20 deletions
diff --git a/contrib/binutils/opcodes/alpha-dis.c b/contrib/binutils/opcodes/alpha-dis.c index 8633d7b..49b5f20 100644 --- a/contrib/binutils/opcodes/alpha-dis.c +++ b/contrib/binutils/opcodes/alpha-dis.c @@ -1,5 +1,5 @@ /* alpha-dis.c -- Disassemble Alpha AXP instructions - Copyright 1996, 1998, 1999, 2000 Free Software Foundation, Inc. + Copyright 1996, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. Contributed by Richard Henderson <rth@tamu.edu>, patterned after the PPC opcode handling written by Ian Lance Taylor. @@ -27,8 +27,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA /* OSF register names. */ -static const char * const osf_regnames[64] = -{ +static const char * const osf_regnames[64] = { "v0", "t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7", "s0", "s1", "s2", "s3", "s4", "s5", "fp", "a0", "a1", "a2", "a3", "a4", "a5", "t8", "t9", @@ -41,8 +40,7 @@ static const char * const osf_regnames[64] = /* VMS register names. */ -static const char * const vms_regnames[64] = -{ +static const char * const vms_regnames[64] = { "R0", "R1", "R2", "R3", "R4", "R5", "R6", "R7", "R8", "R9", "R10", "R11", "R12", "R13", "R14", "R15", "R16", "R17", "R18", "R19", "R20", "R21", "R22", "R23", @@ -74,11 +72,11 @@ print_insn_alpha (memaddr, info) opcode_end = opcode + alpha_num_opcodes; for (op = 0; op < AXP_NOPS; ++op) - { - opcode_index[op] = opcode; - while (opcode < opcode_end && op == AXP_OP (opcode->opcode)) + { + opcode_index[op] = opcode; + while (opcode < opcode_end && op == AXP_OP (opcode->opcode)) ++opcode; - } + } opcode_index[op] = opcode; } @@ -107,8 +105,8 @@ print_insn_alpha (memaddr, info) int status = (*info->read_memory_func) (memaddr, buffer, 4, info); if (status != 0) { - (*info->memory_error_func) (status, memaddr, info); - return -1; + (*info->memory_error_func) (status, memaddr, info); + return -1; } insn = bfd_getl32 (buffer); } @@ -117,10 +115,10 @@ print_insn_alpha (memaddr, info) op = AXP_OP (insn); /* Find the first match in the opcode table. */ - opcode_end = opcode_index[op+1]; + opcode_end = opcode_index[op + 1]; for (opcode = opcode_index[op]; opcode < opcode_end; ++opcode) { - if ((insn & opcode->mask) != opcode->opcode) + if ((insn ^ opcode->opcode) & opcode->mask) continue; if (!(opcode->flags & isa_mask)) @@ -130,14 +128,14 @@ print_insn_alpha (memaddr, info) have extraction functions, and, if they do, make sure the instruction is valid. */ { - int invalid = 0; - for (opindex = opcode->operands; *opindex != 0; opindex++) + int invalid = 0; + for (opindex = opcode->operands; *opindex != 0; opindex++) { - const struct alpha_operand *operand = alpha_operands + *opindex; + const struct alpha_operand *operand = alpha_operands + *opindex; if (operand->extract) (*operand->extract) (insn, &invalid); } - if (invalid) + if (invalid) continue; } @@ -147,7 +145,7 @@ print_insn_alpha (memaddr, info) /* No instruction found */ (*info->fprintf_func) (info->stream, ".long %#08x", insn); - + return 4; found: @@ -182,7 +180,7 @@ found: } if (need_comma && - ((operand->flags & (AXP_OPERAND_PARENS|AXP_OPERAND_COMMA)) + ((operand->flags & (AXP_OPERAND_PARENS | AXP_OPERAND_COMMA)) != AXP_OPERAND_PARENS)) { (*info->fprintf_func) (info->stream, ","); @@ -194,7 +192,7 @@ found: if (operand->flags & AXP_OPERAND_IR) (*info->fprintf_func) (info->stream, "%s", regnames[value]); else if (operand->flags & AXP_OPERAND_FPR) - (*info->fprintf_func) (info->stream, "%s", regnames[value+32]); + (*info->fprintf_func) (info->stream, "%s", regnames[value + 32]); else if (operand->flags & AXP_OPERAND_RELATIVE) (*info->print_address_func) (memaddr + 4 + value, info); else if (operand->flags & AXP_OPERAND_SIGNED) |