X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=opcodes%2Fvisium-dis.c;h=41943ade7264b73b2c3eae33baf93ae231c3042b;hb=ac0ab1842de0e4522248ff9805c5c4e3267c8ae7;hp=96be9721b1d0159a7894064c8182e3ace7dcf98f;hpb=1945cfa59de0a6093011891e1974ac2b6d25658f;p=deliverable%2Fbinutils-gdb.git diff --git a/opcodes/visium-dis.c b/opcodes/visium-dis.c index 96be9721b1..41943ade72 100644 --- a/opcodes/visium-dis.c +++ b/opcodes/visium-dis.c @@ -1,6 +1,6 @@ /* Single instruction disassembler for the Visium. - Copyright (C) 2002-2014 Free Software Foundation, Inc. + Copyright (C) 2002-2019 Free Software Foundation, Inc. This file is part of the GNU opcodes library. @@ -20,7 +20,7 @@ MA 02110-1301, USA. */ #include "sysdep.h" -#include "dis-asm.h" +#include "disassemble.h" #include "opcode/visium.h" #include @@ -94,7 +94,7 @@ disassem_class0 (disassemble_info *info, unsigned int ins) /* BRR instruction. */ { unsigned cbf = (ins >> 27) & 0x000f; - int displacement = ((int) (ins << 16)) >> 16; + int displacement = ((ins & 0xffff) ^ 0x8000) - 0x8000; if (ins == 0) (*info->fprintf_func) (info->stream, "nop"); @@ -189,7 +189,7 @@ disassem_class1 (disassemble_info *info, unsigned int ins) { case 0: /* Stop. */ - (*info->fprintf_func) (info->stream, "stop"); + (*info->fprintf_func) (info->stream, "stop %d,r%d", indx, source_a); break; case 1: /* BMI - Block Move Indirect. */