mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-24 02:24:46 +08:00
z8k fixes
This commit is contained in:
parent
b3baf5d0a8
commit
6840198f93
@ -1,3 +1,8 @@
|
||||
2001-04-24 Christian Groessler <cpg@aladdin.de>
|
||||
|
||||
* coff-z8k.c (extra_case): added handler for R_DISP7, R_CALLR
|
||||
and R_REL16 reloc types; accept odd values for R_REL16 type
|
||||
|
||||
2001-04-24 Johan Rydberg <jrydberg@opencores.org>
|
||||
|
||||
* cpu-openrisc.c: New file.
|
||||
|
103
bfd/coff-z8k.c
103
bfd/coff-z8k.c
@ -49,10 +49,23 @@ HOWTO (R_IMM8, 0, 1, 8, false, 0,
|
||||
complain_overflow_bitfield, 0, "r_imm8", true, 0x000000ff, 0x000000ff,
|
||||
false);
|
||||
|
||||
static reloc_howto_type r_rel16 =
|
||||
HOWTO (R_REL16, 0, 1, 16, false, 0,
|
||||
complain_overflow_bitfield, 0, "r_rel16", true, 0x0000ffff, 0x0000ffff,
|
||||
true);
|
||||
|
||||
static reloc_howto_type r_jr =
|
||||
HOWTO (R_JR, 0, 1, 8, true, 0, complain_overflow_signed, 0,
|
||||
"r_jr", true, 0, 0, true);
|
||||
|
||||
static reloc_howto_type r_disp7 =
|
||||
HOWTO (R_DISP7, 0, 1, 7, true, 0, complain_overflow_bitfield, 0,
|
||||
"r_disp7", true, 0, 0, true);
|
||||
|
||||
static reloc_howto_type r_callr =
|
||||
HOWTO (R_CALLR, 0, 1, 12, true, 0, complain_overflow_signed, 0,
|
||||
"r_callr", true, 0xfff, 0xfff, true);
|
||||
|
||||
/* Turn a howto into a reloc number */
|
||||
|
||||
static int
|
||||
@ -97,6 +110,15 @@ rtype2howto (internal, dst)
|
||||
case R_JR:
|
||||
internal->howto = &r_jr;
|
||||
break;
|
||||
case R_DISP7:
|
||||
internal->howto = &r_disp7;
|
||||
break;
|
||||
case R_CALLR:
|
||||
internal->howto = &r_callr;
|
||||
break;
|
||||
case R_REL16:
|
||||
internal->howto = &r_rel16;
|
||||
break;
|
||||
case R_IMM32:
|
||||
internal->howto = &r_imm32;
|
||||
break;
|
||||
@ -215,6 +237,87 @@ extra_case (in_abfd, link_info, link_order, reloc, data, src_ptr, dst_ptr)
|
||||
(*src_ptr)++;
|
||||
break;
|
||||
}
|
||||
|
||||
case R_DISP7:
|
||||
{
|
||||
bfd_vma dst = bfd_coff_reloc16_get_value (reloc, link_info,
|
||||
input_section);
|
||||
bfd_vma dot = (link_order->offset
|
||||
+ *dst_ptr
|
||||
+ input_section->output_section->vma);
|
||||
int gap = dst - dot - 1;/* -1 since were in the odd byte of the
|
||||
word and the pc's been incremented */
|
||||
|
||||
if (gap & 1)
|
||||
abort ();
|
||||
gap /= 2;
|
||||
|
||||
if (gap > 0 || gap < -128)
|
||||
{
|
||||
if (! ((*link_info->callbacks->reloc_overflow)
|
||||
(link_info, bfd_asymbol_name (*reloc->sym_ptr_ptr),
|
||||
reloc->howto->name, reloc->addend, input_section->owner,
|
||||
input_section, reloc->address)))
|
||||
abort ();
|
||||
}
|
||||
bfd_put_8 (in_abfd,
|
||||
(bfd_get_8 ( in_abfd, data + *dst_ptr) & 0x80) + (-gap & 0x7f),
|
||||
data + *dst_ptr);
|
||||
(*dst_ptr)++;
|
||||
(*src_ptr)++;
|
||||
break;
|
||||
}
|
||||
|
||||
case R_CALLR:
|
||||
{
|
||||
bfd_vma dst = bfd_coff_reloc16_get_value (reloc, link_info,
|
||||
input_section);
|
||||
bfd_vma dot = (link_order->offset
|
||||
+ *dst_ptr
|
||||
+ input_section->output_section->vma);
|
||||
int gap = dst - dot - 2;
|
||||
|
||||
if (gap & 1)
|
||||
abort ();
|
||||
gap /= 2;
|
||||
if (gap > 8191 || gap < -8192)
|
||||
{
|
||||
if (! ((*link_info->callbacks->reloc_overflow)
|
||||
(link_info, bfd_asymbol_name (*reloc->sym_ptr_ptr),
|
||||
reloc->howto->name, reloc->addend, input_section->owner,
|
||||
input_section, reloc->address)))
|
||||
abort ();
|
||||
}
|
||||
bfd_put_16 (in_abfd,
|
||||
(bfd_get_16 ( in_abfd, data + *dst_ptr) & 0xf000) | (-gap & 0x0fff),
|
||||
data + *dst_ptr);
|
||||
(*dst_ptr) += 2;
|
||||
(*src_ptr) += 2;
|
||||
break;
|
||||
}
|
||||
|
||||
case R_REL16:
|
||||
{
|
||||
bfd_vma dst = bfd_coff_reloc16_get_value (reloc, link_info,
|
||||
input_section);
|
||||
bfd_vma dot = (link_order->offset
|
||||
+ *dst_ptr
|
||||
+ input_section->output_section->vma);
|
||||
int gap = dst - dot - 2;
|
||||
|
||||
if (gap > 32767 || gap < -32768)
|
||||
{
|
||||
if (! ((*link_info->callbacks->reloc_overflow)
|
||||
(link_info, bfd_asymbol_name (*reloc->sym_ptr_ptr),
|
||||
reloc->howto->name, reloc->addend, input_section->owner,
|
||||
input_section, reloc->address)))
|
||||
abort ();
|
||||
}
|
||||
bfd_put_16 (in_abfd,gap,data + *dst_ptr);
|
||||
(*dst_ptr) += 2;
|
||||
(*src_ptr) += 2;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
abort ();
|
||||
}
|
||||
|
@ -6,7 +6,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: 2001-04-24 16:35+0100\n"
|
||||
"POT-Creation-Date: 2001-04-24 17:11+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -564,13 +564,13 @@ msgstr ""
|
||||
|
||||
#: elf-m10200.c:451 elf-m10300.c:663 elf32-arm.h:1939 elf32-avr.c:842
|
||||
#: elf32-cris.c:1335 elf32-d10v.c:478 elf32-fr30.c:648 elf32-i860.c:1049
|
||||
#: elf32-m32r.c:1266 elf32-openrisc.c:448 elf32-v850.c:1681
|
||||
#: elf32-m32r.c:1266 elf32-openrisc.c:449 elf32-v850.c:1681
|
||||
msgid "internal error: out of range error"
|
||||
msgstr ""
|
||||
|
||||
#: elf-m10200.c:455 elf-m10300.c:667 elf32-arm.h:1943 elf32-avr.c:846
|
||||
#: elf32-cris.c:1339 elf32-d10v.c:482 elf32-fr30.c:652 elf32-i860.c:1053
|
||||
#: elf32-m32r.c:1270 elf32-mips.c:7046 elf32-openrisc.c:452 elf32-v850.c:1685
|
||||
#: elf32-m32r.c:1270 elf32-mips.c:7046 elf32-openrisc.c:453 elf32-v850.c:1685
|
||||
msgid "internal error: unsupported relocation error"
|
||||
msgstr ""
|
||||
|
||||
@ -581,7 +581,7 @@ msgstr ""
|
||||
|
||||
#: elf-m10200.c:463 elf-m10300.c:675 elf32-arm.h:1951 elf32-avr.c:854
|
||||
#: elf32-cris.c:1347 elf32-d10v.c:490 elf32-fr30.c:660 elf32-i860.c:1061
|
||||
#: elf32-m32r.c:1278 elf32-openrisc.c:460 elf32-v850.c:1705
|
||||
#: elf32-m32r.c:1278 elf32-openrisc.c:461 elf32-v850.c:1705
|
||||
msgid "internal error: unknown error"
|
||||
msgstr ""
|
||||
|
||||
@ -736,7 +736,7 @@ msgid "<Unrecognised flag bits set>"
|
||||
msgstr ""
|
||||
|
||||
#: elf32-avr.c:850 elf32-cris.c:1343 elf32-fr30.c:656 elf32-i860.c:1057
|
||||
#: elf32-openrisc.c:456 elf32-v850.c:1689
|
||||
#: elf32-openrisc.c:457 elf32-v850.c:1689
|
||||
msgid "internal error: dangerous relocation"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1,3 +1,8 @@
|
||||
2001-04-24 Christian Groessler <cpg@aladdin.de>
|
||||
|
||||
* config/tc-z8k.c (build_bytes): 12 and 16 bit displacements now
|
||||
generate R_CALLR and R_REL16 relocations
|
||||
|
||||
2000-04-20 Jason Eckhardt <jle@redhat.com>
|
||||
|
||||
* config/tc-d10v.h (tc_frob_label): Update the symbol's frag
|
||||
|
@ -1948,7 +1948,7 @@ configure configure.in gdbinit.in itbl-lex.c itbl-parse.c
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
TAR = tar
|
||||
TAR = gtar
|
||||
GZIP_ENV = --best
|
||||
SOURCES = $(itbl_test_SOURCES) $(as_new_SOURCES) $(EXTRA_as_new_SOURCES) $(gasp_new_SOURCES)
|
||||
OBJECTS = $(itbl_test_OBJECTS) $(as_new_OBJECTS) $(gasp_new_OBJECTS)
|
||||
|
18
gas/aclocal.m4
vendored
18
gas/aclocal.m4
vendored
@ -83,24 +83,6 @@ AC_DEFUN([CY_WITH_NLS],)
|
||||
AC_SUBST(INTLLIBS)
|
||||
])
|
||||
|
||||
#serial 1
|
||||
# This test replaces the one in autoconf.
|
||||
# Currently this macro should have the same name as the autoconf macro
|
||||
# because gettext's gettext.m4 (distributed in the automake package)
|
||||
# still uses it. Otherwise, the use in gettext.m4 makes autoheader
|
||||
# give these diagnostics:
|
||||
# configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX
|
||||
# configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX
|
||||
|
||||
undefine([AC_ISC_POSIX])
|
||||
|
||||
AC_DEFUN(AC_ISC_POSIX,
|
||||
[
|
||||
dnl This test replaces the obsolescent AC_ISC_POSIX kludge.
|
||||
AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"])
|
||||
]
|
||||
)
|
||||
|
||||
# Do all the work for Automake. This macro actually does too much --
|
||||
# some checks are only needed if your package does certain things.
|
||||
# But this isn't really a big deal.
|
||||
|
336
gas/config.in
336
gas/config.in
@ -1,176 +1,147 @@
|
||||
/* config.in. Generated automatically from configure.in by autoheader. */
|
||||
|
||||
/* Define if using alloca.c. */
|
||||
#undef C_ALLOCA
|
||||
/* Use BFD interface? */
|
||||
#undef BFD_ASSEMBLER
|
||||
|
||||
/* Define to empty if the keyword does not work. */
|
||||
#undef const
|
||||
/* assert broken? */
|
||||
#undef BROKEN_ASSERT
|
||||
|
||||
/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems.
|
||||
This function is required for alloca.c support on those systems. */
|
||||
/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
|
||||
systems. This function is required for `alloca.c' support on those systems.
|
||||
*/
|
||||
#undef CRAY_STACKSEG_END
|
||||
|
||||
/* Define if you have alloca, as a function or macro. */
|
||||
/* Compiling cross-assembler? */
|
||||
#undef CROSS_COMPILE
|
||||
|
||||
/* Define if using `alloca.c'. */
|
||||
#undef C_ALLOCA
|
||||
|
||||
/* Default architecture. */
|
||||
#undef DEFAULT_ARCH
|
||||
|
||||
/* Default emulation. */
|
||||
#undef DEFAULT_EMULATION
|
||||
|
||||
/* Supported emulations. */
|
||||
#undef EMULATIONS
|
||||
|
||||
/* Define to 1 if NLS is requested */
|
||||
#undef ENABLE_NLS
|
||||
|
||||
/* Define if you have `alloca', as a function or macro. */
|
||||
#undef HAVE_ALLOCA
|
||||
|
||||
/* Define if you have <alloca.h> and it should be used (not on Ultrix). */
|
||||
/* Define if you have <alloca.h> and it should be used (not on Ultrix). */
|
||||
#undef HAVE_ALLOCA_H
|
||||
|
||||
/* Define if you have a working `mmap' system call. */
|
||||
#undef HAVE_MMAP
|
||||
|
||||
/* Define as __inline if that's what the C compiler calls it. */
|
||||
#undef inline
|
||||
|
||||
/* Define to `long' if <sys/types.h> doesn't define. */
|
||||
#undef off_t
|
||||
|
||||
/* Define to `unsigned' if <sys/types.h> doesn't define. */
|
||||
#undef size_t
|
||||
|
||||
/* If using the C implementation of alloca, define if you know the
|
||||
direction of stack growth for your system; otherwise it will be
|
||||
automatically deduced at run-time.
|
||||
STACK_DIRECTION > 0 => grows toward higher addresses
|
||||
STACK_DIRECTION < 0 => grows toward lower addresses
|
||||
STACK_DIRECTION = 0 => direction of growth unknown
|
||||
*/
|
||||
#undef STACK_DIRECTION
|
||||
|
||||
/* Define if you have the ANSI C header files. */
|
||||
#undef STDC_HEADERS
|
||||
|
||||
/* Define if lex declares yytext as a char * by default, not a char[]. */
|
||||
#undef YYTEXT_POINTER
|
||||
|
||||
/* Define if you have the __argz_count function. */
|
||||
#undef HAVE___ARGZ_COUNT
|
||||
|
||||
/* Define if you have the __argz_next function. */
|
||||
#undef HAVE___ARGZ_NEXT
|
||||
|
||||
/* Define if you have the __argz_stringify function. */
|
||||
#undef HAVE___ARGZ_STRINGIFY
|
||||
|
||||
/* Define if you have the dcgettext function. */
|
||||
#undef HAVE_DCGETTEXT
|
||||
|
||||
/* Define if you have the getcwd function. */
|
||||
#undef HAVE_GETCWD
|
||||
|
||||
/* Define if you have the getpagesize function. */
|
||||
#undef HAVE_GETPAGESIZE
|
||||
|
||||
/* Define if you have the munmap function. */
|
||||
#undef HAVE_MUNMAP
|
||||
|
||||
/* Define if you have the putenv function. */
|
||||
#undef HAVE_PUTENV
|
||||
|
||||
/* Define if you have the remove function. */
|
||||
#undef HAVE_REMOVE
|
||||
|
||||
/* Define if you have the sbrk function. */
|
||||
#undef HAVE_SBRK
|
||||
|
||||
/* Define if you have the setenv function. */
|
||||
#undef HAVE_SETENV
|
||||
|
||||
/* Define if you have the setlocale function. */
|
||||
#undef HAVE_SETLOCALE
|
||||
|
||||
/* Define if you have the stpcpy function. */
|
||||
#undef HAVE_STPCPY
|
||||
|
||||
/* Define if you have the strcasecmp function. */
|
||||
#undef HAVE_STRCASECMP
|
||||
|
||||
/* Define if you have the strchr function. */
|
||||
#undef HAVE_STRCHR
|
||||
|
||||
/* Define if you have the unlink function. */
|
||||
#undef HAVE_UNLINK
|
||||
|
||||
/* Define if you have the <argz.h> header file. */
|
||||
/* Define if you have the <argz.h> header file. */
|
||||
#undef HAVE_ARGZ_H
|
||||
|
||||
/* Define if you have the <errno.h> header file. */
|
||||
/* Define if you have the `dcgettext' function. */
|
||||
#undef HAVE_DCGETTEXT
|
||||
|
||||
/* Define if you have the <errno.h> header file. */
|
||||
#undef HAVE_ERRNO_H
|
||||
|
||||
/* Define if you have the <limits.h> header file. */
|
||||
/* Define if you have the `getcwd' function. */
|
||||
#undef HAVE_GETCWD
|
||||
|
||||
/* Define if you have the `getpagesize' function. */
|
||||
#undef HAVE_GETPAGESIZE
|
||||
|
||||
/* Define as 1 if you have gettext and don't want to use GNU gettext. */
|
||||
#undef HAVE_GETTEXT
|
||||
|
||||
/* Define if you have the <inttypes.h> header file. */
|
||||
#undef HAVE_INTTYPES_H
|
||||
|
||||
/* Define if your locale.h file contains LC_MESSAGES. */
|
||||
#undef HAVE_LC_MESSAGES
|
||||
|
||||
/* Define if you have the <limits.h> header file. */
|
||||
#undef HAVE_LIMITS_H
|
||||
|
||||
/* Define if you have the <locale.h> header file. */
|
||||
/* Define if you have the <locale.h> header file. */
|
||||
#undef HAVE_LOCALE_H
|
||||
|
||||
/* Define if you have the <malloc.h> header file. */
|
||||
/* Define if you have the <malloc.h> header file. */
|
||||
#undef HAVE_MALLOC_H
|
||||
|
||||
/* Define if you have the <memory.h> header file. */
|
||||
/* Define if you have the <memory.h> header file. */
|
||||
#undef HAVE_MEMORY_H
|
||||
|
||||
/* Define if you have the <nl_types.h> header file. */
|
||||
/* Define if you have a working `mmap' system call. */
|
||||
#undef HAVE_MMAP
|
||||
|
||||
/* Define if you have the `munmap' function. */
|
||||
#undef HAVE_MUNMAP
|
||||
|
||||
/* Define if you have the <nl_types.h> header file. */
|
||||
#undef HAVE_NL_TYPES_H
|
||||
|
||||
/* Define if you have the <stdarg.h> header file. */
|
||||
/* Define if you have the `putenv' function. */
|
||||
#undef HAVE_PUTENV
|
||||
|
||||
/* Define if you have the `remove' function. */
|
||||
#undef HAVE_REMOVE
|
||||
|
||||
/* Define if you have the `sbrk' function. */
|
||||
#undef HAVE_SBRK
|
||||
|
||||
/* Define if you have the `setenv' function. */
|
||||
#undef HAVE_SETENV
|
||||
|
||||
/* Define if you have the `setlocale' function. */
|
||||
#undef HAVE_SETLOCALE
|
||||
|
||||
/* Define if you have the <stdarg.h> header file. */
|
||||
#undef HAVE_STDARG_H
|
||||
|
||||
/* Define if you have the <stdlib.h> header file. */
|
||||
/* Define if you have the <stdlib.h> header file. */
|
||||
#undef HAVE_STDLIB_H
|
||||
|
||||
/* Define if you have the <string.h> header file. */
|
||||
#undef HAVE_STRING_H
|
||||
/* Define if you have the stpcpy function */
|
||||
#undef HAVE_STPCPY
|
||||
|
||||
/* Define if you have the <strings.h> header file. */
|
||||
/* Define if you have the `strcasecmp' function. */
|
||||
#undef HAVE_STRCASECMP
|
||||
|
||||
/* Define if you have the `strchr' function. */
|
||||
#undef HAVE_STRCHR
|
||||
|
||||
/* Define if you have the <strings.h> header file. */
|
||||
#undef HAVE_STRINGS_H
|
||||
|
||||
/* Define if you have the <sys/param.h> header file. */
|
||||
/* Define if you have the <string.h> header file. */
|
||||
#undef HAVE_STRING_H
|
||||
|
||||
/* Define if you have the <sys/param.h> header file. */
|
||||
#undef HAVE_SYS_PARAM_H
|
||||
|
||||
/* Define if you have the <sys/types.h> header file. */
|
||||
/* Define if you have the <sys/types.h> header file. */
|
||||
#undef HAVE_SYS_TYPES_H
|
||||
|
||||
/* Define if you have the <unistd.h> header file. */
|
||||
/* Define if you have the <unistd.h> header file. */
|
||||
#undef HAVE_UNISTD_H
|
||||
|
||||
/* Define if you have the <values.h> header file. */
|
||||
/* Define if you have the `unlink' function. */
|
||||
#undef HAVE_UNLINK
|
||||
|
||||
/* Define if you have the <values.h> header file. */
|
||||
#undef HAVE_VALUES_H
|
||||
|
||||
/* Define if you have the <varargs.h> header file. */
|
||||
/* Define if you have the <varargs.h> header file. */
|
||||
#undef HAVE_VARARGS_H
|
||||
|
||||
/* Name of package */
|
||||
#undef PACKAGE
|
||||
/* Define if you have the `__argz_count' function. */
|
||||
#undef HAVE___ARGZ_COUNT
|
||||
|
||||
/* Version number of package */
|
||||
#undef VERSION
|
||||
/* Define if you have the `__argz_next' function. */
|
||||
#undef HAVE___ARGZ_NEXT
|
||||
|
||||
/* Define if defaulting to ELF on SCO 5. */
|
||||
#undef SCO_ELF
|
||||
|
||||
/* Using strict COFF? */
|
||||
#undef STRICTCOFF
|
||||
|
||||
/* Use ELF stabs for MIPS, not ECOFF stabs */
|
||||
#undef MIPS_STABS_ELF
|
||||
|
||||
/* Define if default target is PowerPC Solaris. */
|
||||
#undef TARGET_SOLARIS_COMMENT
|
||||
|
||||
/* Define as 1 if big endian. */
|
||||
#undef TARGET_BYTES_BIG_ENDIAN
|
||||
|
||||
/* Default architecture. */
|
||||
#undef DEFAULT_ARCH
|
||||
|
||||
/* Default architecture. */
|
||||
#undef DEFAULT_ARCH
|
||||
|
||||
/* Default architecture. */
|
||||
#undef DEFAULT_ARCH
|
||||
|
||||
/* Using cgen code? */
|
||||
#undef USING_CGEN
|
||||
/* Define if you have the `__argz_stringify' function. */
|
||||
#undef HAVE___ARGZ_STRINGIFY
|
||||
|
||||
/* Using i386 COFF? */
|
||||
#undef I386COFF
|
||||
@ -181,6 +152,30 @@
|
||||
/* Using m88k COFF? */
|
||||
#undef M88KCOFF
|
||||
|
||||
/* old COFF support? */
|
||||
#undef MANY_SEGMENTS
|
||||
|
||||
/* Use ELF stabs for MIPS, not ECOFF stabs */
|
||||
#undef MIPS_STABS_ELF
|
||||
|
||||
/* Define if environ is not declared in system header files. */
|
||||
#undef NEED_DECLARATION_ENVIRON
|
||||
|
||||
/* Define if errno is not declared in system header files. */
|
||||
#undef NEED_DECLARATION_ERRNO
|
||||
|
||||
/* Define if free is not declared in system header files. */
|
||||
#undef NEED_DECLARATION_FREE
|
||||
|
||||
/* Define if malloc is not declared in system header files. */
|
||||
#undef NEED_DECLARATION_MALLOC
|
||||
|
||||
/* Define if sbrk is not declared in system header files. */
|
||||
#undef NEED_DECLARATION_SBRK
|
||||
|
||||
/* Define if strstr is not declared in system header files. */
|
||||
#undef NEED_DECLARATION_STRSTR
|
||||
|
||||
/* a.out support? */
|
||||
#undef OBJ_MAYBE_AOUT
|
||||
|
||||
@ -211,69 +206,72 @@
|
||||
/* VMS support? */
|
||||
#undef OBJ_MAYBE_VMS
|
||||
|
||||
/* Use emulation support? */
|
||||
#undef USE_EMULATIONS
|
||||
/* Name of package */
|
||||
#undef PACKAGE
|
||||
|
||||
/* Supported emulations. */
|
||||
#undef EMULATIONS
|
||||
/* Define if defaulting to ELF on SCO 5. */
|
||||
#undef SCO_ELF
|
||||
|
||||
/* Default emulation. */
|
||||
#undef DEFAULT_EMULATION
|
||||
/* If using the C implementation of alloca, define if you know the
|
||||
direction of stack growth for your system; otherwise it will be
|
||||
automatically deduced at run-time.
|
||||
STACK_DIRECTION > 0 => grows toward higher addresses
|
||||
STACK_DIRECTION < 0 => grows toward lower addresses
|
||||
STACK_DIRECTION = 0 => direction of growth unknown */
|
||||
#undef STACK_DIRECTION
|
||||
|
||||
/* old COFF support? */
|
||||
#undef MANY_SEGMENTS
|
||||
/* Define if you have the ANSI C header files. */
|
||||
#undef STDC_HEADERS
|
||||
|
||||
/* Use BFD interface? */
|
||||
#undef BFD_ASSEMBLER
|
||||
/* Using strict COFF? */
|
||||
#undef STRICTCOFF
|
||||
|
||||
/* Target alias. */
|
||||
#undef TARGET_ALIAS
|
||||
|
||||
/* Define as 1 if big endian. */
|
||||
#undef TARGET_BYTES_BIG_ENDIAN
|
||||
|
||||
/* Canonical target. */
|
||||
#undef TARGET_CANONICAL
|
||||
|
||||
/* Target CPU. */
|
||||
#undef TARGET_CPU
|
||||
|
||||
/* Target vendor. */
|
||||
#undef TARGET_VENDOR
|
||||
|
||||
/* Target OS. */
|
||||
#undef TARGET_OS
|
||||
|
||||
/* Define if you have the stpcpy function */
|
||||
#undef HAVE_STPCPY
|
||||
/* Define if default target is PowerPC Solaris. */
|
||||
#undef TARGET_SOLARIS_COMMENT
|
||||
|
||||
/* Define if your locale.h file contains LC_MESSAGES. */
|
||||
#undef HAVE_LC_MESSAGES
|
||||
/* Target vendor. */
|
||||
#undef TARGET_VENDOR
|
||||
|
||||
/* Define to 1 if NLS is requested */
|
||||
#undef ENABLE_NLS
|
||||
/* Use emulation support? */
|
||||
#undef USE_EMULATIONS
|
||||
|
||||
/* Define as 1 if you have gettext and don't want to use GNU gettext. */
|
||||
#undef HAVE_GETTEXT
|
||||
/* Using cgen code? */
|
||||
#undef USING_CGEN
|
||||
|
||||
/* Compiling cross-assembler? */
|
||||
#undef CROSS_COMPILE
|
||||
/* Version number of package */
|
||||
#undef VERSION
|
||||
|
||||
/* assert broken? */
|
||||
#undef BROKEN_ASSERT
|
||||
/* Define if `lex' declares `yytext' as a `char *' by default, not a `char[]'.
|
||||
*/
|
||||
#undef YYTEXT_POINTER
|
||||
|
||||
/* Define if strstr is not declared in system header files. */
|
||||
#undef NEED_DECLARATION_STRSTR
|
||||
/* Define if you need to in order for stat and other things to work. */
|
||||
#undef _POSIX_SOURCE
|
||||
|
||||
/* Define if malloc is not declared in system header files. */
|
||||
#undef NEED_DECLARATION_MALLOC
|
||||
/* Define to empty if `const' does not conform to ANSI C. */
|
||||
#undef const
|
||||
|
||||
/* Define if free is not declared in system header files. */
|
||||
#undef NEED_DECLARATION_FREE
|
||||
/* Define as `__inline' if that's what the C compiler calls it, or to nothing
|
||||
if it is not supported. */
|
||||
#undef inline
|
||||
|
||||
/* Define if sbrk is not declared in system header files. */
|
||||
#undef NEED_DECLARATION_SBRK
|
||||
|
||||
/* Define if environ is not declared in system header files. */
|
||||
#undef NEED_DECLARATION_ENVIRON
|
||||
|
||||
/* Define if errno is not declared in system header files. */
|
||||
#undef NEED_DECLARATION_ERRNO
|
||||
/* Define to `long' if <sys/types.h> does not define. */
|
||||
#undef off_t
|
||||
|
||||
/* Define to `unsigned' if <sys/types.h> does not define. */
|
||||
#undef size_t
|
||||
|
@ -1107,7 +1107,17 @@ build_bytes (this_try, operand)
|
||||
*output_ptr++ = reg[c & 0xf];
|
||||
break;
|
||||
case CLASS_DISP:
|
||||
switch (c & ARG_MASK)
|
||||
{
|
||||
case ARG_DISP12:
|
||||
output_ptr = apply_fix (output_ptr, R_CALLR, da_operand, 4);
|
||||
break;
|
||||
case ARG_DISP16:
|
||||
output_ptr = apply_fix (output_ptr, R_REL16, da_operand, 4);
|
||||
break;
|
||||
default:
|
||||
output_ptr = apply_fix (output_ptr, R_IMM16, da_operand, 4);
|
||||
}
|
||||
da_operand = 0;
|
||||
break;
|
||||
|
||||
|
8708
gas/configure
vendored
8708
gas/configure
vendored
File diff suppressed because it is too large
Load Diff
@ -132,7 +132,31 @@ man_MANS = as.1
|
||||
|
||||
info_TEXINFOS = as.texinfo gasp.texi
|
||||
|
||||
CPU_DOCS = c-a29k.texi c-arc.texi c-arm.texi c-d10v.texi c-h8300.texi c-h8500.texi c-hppa.texi c-i370.texi c-i386.texi c-i860.texi c-i960.texi c-m32r.texi c-m68hc11.texi c-m68k.texi c-mips.texi c-ns32k.texi c-pdp11.texi c-pj.texi c-sh.texi c-sparc.texi c-tic54x.texi c-vax.texi c-v850.texi c-z8k.texi
|
||||
CPU_DOCS = \
|
||||
c-a29k.texi \
|
||||
c-arc.texi \
|
||||
c-arm.texi \
|
||||
c-d10v.texi \
|
||||
c-h8300.texi \
|
||||
c-h8500.texi \
|
||||
c-hppa.texi \
|
||||
c-i370.texi \
|
||||
c-i386.texi \
|
||||
c-i860.texi \
|
||||
c-i960.texi \
|
||||
c-m32r.texi \
|
||||
c-m68hc11.texi \
|
||||
c-m68k.texi \
|
||||
c-mips.texi \
|
||||
c-ns32k.texi \
|
||||
c-pdp11.texi \
|
||||
c-pj.texi \
|
||||
c-sh.texi \
|
||||
c-sparc.texi \
|
||||
c-tic54x.texi \
|
||||
c-vax.texi \
|
||||
c-v850.texi \
|
||||
c-z8k.texi
|
||||
|
||||
|
||||
# This one isn't ready for prime time yet. Not even a little bit.
|
||||
@ -340,7 +364,7 @@ distdir: $(DISTFILES)
|
||||
@for file in $(DISTFILES); do \
|
||||
if test -f $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
cp -pr $$/$$file $(distdir)/$$file; \
|
||||
cp -pr $$d/$$file $(distdir)/$$file; \
|
||||
else \
|
||||
test -f $(distdir)/$$file \
|
||||
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|
||||
|
964
gas/doc/as.1
964
gas/doc/as.1
File diff suppressed because it is too large
Load Diff
2879
gas/po/gas.pot
2879
gas/po/gas.pot
File diff suppressed because it is too large
Load Diff
@ -1,3 +1,14 @@
|
||||
2001-04-24 Christian Groessler <cpg@aladdin.de>
|
||||
|
||||
* z8k-dis.c: add names of control registers (ctrl_names);
|
||||
(seg_length): provides instruction length fixup for segmented
|
||||
mode; (unpack_instr): correctly handle ARG_DISP16, ARG_DISP12,
|
||||
CLASS_0DISP7, CLASS_1DISP7, CLASS_DISP8 and CLASS_PR cases;
|
||||
(unparse_intr): handle CLASS_PR, print addresses without '#'
|
||||
* z8k-opc.h: re-created with new z8kgen
|
||||
* z8kgen.c: merged in fixes which were in existing z8k-opc.h; new
|
||||
entries for ldctl/ldctlb instruction
|
||||
|
||||
2001-04-06 Andreas Jaeger <aj@suse.de>
|
||||
|
||||
* i386-dis.c: Add ffreep instruction.
|
||||
|
@ -374,7 +374,7 @@ acinclude.m4 aclocal.m4 config.in configure configure.in
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
TAR = tar
|
||||
TAR = gtar
|
||||
GZIP_ENV = --best
|
||||
SOURCES = libopcodes.a.c $(libopcodes_la_SOURCES)
|
||||
OBJECTS = libopcodes.a.$(OBJEXT) $(libopcodes_la_OBJECTS)
|
||||
|
@ -1,132 +1,135 @@
|
||||
/* config.in. Generated automatically from configure.in by autoheader. */
|
||||
|
||||
/* Define if using alloca.c. */
|
||||
#undef C_ALLOCA
|
||||
|
||||
/* Define to empty if the keyword does not work. */
|
||||
#undef const
|
||||
|
||||
/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems.
|
||||
This function is required for alloca.c support on those systems. */
|
||||
/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
|
||||
systems. This function is required for `alloca.c' support on those systems.
|
||||
*/
|
||||
#undef CRAY_STACKSEG_END
|
||||
|
||||
/* Define if you have alloca, as a function or macro. */
|
||||
#undef HAVE_ALLOCA
|
||||
|
||||
/* Define if you have <alloca.h> and it should be used (not on Ultrix). */
|
||||
#undef HAVE_ALLOCA_H
|
||||
|
||||
/* Define if you have a working `mmap' system call. */
|
||||
#undef HAVE_MMAP
|
||||
|
||||
/* Define as __inline if that's what the C compiler calls it. */
|
||||
#undef inline
|
||||
|
||||
/* Define to `long' if <sys/types.h> doesn't define. */
|
||||
#undef off_t
|
||||
|
||||
/* Define to `unsigned' if <sys/types.h> doesn't define. */
|
||||
#undef size_t
|
||||
|
||||
/* If using the C implementation of alloca, define if you know the
|
||||
direction of stack growth for your system; otherwise it will be
|
||||
automatically deduced at run-time.
|
||||
STACK_DIRECTION > 0 => grows toward higher addresses
|
||||
STACK_DIRECTION < 0 => grows toward lower addresses
|
||||
STACK_DIRECTION = 0 => direction of growth unknown
|
||||
*/
|
||||
#undef STACK_DIRECTION
|
||||
|
||||
/* Define if you have the ANSI C header files. */
|
||||
#undef STDC_HEADERS
|
||||
|
||||
/* Define if you have the __argz_count function. */
|
||||
#undef HAVE___ARGZ_COUNT
|
||||
|
||||
/* Define if you have the __argz_next function. */
|
||||
#undef HAVE___ARGZ_NEXT
|
||||
|
||||
/* Define if you have the __argz_stringify function. */
|
||||
#undef HAVE___ARGZ_STRINGIFY
|
||||
|
||||
/* Define if you have the dcgettext function. */
|
||||
#undef HAVE_DCGETTEXT
|
||||
|
||||
/* Define if you have the getcwd function. */
|
||||
#undef HAVE_GETCWD
|
||||
|
||||
/* Define if you have the getpagesize function. */
|
||||
#undef HAVE_GETPAGESIZE
|
||||
|
||||
/* Define if you have the munmap function. */
|
||||
#undef HAVE_MUNMAP
|
||||
|
||||
/* Define if you have the putenv function. */
|
||||
#undef HAVE_PUTENV
|
||||
|
||||
/* Define if you have the setenv function. */
|
||||
#undef HAVE_SETENV
|
||||
|
||||
/* Define if you have the setlocale function. */
|
||||
#undef HAVE_SETLOCALE
|
||||
|
||||
/* Define if you have the stpcpy function. */
|
||||
#undef HAVE_STPCPY
|
||||
|
||||
/* Define if you have the strcasecmp function. */
|
||||
#undef HAVE_STRCASECMP
|
||||
|
||||
/* Define if you have the strchr function. */
|
||||
#undef HAVE_STRCHR
|
||||
|
||||
/* Define if you have the <argz.h> header file. */
|
||||
#undef HAVE_ARGZ_H
|
||||
|
||||
/* Define if you have the <limits.h> header file. */
|
||||
#undef HAVE_LIMITS_H
|
||||
|
||||
/* Define if you have the <locale.h> header file. */
|
||||
#undef HAVE_LOCALE_H
|
||||
|
||||
/* Define if you have the <malloc.h> header file. */
|
||||
#undef HAVE_MALLOC_H
|
||||
|
||||
/* Define if you have the <nl_types.h> header file. */
|
||||
#undef HAVE_NL_TYPES_H
|
||||
|
||||
/* Define if you have the <stdlib.h> header file. */
|
||||
#undef HAVE_STDLIB_H
|
||||
|
||||
/* Define if you have the <string.h> header file. */
|
||||
#undef HAVE_STRING_H
|
||||
|
||||
/* Define if you have the <strings.h> header file. */
|
||||
#undef HAVE_STRINGS_H
|
||||
|
||||
/* Define if you have the <sys/param.h> header file. */
|
||||
#undef HAVE_SYS_PARAM_H
|
||||
|
||||
/* Define if you have the <unistd.h> header file. */
|
||||
#undef HAVE_UNISTD_H
|
||||
|
||||
/* Define if you have the <values.h> header file. */
|
||||
#undef HAVE_VALUES_H
|
||||
|
||||
/* Name of package */
|
||||
#undef PACKAGE
|
||||
|
||||
/* Version number of package */
|
||||
#undef VERSION
|
||||
|
||||
/* Define if you have the stpcpy function */
|
||||
#undef HAVE_STPCPY
|
||||
|
||||
/* Define if your locale.h file contains LC_MESSAGES. */
|
||||
#undef HAVE_LC_MESSAGES
|
||||
/* Define if using `alloca.c'. */
|
||||
#undef C_ALLOCA
|
||||
|
||||
/* Define to 1 if NLS is requested */
|
||||
#undef ENABLE_NLS
|
||||
|
||||
/* Define if you have `alloca', as a function or macro. */
|
||||
#undef HAVE_ALLOCA
|
||||
|
||||
/* Define if you have <alloca.h> and it should be used (not on Ultrix). */
|
||||
#undef HAVE_ALLOCA_H
|
||||
|
||||
/* Define if you have the <argz.h> header file. */
|
||||
#undef HAVE_ARGZ_H
|
||||
|
||||
/* Define if you have the `dcgettext' function. */
|
||||
#undef HAVE_DCGETTEXT
|
||||
|
||||
/* Define if you have the `getcwd' function. */
|
||||
#undef HAVE_GETCWD
|
||||
|
||||
/* Define if you have the `getpagesize' function. */
|
||||
#undef HAVE_GETPAGESIZE
|
||||
|
||||
/* Define as 1 if you have gettext and don't want to use GNU gettext. */
|
||||
#undef HAVE_GETTEXT
|
||||
|
||||
/* Define if you have the <inttypes.h> header file. */
|
||||
#undef HAVE_INTTYPES_H
|
||||
|
||||
/* Define if your locale.h file contains LC_MESSAGES. */
|
||||
#undef HAVE_LC_MESSAGES
|
||||
|
||||
/* Define if you have the <limits.h> header file. */
|
||||
#undef HAVE_LIMITS_H
|
||||
|
||||
/* Define if you have the <locale.h> header file. */
|
||||
#undef HAVE_LOCALE_H
|
||||
|
||||
/* Define if you have the <malloc.h> header file. */
|
||||
#undef HAVE_MALLOC_H
|
||||
|
||||
/* Define if you have the <memory.h> header file. */
|
||||
#undef HAVE_MEMORY_H
|
||||
|
||||
/* Define if you have a working `mmap' system call. */
|
||||
#undef HAVE_MMAP
|
||||
|
||||
/* Define if you have the `munmap' function. */
|
||||
#undef HAVE_MUNMAP
|
||||
|
||||
/* Define if you have the <nl_types.h> header file. */
|
||||
#undef HAVE_NL_TYPES_H
|
||||
|
||||
/* Define if you have the `putenv' function. */
|
||||
#undef HAVE_PUTENV
|
||||
|
||||
/* Define if you have the `setenv' function. */
|
||||
#undef HAVE_SETENV
|
||||
|
||||
/* Define if you have the `setlocale' function. */
|
||||
#undef HAVE_SETLOCALE
|
||||
|
||||
/* Define if you have the <stdlib.h> header file. */
|
||||
#undef HAVE_STDLIB_H
|
||||
|
||||
/* Define if you have the stpcpy function */
|
||||
#undef HAVE_STPCPY
|
||||
|
||||
/* Define if you have the `strcasecmp' function. */
|
||||
#undef HAVE_STRCASECMP
|
||||
|
||||
/* Define if you have the `strchr' function. */
|
||||
#undef HAVE_STRCHR
|
||||
|
||||
/* Define if you have the <strings.h> header file. */
|
||||
#undef HAVE_STRINGS_H
|
||||
|
||||
/* Define if you have the <string.h> header file. */
|
||||
#undef HAVE_STRING_H
|
||||
|
||||
/* Define if you have the <sys/param.h> header file. */
|
||||
#undef HAVE_SYS_PARAM_H
|
||||
|
||||
/* Define if you have the <unistd.h> header file. */
|
||||
#undef HAVE_UNISTD_H
|
||||
|
||||
/* Define if you have the <values.h> header file. */
|
||||
#undef HAVE_VALUES_H
|
||||
|
||||
/* Define if you have the `__argz_count' function. */
|
||||
#undef HAVE___ARGZ_COUNT
|
||||
|
||||
/* Define if you have the `__argz_next' function. */
|
||||
#undef HAVE___ARGZ_NEXT
|
||||
|
||||
/* Define if you have the `__argz_stringify' function. */
|
||||
#undef HAVE___ARGZ_STRINGIFY
|
||||
|
||||
/* Name of package */
|
||||
#undef PACKAGE
|
||||
|
||||
/* If using the C implementation of alloca, define if you know the
|
||||
direction of stack growth for your system; otherwise it will be
|
||||
automatically deduced at run-time.
|
||||
STACK_DIRECTION > 0 => grows toward higher addresses
|
||||
STACK_DIRECTION < 0 => grows toward lower addresses
|
||||
STACK_DIRECTION = 0 => direction of growth unknown */
|
||||
#undef STACK_DIRECTION
|
||||
|
||||
/* Define if you have the ANSI C header files. */
|
||||
#undef STDC_HEADERS
|
||||
|
||||
/* Version number of package */
|
||||
#undef VERSION
|
||||
|
||||
/* Define to empty if `const' does not conform to ANSI C. */
|
||||
#undef const
|
||||
|
||||
/* Define as `__inline' if that's what the C compiler calls it, or to nothing
|
||||
if it is not supported. */
|
||||
#undef inline
|
||||
|
||||
/* Define to `long' if <sys/types.h> does not define. */
|
||||
#undef off_t
|
||||
|
||||
/* Define to `unsigned' if <sys/types.h> does not define. */
|
||||
#undef size_t
|
||||
|
@ -1,13 +1,12 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright 1998, 1999, 2000 Free Software Foundation, Inc.
|
||||
# (C) YEAR
|
||||
# Copyright (C) YEAR Free Software Foundation, Inc.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: 2001-03-06 12:07-0800\n"
|
||||
"POT-Creation-Date: 2001-04-24 17:11+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -23,25 +22,21 @@ msgstr ""
|
||||
msgid "jump hint unaligned"
|
||||
msgstr ""
|
||||
|
||||
#: arc-dis.c:52
|
||||
msgid "Illegal limm reference in last instruction!\n"
|
||||
msgstr ""
|
||||
|
||||
#: arm-dis.c:489
|
||||
#: arm-dis.c:490
|
||||
msgid "<illegal precision>"
|
||||
msgstr ""
|
||||
|
||||
#: arm-dis.c:904
|
||||
#: arm-dis.c:922
|
||||
#, c-format
|
||||
msgid "Unrecognised register name set: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: arm-dis.c:911
|
||||
#: arm-dis.c:929
|
||||
#, c-format
|
||||
msgid "Unrecognised disassembler option: %s\n"
|
||||
msgstr ""
|
||||
|
||||
#: arm-dis.c:1083
|
||||
#: arm-dis.c:1101
|
||||
msgid ""
|
||||
"\n"
|
||||
"The following ARM specific disassembler options are supported for use with\n"
|
||||
@ -81,12 +76,12 @@ msgid "<unknown register %d>"
|
||||
msgstr ""
|
||||
|
||||
#. Can't happen.
|
||||
#: dis-buf.c:56
|
||||
#: dis-buf.c:57
|
||||
#, c-format
|
||||
msgid "Unknown error %d\n"
|
||||
msgstr ""
|
||||
|
||||
#: dis-buf.c:61
|
||||
#: dis-buf.c:62
|
||||
#, c-format
|
||||
msgid "Address 0x%x is out of bounds.\n"
|
||||
msgstr ""
|
||||
@ -126,11 +121,6 @@ msgstr ""
|
||||
msgid "bad instruction `%.50s'"
|
||||
msgstr ""
|
||||
|
||||
#. Default text to print if an instruction isn't recognized.
|
||||
#: fr30-dis.c:39 m32r-dis.c:39
|
||||
msgid "*unknown*"
|
||||
msgstr ""
|
||||
|
||||
#: fr30-dis.c:300 m32r-dis.c:239
|
||||
#, c-format
|
||||
msgid "Unrecognized field %d while printing insn.\n"
|
||||
@ -192,10 +182,6 @@ msgstr ""
|
||||
msgid "%02x\t\t*unknown*"
|
||||
msgstr ""
|
||||
|
||||
#: i386-dis.c:2742
|
||||
msgid "<internal disassembler error>"
|
||||
msgstr ""
|
||||
|
||||
#: m10200-dis.c:199
|
||||
#, c-format
|
||||
msgid "unknown\t0x%02x"
|
||||
@ -211,12 +197,12 @@ msgstr ""
|
||||
msgid "unknown\t0x%04x"
|
||||
msgstr ""
|
||||
|
||||
#: m68k-dis.c:429
|
||||
#: m68k-dis.c:430
|
||||
#, c-format
|
||||
msgid "<internal error in opcode table: %s %s>\n"
|
||||
msgstr ""
|
||||
|
||||
#: m68k-dis.c:1007
|
||||
#: m68k-dis.c:1008
|
||||
#, c-format
|
||||
msgid "<function code %d>"
|
||||
msgstr ""
|
||||
@ -226,7 +212,7 @@ msgstr ""
|
||||
msgid "# <dis error: %08x>"
|
||||
msgstr ""
|
||||
|
||||
#: mips-dis.c:273
|
||||
#: mips-dis.c:274
|
||||
#, c-format
|
||||
msgid "# internal error, undefined modifier(%c)"
|
||||
msgstr ""
|
||||
@ -237,54 +223,54 @@ msgstr ""
|
||||
#. * aoffsetp by since whatever generated this is broken
|
||||
#. * anyway!
|
||||
#.
|
||||
#: ns32k-dis.c:618
|
||||
#: ns32k-dis.c:619
|
||||
msgid "$<undefined>"
|
||||
msgstr ""
|
||||
|
||||
#: ppc-opc.c:619 ppc-opc.c:650
|
||||
#: ppc-opc.c:620 ppc-opc.c:651
|
||||
msgid "invalid conditional option"
|
||||
msgstr ""
|
||||
|
||||
#: ppc-opc.c:652
|
||||
#: ppc-opc.c:653
|
||||
msgid "attempt to set y bit when using + or - modifier"
|
||||
msgstr ""
|
||||
|
||||
#: ppc-opc.c:707
|
||||
#: ppc-opc.c:708
|
||||
msgid "ignoring least significant bits in branch offset"
|
||||
msgstr ""
|
||||
|
||||
#: ppc-opc.c:742 ppc-opc.c:779
|
||||
#: ppc-opc.c:743 ppc-opc.c:780
|
||||
msgid "illegal bitmask"
|
||||
msgstr ""
|
||||
|
||||
#: ppc-opc.c:848
|
||||
#: ppc-opc.c:849
|
||||
msgid "value out of range"
|
||||
msgstr ""
|
||||
|
||||
#: ppc-opc.c:922
|
||||
#: ppc-opc.c:923
|
||||
msgid "index register in load range"
|
||||
msgstr ""
|
||||
|
||||
#: ppc-opc.c:937
|
||||
#: ppc-opc.c:938
|
||||
msgid "invalid register operand when updating"
|
||||
msgstr ""
|
||||
|
||||
#. Mark as non-valid instruction
|
||||
#: sparc-dis.c:748
|
||||
#: sparc-dis.c:749
|
||||
msgid "unknown"
|
||||
msgstr ""
|
||||
|
||||
#: sparc-dis.c:823
|
||||
#: sparc-dis.c:824
|
||||
#, c-format
|
||||
msgid "Internal error: bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"
|
||||
msgstr ""
|
||||
|
||||
#: sparc-dis.c:834
|
||||
#: sparc-dis.c:835
|
||||
#, c-format
|
||||
msgid "Internal error: bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"
|
||||
msgstr ""
|
||||
|
||||
#: sparc-dis.c:883
|
||||
#: sparc-dis.c:884
|
||||
#, c-format
|
||||
msgid "Internal error: bad sparc-opcode.h: \"%s\" == \"%s\"\n"
|
||||
msgstr ""
|
||||
|
@ -125,11 +125,24 @@ static char *codes[16] =
|
||||
"nc/uge"
|
||||
};
|
||||
|
||||
static char *ctrl_names[8] =
|
||||
{
|
||||
"<invld>",
|
||||
"flags",
|
||||
"fcw",
|
||||
"refresh",
|
||||
"psapseg",
|
||||
"psapoff",
|
||||
"nspseg",
|
||||
"nspoff"
|
||||
};
|
||||
|
||||
static int seg_length;
|
||||
int z8k_lookup_instr PARAMS ((unsigned char *, disassemble_info *));
|
||||
static void output_instr
|
||||
PARAMS ((instr_data_s *, unsigned long, disassemble_info *));
|
||||
static void unpack_instr PARAMS ((instr_data_s *, int, disassemble_info *));
|
||||
static void unparse_instr PARAMS ((instr_data_s *));
|
||||
static void unparse_instr PARAMS ((instr_data_s *,int));
|
||||
|
||||
static int
|
||||
print_insn_z8k (addr, info, is_segmented)
|
||||
@ -150,9 +163,9 @@ print_insn_z8k (addr, info, is_segmented)
|
||||
if (instr_data.tabl_index > 0)
|
||||
{
|
||||
unpack_instr (&instr_data, is_segmented, info);
|
||||
unparse_instr (&instr_data);
|
||||
unparse_instr (&instr_data, is_segmented);
|
||||
output_instr (&instr_data, addr, info);
|
||||
return z8k_table[instr_data.tabl_index].length;
|
||||
return z8k_table[instr_data.tabl_index].length + seg_length;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -275,7 +288,7 @@ output_instr (instr_data, addr, info)
|
||||
|
||||
strcpy (out_str, "\t");
|
||||
|
||||
loop_limit = z8k_table[instr_data->tabl_index].length * 2;
|
||||
loop_limit = (z8k_table[instr_data->tabl_index].length + seg_length) * 2;
|
||||
FETCH_DATA (info, loop_limit);
|
||||
for (loop = 0; loop < loop_limit; loop++)
|
||||
{
|
||||
@ -302,16 +315,18 @@ unpack_instr (instr_data, is_segmented, info)
|
||||
int nibl_count, loop;
|
||||
unsigned short instr_nibl, instr_byte, instr_word;
|
||||
long instr_long;
|
||||
unsigned short tabl_datum, datum_class, datum_value;
|
||||
unsigned int tabl_datum, datum_class;
|
||||
unsigned short datum_value;
|
||||
|
||||
nibl_count = 0;
|
||||
loop = 0;
|
||||
seg_length = 0;
|
||||
while (z8k_table[instr_data->tabl_index].byte_info[loop] != 0)
|
||||
{
|
||||
FETCH_DATA (info, nibl_count + 4 - (nibl_count % 4));
|
||||
instr_nibl = instr_data->nibbles[nibl_count];
|
||||
instr_byte = instr_data->bytes[nibl_count];
|
||||
instr_word = instr_data->words[nibl_count];
|
||||
instr_byte = instr_data->bytes[nibl_count&~1];
|
||||
instr_word = instr_data->words[nibl_count&~3];
|
||||
|
||||
tabl_datum = z8k_table[instr_data->tabl_index].byte_info[loop];
|
||||
datum_class = tabl_datum & CLASS_MASK;
|
||||
@ -332,11 +347,18 @@ unpack_instr (instr_data, is_segmented, info)
|
||||
switch (datum_value)
|
||||
{
|
||||
case ARG_DISP16:
|
||||
instr_data->displacement = instr_word;
|
||||
instr_data->displacement = instr_data->insn_start + 4 +
|
||||
(signed short)(instr_word & 0xffff);
|
||||
nibl_count += 3;
|
||||
break;
|
||||
case ARG_DISP12:
|
||||
instr_data->displacement = instr_word & 0x0fff;
|
||||
if (instr_word & 0x800) { /* neg. 12 bit displacement */
|
||||
instr_data->displacement = instr_data->insn_start + 2 -
|
||||
(signed short)((instr_word & 0xfff) | 0xf000) * 2;
|
||||
}
|
||||
else {
|
||||
instr_data->displacement = instr_data->insn_start + 2 - (instr_word & 0x0fff) * 2;
|
||||
}
|
||||
nibl_count += 2;
|
||||
break;
|
||||
default:
|
||||
@ -390,9 +412,11 @@ unpack_instr (instr_data, is_segmented, info)
|
||||
case CLASS_CC:
|
||||
instr_data->cond_code = instr_nibl;
|
||||
break;
|
||||
#if 0
|
||||
case CLASS_CTRL:
|
||||
instr_data->ctrl_code = instr_nibl;
|
||||
break;
|
||||
#endif
|
||||
case CLASS_DA:
|
||||
case CLASS_ADDRESS:
|
||||
if (is_segmented)
|
||||
@ -405,6 +429,7 @@ unpack_instr (instr_data, is_segmented, info)
|
||||
instr_data->address = ((instr_word & 0x7f00) << 8) +
|
||||
(instr_long & 0xffff);
|
||||
nibl_count += 7;
|
||||
seg_length = 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -420,17 +445,15 @@ unpack_instr (instr_data, is_segmented, info)
|
||||
}
|
||||
break;
|
||||
case CLASS_0CCC:
|
||||
instr_data->cond_code = instr_nibl & 0x7;
|
||||
break;
|
||||
case CLASS_1CCC:
|
||||
instr_data->cond_code = instr_nibl & 0x7;
|
||||
instr_data->ctrl_code = instr_nibl & 0x7;
|
||||
break;
|
||||
case CLASS_0DISP7:
|
||||
instr_data->displacement = instr_byte & 0x7f;
|
||||
instr_data->displacement = instr_data->insn_start + 2 - (instr_byte & 0x7f) * 2;
|
||||
nibl_count += 1;
|
||||
break;
|
||||
case CLASS_1DISP7:
|
||||
instr_data->displacement = instr_byte & 0x7f;
|
||||
instr_data->displacement = instr_data->insn_start + 2 - (instr_byte & 0x7f) * 2;
|
||||
nibl_count += 1;
|
||||
break;
|
||||
case CLASS_01II:
|
||||
@ -440,7 +463,7 @@ unpack_instr (instr_data, is_segmented, info)
|
||||
instr_data->interrupts = instr_nibl & 0x3;
|
||||
break;
|
||||
case CLASS_BIT:
|
||||
/* Do nothing. */
|
||||
instr_data->ctrl_code = instr_nibl & 0x7;
|
||||
break;
|
||||
case CLASS_IR:
|
||||
instr_data->arg_reg[datum_value] = instr_nibl;
|
||||
@ -466,6 +489,13 @@ unpack_instr (instr_data, is_segmented, info)
|
||||
case CLASS_REGN0:
|
||||
instr_data->arg_reg[datum_value] = instr_nibl;
|
||||
break;
|
||||
case CLASS_PR:
|
||||
instr_data->arg_reg[datum_value] = instr_nibl;
|
||||
break;
|
||||
case CLASS_DISP8:
|
||||
instr_data->displacement = instr_data->insn_start + 2 + (signed char)instr_byte * 2;
|
||||
nibl_count += 1;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@ -476,10 +506,12 @@ unpack_instr (instr_data, is_segmented, info)
|
||||
}
|
||||
|
||||
static void
|
||||
unparse_instr (instr_data)
|
||||
unparse_instr (instr_data,is_segmented)
|
||||
instr_data_s *instr_data;
|
||||
int is_segmented;
|
||||
{
|
||||
unsigned short tabl_datum, datum_class, datum_value;
|
||||
unsigned short datum_value;
|
||||
unsigned int tabl_datum, datum_class;
|
||||
int loop, loop_limit;
|
||||
char out_str[80], tmp_str[25];
|
||||
|
||||
@ -513,7 +545,7 @@ unparse_instr (instr_data)
|
||||
strcat (out_str, tmp_str);
|
||||
break;
|
||||
case CLASS_DISP:
|
||||
sprintf (tmp_str, "#0x%0lx", instr_data->displacement);
|
||||
sprintf (tmp_str, "0x%0lx", instr_data->displacement);
|
||||
strcat (out_str, tmp_str);
|
||||
break;
|
||||
case CLASS_IMM:
|
||||
@ -525,12 +557,12 @@ unparse_instr (instr_data)
|
||||
strcat (out_str, tmp_str);
|
||||
break;
|
||||
case CLASS_CTRL:
|
||||
sprintf (tmp_str, "0x%0lx", instr_data->ctrl_code);
|
||||
sprintf (tmp_str, "%s", ctrl_names[instr_data->ctrl_code]);
|
||||
strcat (out_str, tmp_str);
|
||||
break;
|
||||
case CLASS_DA:
|
||||
case CLASS_ADDRESS:
|
||||
sprintf (tmp_str, "#0x%0lx", instr_data->address);
|
||||
sprintf (tmp_str, "0x%0lx", instr_data->address);
|
||||
strcat (out_str, tmp_str);
|
||||
break;
|
||||
case CLASS_IR:
|
||||
@ -565,6 +597,13 @@ unparse_instr (instr_data)
|
||||
sprintf (tmp_str, "rr%ld", instr_data->arg_reg[datum_value]);
|
||||
strcat (out_str, tmp_str);
|
||||
break;
|
||||
case CLASS_PR:
|
||||
if (is_segmented)
|
||||
sprintf (tmp_str, "rr%ld", instr_data->arg_reg[datum_value]);
|
||||
else
|
||||
sprintf (tmp_str, "r%ld", instr_data->arg_reg[datum_value]);
|
||||
strcat (out_str, tmp_str);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -52,9 +52,9 @@ struct op opt[] =
|
||||
"------", 10, 8, "1011 1001 imm8", "rsvdb9", 0,
|
||||
"------", 10, 8, "1011 1111 imm8", "rsvdbf", 0,
|
||||
|
||||
"---V--", 11, 16, "1011 1011 ssN0 1001 0000 rrrr ddN0 1000", "ldd @rs,@rd,rr", 0,
|
||||
"---V--", 11, 16, "1011 1011 ssN0 1001 0000 rrrr ddN0 0000", "lddr @rs,@rd,rr", 0,
|
||||
"---V--", 11, 8, "1011 1011 ssN0 1001 0000 rrrr ddN0 0000", "lddrb @rs,@rd,rr", 0,
|
||||
"---V--", 11, 16, "1011 1011 ssN0 1001 0000 rrrr ddN0 1000", "ldd @rd,@rs,rr", 0,
|
||||
"---V--", 11, 16, "1011 1011 ssN0 1001 0000 rrrr ddN0 0000", "lddr @rd,@rs,rr", 0,
|
||||
"---V--", 11, 8, "1011 1010 ssN0 1001 0000 rrrr ddN0 0000", "lddrb @rd,@rs,rr", 0,
|
||||
"---V--", 11, 16, "1011 1011 ssN0 0001 0000 rrrr ddN0 0000", "ldir @rd,@rs,rr", 0,
|
||||
"CZSV--", 11, 16, "1011 1011 ssN0 0000 0000 rrrr dddd cccc", "cpi rd,@rs,rr,cc", 0,
|
||||
"CZSV--", 11, 16, "1011 1011 ssN0 0100 0000 rrrr dddd cccc", "cpir rd,@rs,rr,cc", 0,
|
||||
@ -62,7 +62,7 @@ struct op opt[] =
|
||||
"---V--", 11, 16, "1011 1011 ssN0 0001 0000 rrrr ddN0 1000", "ldi @rd,@rs,rr", 0,
|
||||
"CZSV--", 11, 16, "1011 1011 ssN0 1000 0000 rrrr dddd cccc", "cpd rd,@rs,rr,cc", 0,
|
||||
"---V--", 11, 8, "1011 1010 ssN0 0001 0000 rrrr ddN0 0000", "ldirb @rd,@rs,rr", 0,
|
||||
"---V--", 11, 8, "1011 1010 ssN0 1001 0000 rrrr ddN0 1000", "lddb @rs,@rd,rr", 0,
|
||||
"---V--", 11, 8, "1011 1010 ssN0 1001 0000 rrrr ddN0 1000", "lddb @rd,@rs,rr", 0,
|
||||
"---V--", 11, 8, "1011 1010 ssN0 0001 0000 rrrr ddN0 1000", "ldib @rd,@rs,rr", 0,
|
||||
"CZSV--", 11, 8, "1011 1010 ssN0 1000 0000 rrrr dddd cccc", "cpdb rbd,@rs,rr,cc", 0,
|
||||
"CZSV--", 11, 8, "1011 1010 ssN0 1100 0000 rrrr dddd cccc", "cpdrb rbd,@rs,rr,cc", 0,
|
||||
@ -140,7 +140,7 @@ struct op opt[] =
|
||||
"-ZSP--", 15, 8, "0100 1100 0000 0000 address_dst", "comb address_dst", 0,
|
||||
"-ZSP--", 16, 8, "0100 1100 ddN0 0000 address_dst", "comb address_dst(rd)", 0,
|
||||
"-ZSP--", 7, 8, "1000 1100 dddd 0000", "comb rbd", 0,
|
||||
"CZSP--", 7, 16, "1000 1101 imm4 0101", "comflg flags", 0,
|
||||
"CZSP--", 7, 16, "1000 1101 flags 0101", "comflg flags", 0,
|
||||
|
||||
"CZSV--", 11, 16, "0000 1101 ddN0 0001 imm16", "cp @rd,imm16", 0,
|
||||
"CZSV--", 15, 16, "0100 1101 ddN0 0001 address_dst imm16", "cp address_dst(rd),imm16", 0,
|
||||
@ -168,7 +168,7 @@ struct op opt[] =
|
||||
"CZSV--", 8, 32, "1001 0000 ssss dddd", "cpl rrd,rrs", 0,
|
||||
|
||||
"CZS---", 5, 8, "1011 0000 dddd 0000", "dab rbd", 0,
|
||||
"------", 11, 16, "1111 dddd 1disp7", "dbjnz rbd,disp7", 0,
|
||||
"------", 11, 16, "1111 dddd 0disp7", "dbjnz rbd,disp7", 0,
|
||||
"-ZSV--", 11, 16, "0010 1011 ddN0 imm4m1", "dec @rd,imm4m1", 0,
|
||||
"-ZSV--", 14, 16, "0110 1011 ddN0 imm4m1 address_dst", "dec address_dst(rd),imm4m1", 0,
|
||||
"-ZSV--", 13, 16, "0110 1011 0000 imm4m1 address_dst", "dec address_dst,imm4m1", 0,
|
||||
@ -190,7 +190,7 @@ struct op opt[] =
|
||||
"CZSV--", 744, 32, "0001 1010 0000 dddd imm32", "divl rqd,imm32", 0,
|
||||
"CZSV--", 744, 32, "1001 1010 ssss dddd", "divl rqd,rrs", 0,
|
||||
|
||||
"------", 11, 16, "1111 dddd 0disp7", "djnz rd,disp7", 0,
|
||||
"------", 11, 16, "1111 dddd 1disp7", "djnz rd,disp7", 0,
|
||||
"------", 7, 16, "0111 1100 0000 01ii", "ei i2", 0,
|
||||
"------", 6, 16, "1010 1101 ssss dddd", "ex rd,rs", 0,
|
||||
"------", 12, 16, "0010 1101 ssN0 dddd", "ex rd,@rs", 0,
|
||||
@ -210,7 +210,7 @@ struct op opt[] =
|
||||
"------", 10, 16, "0011 1101 ssN0 dddd", "in rd,@rs", 0,
|
||||
"------", 12, 16, "0011 1101 dddd 0100 imm16", "in rd,imm16", 0,
|
||||
"------", 12, 8, "0011 1100 ssN0 dddd", "inb rbd,@rs", 0,
|
||||
"------", 10, 8, "0011 1100 dddd 0100 imm16", "inb rbd,imm16", 0,
|
||||
"------", 10, 8, "0011 1010 dddd 0100 imm16", "inb rbd,imm16", 0,
|
||||
"-ZSV--", 11, 16, "0010 1001 ddN0 imm4m1", "inc @rd,imm4m1", 0,
|
||||
"-ZSV--", 14, 16, "0110 1001 ddN0 imm4m1 address_dst", "inc address_dst(rd),imm4m1", 0,
|
||||
"-ZSV--", 13, 16, "0110 1001 0000 imm4m1 address_dst", "inc address_dst,imm4m1", 0,
|
||||
@ -221,8 +221,8 @@ struct op opt[] =
|
||||
"-ZSV--", 4, 8, "1010 1000 dddd imm4m1", "incb rbd,imm4m1", 0,
|
||||
"---V--", 21, 16, "0011 1011 ssN0 1000 0000 aaaa ddN0 1000", "ind @rd,@rs,ra", 0,
|
||||
"---V--", 21, 8, "0011 1010 ssN0 1000 0000 aaaa ddN0 1000", "indb @rd,@rs,rba", 0,
|
||||
"---V--", 21, 8, "0011 1100 ssN0 0000 0000 aaaa ddN0 1000", "inib @rd,@rs,ra", 0,
|
||||
"---V--", 21, 16, "0011 1100 ssN0 0000 0000 aaaa ddN0 0000", "inibr @rd,@rs,ra", 0,
|
||||
"---V--", 21, 8, "0011 1010 ssN0 0000 0000 aaaa ddN0 1000", "inib @rd,@rs,ra", 0,
|
||||
"---V--", 21, 16, "0011 1010 ssN0 0000 0000 aaaa ddN0 0000", "inibr @rd,@rs,ra", 0,
|
||||
"CZSVDH", 13, 16, "0111 1011 0000 0000", "iret", 0,
|
||||
"------", 10, 16, "0001 1110 ddN0 cccc", "jp cc,@rd", 0,
|
||||
"------", 7, 16, "0101 1110 0000 cccc address_dst", "jp cc,address_dst", 0,
|
||||
@ -248,7 +248,7 @@ struct op opt[] =
|
||||
"------", 7, 8, "0000 1100 ddN0 0101 imm8 imm8", "ldb @rd,imm8", 0,
|
||||
"------", 8, 8, "0010 1110 ddN0 ssss", "ldb @rd,rbs", 0,
|
||||
"------", 15, 8, "0100 1100 ddN0 0101 address_dst imm8 imm8", "ldb address_dst(rd),imm8", 0,
|
||||
"------", 12, 8, "0100 1110 ddN0 ssN0 address_dst", "ldb address_dst(rd),rbs", 0,
|
||||
"------", 12, 8, "0110 1110 ddN0 ssss address_dst", "ldb address_dst(rd),rbs", 0,
|
||||
"------", 14, 8, "0100 1100 0000 0101 address_dst imm8 imm8", "ldb address_dst,imm8", 0,
|
||||
"------", 11, 8, "0110 1110 0000 ssss address_dst", "ldb address_dst,rbs", 0,
|
||||
"------", 14, 8, "0011 0010 ddN0 ssss imm16", "ldb rd(imm16),rbs", 0,
|
||||
@ -285,7 +285,7 @@ struct op opt[] =
|
||||
"------", 5, 16, "1011 1101 dddd imm4", "ldk rd,imm4", 0,
|
||||
|
||||
"------", 11, 16, "0001 1100 ddN0 1001 0000 ssss 0000 nminus1", "ldm @rd,rs,n", 0,
|
||||
"------", 15, 16, "0101 1100 ddN0 1001 0000 ssN0 0000 nminus1 address_dst", "ldm address_dst(rd),rs,n", 0,
|
||||
"------", 15, 16, "0101 1100 ddN0 1001 0000 ssss 0000 nminus1 address_dst", "ldm address_dst(rd),rs,n", 0,
|
||||
"------", 14, 16, "0101 1100 0000 1001 0000 ssss 0000 nminus1 address_dst", "ldm address_dst,rs,n", 0,
|
||||
"------", 11, 16, "0001 1100 ssN0 0001 0000 dddd 0000 nminus1", "ldm rd,@rs,n", 0,
|
||||
"------", 15, 16, "0101 1100 ssN0 0001 0000 dddd 0000 nminus1 address_src", "ldm rd,address_src(rs),n", 0,
|
||||
@ -345,9 +345,10 @@ struct op opt[] =
|
||||
"---V--", 0, 8, "0011 1110 ddN0 ssss", "outb @rd,rbs", 0,
|
||||
"---V--", 0, 8, "0011 1010 ssss 0110 imm16", "outb imm16,rbs", 0,
|
||||
"---V--", 0, 16, "0011 1011 ssN0 1010 0000 aaaa ddN0 1000", "outd @rd,@rs,ra", 0,
|
||||
"---V--", 0, 8, "0011 1010 ssN0 1010 0000 aaaa ddN0 1000", "outdb @rd,@rs,rba", 0,
|
||||
"---V--", 0, 8, "0011 1100 ssN0 0010 0000 aaaa ddN0 1000", "outib @rd,@rs,ra", 0,
|
||||
"---V--", 0, 16, "0011 1100 ssN0 0010 0000 aaaa ddN0 0000", "outibr @rd,@rs,ra", 0,
|
||||
"---V--", 0, 16, "0011 1010 ssN0 1010 0000 aaaa ddN0 1000", "outdb @rd,@rs,rba", 0,
|
||||
"---V--", 0, 16, "0011 1011 ssN0 0010 0000 aaaa ddN0 1000", "outi @rd,@rs,ra", 0,
|
||||
"---V--", 0, 16, "0011 1010 ssN0 0010 0000 aaaa ddN0 1000", "outib @rd,@rs,ra", 0,
|
||||
"---V--", 0, 16, "0011 1010 ssN0 0010 0000 aaaa ddN0 0000", "outibr @rd,@rs,ra", 0,
|
||||
|
||||
"------", 12, 16, "0001 0111 ssN0 ddN0", "pop @rd,@rs", 0,
|
||||
"------", 16, 16, "0101 0111 ssN0 ddN0 address_dst", "pop address_dst(rd),@rs", 0,
|
||||
@ -382,7 +383,7 @@ struct op opt[] =
|
||||
"------", 4, 8, "1010 0010 dddd imm4", "resb rbd,imm4", 0,
|
||||
"------", 10, 8, "0010 0010 0000 ssss 0000 dddd 0000 0000", "resb rbd,rs", 0,
|
||||
|
||||
"CZSV--", 7, 16, "1000 1101 imm4 0011", "resflg imm4", 0,
|
||||
"CZSV--", 7, 16, "1000 1101 flags 0011", "resflg flags", 0,
|
||||
"------", 10, 16, "1001 1110 0000 cccc", "ret cc", 0,
|
||||
|
||||
"CZSV--", 6, 16, "1011 0011 dddd 00I0", "rl rd,imm1or2", 0,
|
||||
@ -422,14 +423,14 @@ struct op opt[] =
|
||||
"------", 4, 8, "1010 0100 dddd imm4", "setb rbd,imm4", 0,
|
||||
"------", 10, 8, "0010 0100 0000 ssss 0000 dddd 0000 0000", "setb rbd,rs", 0,
|
||||
|
||||
"CZSV--", 7, 16, "1000 1101 imm4 0001", "setflg imm4", 0,
|
||||
"CZSV--", 7, 16, "1000 1101 flags 0001", "setflg flags", 0,
|
||||
|
||||
"------", 0, 8, "0011 1100 dddd 0101 imm16", "sinb rbd,imm16", 0,
|
||||
"------", 0, 8, "0011 1101 dddd 0101 imm16", "sinb rd,imm16", 0,
|
||||
"------", 0, 8, "0011 1010 dddd 0101 imm16", "sinb rbd,imm16", 0,
|
||||
"------", 0, 8, "0011 1011 dddd 0101 imm16", "sin rd,imm16", 0,
|
||||
"------", 0, 16, "0011 1011 ssN0 1000 0001 aaaa ddN0 1000", "sind @rd,@rs,ra", 0,
|
||||
"------", 0, 8, "0011 1010 ssN0 1000 0001 aaaa ddN0 1000", "sindb @rd,@rs,rba", 0,
|
||||
"------", 0, 8, "0011 1100 ssN0 0001 0000 aaaa ddN0 1000", "sinib @rd,@rs,ra", 0,
|
||||
"------", 0, 16, "0011 1100 ssN0 0001 0000 aaaa ddN0 0000", "sinibr @rd,@rs,ra", 0,
|
||||
"------", 0, 8, "0011 1010 ssN0 0001 0000 aaaa ddN0 1000", "sinib @rd,@rs,ra", 0,
|
||||
"------", 0, 16, "0011 1010 ssN0 0001 0000 aaaa ddN0 0000", "sinibr @rd,@rs,ra", 0,
|
||||
|
||||
"CZSV--", 13, 16, "1011 0011 dddd 1001 0000 0000 imm8", "sla rd,imm8", 0,
|
||||
"CZSV--", 13, 8, "1011 0010 dddd 1001 0000 0000 imm8", "slab rbd,imm8", 0,
|
||||
@ -443,21 +444,21 @@ struct op opt[] =
|
||||
"------", 0, 8, "0011 1010 ssss 0111 imm16", "soutb imm16,rbs", 0,
|
||||
"------", 0, 16, "0011 1011 ssN0 1011 0000 aaaa ddN0 1000", "soutd @rd,@rs,ra", 0,
|
||||
"------", 0, 8, "0011 1010 ssN0 1011 0000 aaaa ddN0 1000", "soutdb @rd,@rs,rba", 0,
|
||||
"------", 0, 8, "0011 1100 ssN0 0011 0000 aaaa ddN0 1000", "soutib @rd,@rs,ra", 0,
|
||||
"------", 0, 16, "0011 1100 ssN0 0011 0000 aaaa ddN0 0000", "soutibr @rd,@rs,ra", 0,
|
||||
"------", 0, 8, "0011 1010 ssN0 0011 0000 aaaa ddN0 1000", "soutib @rd,@rs,ra", 0,
|
||||
"------", 0, 16, "0011 1010 ssN0 0011 0000 aaaa ddN0 0000", "soutibr @rd,@rs,ra", 0,
|
||||
|
||||
"CZSV--", 13, 16, "1011 0011 dddd 1001 1111 1111 nim8", "sra rd,imm8", 0,
|
||||
"CZSV--", 13, 8, "1011 0010 dddd 1001 1111 1111 nim8", "srab rbd,imm8", 0,
|
||||
"CZSV--", 13, 8, "1011 0010 dddd 1001 0000 0000 nim8", "srab rbd,imm8", 0,
|
||||
"CZSV--", 13, 32, "1011 0011 dddd 1101 1111 1111 nim8", "sral rrd,imm8", 0,
|
||||
|
||||
"CZSV--", 13, 16, "1011 0011 dddd 0001 1111 1111 nim8", "srl rd,imm8", 0,
|
||||
"CZSV--", 13, 8, "1011 0010 dddd 0001 1111 1111 nim8", "srlb rbd,imm8", 0,
|
||||
"CZSV--", 13, 8, "1011 0010 dddd 0001 0000 0000 nim8", "srlb rbd,imm8", 0,
|
||||
"CZSV--", 13, 32, "1011 0011 dddd 0101 1111 1111 nim8", "srll rrd,imm8", 0,
|
||||
|
||||
"CZSV--", 7, 16, "0000 0011 ssN0 dddd", "sub rd,@rs", 0,
|
||||
"CZSV--", 9, 16, "0100 0011 0000 dddd address_src", "sub rd,address_src", 0,
|
||||
"CZSV--", 10, 16, "0100 0011 ssN0 dddd address_src", "sub rd,address_src(rs)", 0,
|
||||
"CZSV--", 7, 16, "0000 0010 0000 dddd imm16", "sub rd,imm16", 0,
|
||||
"CZSV--", 7, 16, "0000 0011 0000 dddd imm16", "sub rd,imm16", 0,
|
||||
"CZSV--", 4, 16, "1000 0011 ssss dddd", "sub rd,rs", 0,
|
||||
|
||||
"CZSVDH", 7, 8, "0000 0010 ssN0 dddd", "subb rbd,@rs", 0,
|
||||
@ -494,8 +495,9 @@ struct op opt[] =
|
||||
"-ZSV--", 25, 8, "1011 1000 ddN0 1100 0000 aaaa ssN0 0000", "trdrb @rd,@rs,rba", 0,
|
||||
"-ZSV--", 25, 8, "1011 1000 ddN0 0000 0000 rrrr ssN0 0000", "trib @rd,@rs,rbr", 0,
|
||||
"-ZSV--", 25, 8, "1011 1000 ddN0 0100 0000 rrrr ssN0 0000", "trirb @rd,@rs,rbr", 0,
|
||||
"-ZSV--", 25, 8, "1011 1000 aaN0 1010 0000 rrrr bbN0 0000", "trtdb @ra,@rb,rbr", 0,
|
||||
"-ZSV--", 25, 8, "1011 1000 aaN0 1110 0000 rrrr bbN0 1110", "trtdrb @ra,@rb,rbr", 0,
|
||||
"-ZSV--", 25, 8, "1011 1000 aaN0 0010 0000 rrrr bbN0 0000", "trtib @ra,@rb,rr", 0,
|
||||
"-ZSV--", 25, 8, "1011 1000 aaN0 0010 0000 rrrr bbN0 0000", "trtib @ra,@rb,rbr", 0,
|
||||
"-ZSV--", 25, 8, "1011 1000 aaN0 0110 0000 rrrr bbN0 1110", "trtirb @ra,@rb,rbr", 0,
|
||||
"-ZSV--", 25, 8, "1011 1000 aaN0 1010 0000 rrrr bbN0 0000", "trtrb @ra,@rb,rbr", 0,
|
||||
|
||||
@ -520,6 +522,10 @@ struct op opt[] =
|
||||
"-ZSP--", 10, 8, "0100 1000 ssN0 dddd address_src", "xorb rbd,address_src(rs)", 0,
|
||||
"-ZSP--", 7, 8, "0000 1000 0000 dddd imm8 imm8", "xorb rbd,imm8", 0,
|
||||
"-ZSP--", 4, 8, "1000 1000 ssss dddd", "xorb rbd,rbs", 0,
|
||||
|
||||
"------", 7, 32, "1000 1100 dddd 0001", "ldctlb rbd,ctrl", 0,
|
||||
"CZSVDH", 7, 32, "1000 1100 ssss 1001", "ldctlb ctrl,rbs", 0,
|
||||
|
||||
"*", 4, 8, "1000 1000 ssss dddd", "xorb rbd,rbs", 0,
|
||||
"*", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
};
|
||||
@ -1203,6 +1209,10 @@ gas ()
|
||||
printf ("#define OPC_rsvd9f 172\n");
|
||||
printf ("#define OPC_rsvdb9 172\n");
|
||||
printf ("#define OPC_rsvdbf 172\n");
|
||||
printf ("#define OPC_outi 173\n");
|
||||
printf ("#define OPC_ldctlb 174\n");
|
||||
printf ("#define OPC_sin 175\n");
|
||||
printf ("#define OPC_trtdb 176\n");
|
||||
#if 0
|
||||
for (i = 0; toks[i].token; i++)
|
||||
printf ("#define %s\t0x%x\n", toks[i].token, i * 16);
|
||||
|
Loading…
Reference in New Issue
Block a user