diff options
author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2003-07-01 14:47:58 +0000 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2003-07-01 14:47:58 +0000 |
commit | bac02689134af31146797f2ffa0217af7414acf0 (patch) | |
tree | 5e3114c5d62bf0e4dd8beca477119be21895f690 /opcodes/s390-dis.c | |
parent | c72a8f697c87067b3e157a93ad6a1f4c4e019af2 (diff) | |
download | binutils-bac02689134af31146797f2ffa0217af7414acf0.zip binutils-bac02689134af31146797f2ffa0217af7414acf0.tar.gz binutils-bac02689134af31146797f2ffa0217af7414acf0.tar.bz2 |
* s390-dis.c (s390_extract_operand): Add support for long displacements.
* s390-mkopc.c (s390_opcode_cpu_val): Add support for cpu type z990.
* s390-opc.c (D20_20): Add define for 20 bit displacements.
(INSTR_RRF_R0RR, INSTR_RSL_R0RD, INSTR_RSY_RRRD, INSTR_RSY_RURD,
INSTR_RSY_AARD, INSTR_RXY_RRRD, INSTR_RXY_FRRD, INSTR_SIY_URD): Add
new instruction formats.
(MASK_RRF_R0RR, MASK_RSL_R0RD, MASK_RSY_RRRD, MASK_RSY_RURD,
MASK_RSY_AARD, MASK_RXY_RRRD, MASK_RXY_FRRD, MASK_SIY_URD): Likewise.
(s390_opformats): Likewise.
* s390-opc.txt: Add new instructions for cpu type z990. Add missing
hfp instructions. Add missing instructions pgin, pgout and xsch.
Diffstat (limited to 'opcodes/s390-dis.c')
-rw-r--r-- | opcodes/s390-dis.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/opcodes/s390-dis.c b/opcodes/s390-dis.c index 33121c7..42f5151 100644 --- a/opcodes/s390-dis.c +++ b/opcodes/s390-dis.c @@ -89,6 +89,10 @@ s390_extract_operand (insn, operand) val >>= -bits; val &= ((1U << (operand->bits - 1)) << 1) - 1; + /* Check for special long displacement case. */ + if (operand->bits == 20 && operand->shift == 20) + val = (val & 0xff) << 12 | (val & 0xfff00) >> 8; + /* Sign extend value if the operand is signed or pc relative. */ if ((operand->flags & (S390_OPERAND_SIGNED | S390_OPERAND_PCREL)) && (val & (1U << (operand->bits - 1)))) |