# SOME DESCRIPTIVE TITLE.
# 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-02-18 14:44-0800\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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: ENCODING\n"

#: alpha-opc.c:335
msgid "branch operand unaligned"
msgstr ""

#: alpha-opc.c:358 alpha-opc.c:380
msgid "jump hint unaligned"
msgstr ""

#: arc-dis.c:52
msgid "Illegal limm reference in last instruction!\n"
msgstr ""

#: arm-dis.c:489
msgid "<illegal precision>"
msgstr ""

#: arm-dis.c:904
#, c-format
msgid "Unrecognised register name set: %s\n"
msgstr ""

#: arm-dis.c:911
#, c-format
msgid "Unrecognised disassembler option: %s\n"
msgstr ""

#: arm-dis.c:1083
msgid ""
"\n"
"The following ARM specific disassembler options are supported for use with\n"
"the -M switch:\n"
msgstr ""

#: avr-dis.c:118 avr-dis.c:128
msgid "undefined"
msgstr ""

#: avr-dis.c:180
msgid "Internal disassembler error"
msgstr ""

#: avr-dis.c:228
#, c-format
msgid "unknown constraint `%c'"
msgstr ""

#: cgen-asm.c:224
msgid "unrecognized keyword/register name"
msgstr ""

#: cgen-asm.c:332 fr30-ibld.c:232 m32r-ibld.c:232
#, c-format
msgid "operand out of range (%ld not between %ld and %ld)"
msgstr ""

#: cgen-asm.c:353
#, c-format
msgid "operand out of range (%lu not between %lu and %lu)"
msgstr ""

#: d30v-dis.c:306
#, c-format
msgid "<unknown register %d>"
msgstr ""

#. Can't happen.
#: dis-buf.c:56
#, c-format
msgid "Unknown error %d\n"
msgstr ""

#: dis-buf.c:61
#, c-format
msgid "Address 0x%x is out of bounds.\n"
msgstr ""

#: fr30-asm.c:305 m32r-asm.c:313
#, c-format
msgid "Unrecognized field %d while parsing.\n"
msgstr ""

#. We couldn't parse it.
#: fr30-asm.c:369 fr30-asm.c:373 fr30-asm.c:449 m32r-asm.c:377 m32r-asm.c:381
#: m32r-asm.c:457
msgid "unrecognized instruction"
msgstr ""

#: fr30-asm.c:415 m32r-asm.c:423
#, c-format
msgid "syntax error (expected char `%c', found `%c')"
msgstr ""

#: fr30-asm.c:443 m32r-asm.c:451
msgid "junk at end of line"
msgstr ""

#: fr30-asm.c:551 m32r-asm.c:559
#, c-format
msgid "bad instruction `%.50s...'"
msgstr ""

#: fr30-asm.c:554 m32r-asm.c:562
#, c-format
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"
msgstr ""

#: fr30-ibld.c:216 m32r-ibld.c:216
#, c-format
msgid "operand out of range (%lu not between 0 and %lu)"
msgstr ""

#: fr30-ibld.c:790 m32r-ibld.c:719
#, c-format
msgid "Unrecognized field %d while building insn.\n"
msgstr ""

#: fr30-ibld.c:994 m32r-ibld.c:849
#, c-format
msgid "Unrecognized field %d while decoding insn.\n"
msgstr ""

#: fr30-ibld.c:1138 m32r-ibld.c:954
#, c-format
msgid "Unrecognized field %d while getting int operand.\n"
msgstr ""

#: fr30-ibld.c:1267 m32r-ibld.c:1044
#, c-format
msgid "Unrecognized field %d while getting vma operand.\n"
msgstr ""

#: fr30-ibld.c:1396 m32r-ibld.c:1137
#, c-format
msgid "Unrecognized field %d while setting int operand.\n"
msgstr ""

#: fr30-ibld.c:1518 m32r-ibld.c:1223
#, c-format
msgid "Unrecognized field %d while setting vma operand.\n"
msgstr ""

#: h8300-dis.c:380
#, c-format
msgid "Hmmmm %x"
msgstr ""

#: h8300-dis.c:391
#, c-format
msgid "Don't understand %x \n"
msgstr ""

#: h8500-dis.c:141
#, c-format
msgid "can't cope with insert %d\n"
msgstr ""

#. Couldn't understand anything.
#: h8500-dis.c:348
#, c-format
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"
msgstr ""

#: m10200-dis.c:339
#, c-format
msgid "unknown\t0x%04lx"
msgstr ""

#: m10300-dis.c:685
#, c-format
msgid "unknown\t0x%04x"
msgstr ""

#: m68k-dis.c:412
#, c-format
msgid "<internal error in opcode table: %s %s>\n"
msgstr ""

#: m68k-dis.c:990
#, c-format
msgid "<function code %d>"
msgstr ""

#: m88k-dis.c:274
#, c-format
msgid "# <dis error: %08x>"
msgstr ""

#: mips-dis.c:273
#, c-format
msgid "# internal error, undefined modifier(%c)"
msgstr ""

#. I and Z are output operands and can`t be immediate
#. * A is an address and we can`t have the address of
#. * an immediate either. We don't know how much to increase
#. * aoffsetp by since whatever generated this is broken
#. * anyway!
#.
#: ns32k-dis.c:618
msgid "$<undefined>"
msgstr ""

#: ppc-opc.c:619 ppc-opc.c:650
msgid "invalid conditional option"
msgstr ""

#: ppc-opc.c:652
msgid "attempt to set y bit when using + or - modifier"
msgstr ""

#: ppc-opc.c:707
msgid "ignoring least significant bits in branch offset"
msgstr ""

#: ppc-opc.c:742 ppc-opc.c:779
msgid "illegal bitmask"
msgstr ""

#: ppc-opc.c:848
msgid "value out of range"
msgstr ""

#: ppc-opc.c:922
msgid "index register in load range"
msgstr ""

#: ppc-opc.c:937
msgid "invalid register operand when updating"
msgstr ""

#. Mark as non-valid instruction
#: sparc-dis.c:748
msgid "unknown"
msgstr ""

#: sparc-dis.c:823
#, c-format
msgid "Internal error:  bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"
msgstr ""

#: sparc-dis.c:834
#, c-format
msgid "Internal error: bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"
msgstr ""

#: sparc-dis.c:883
#, c-format
msgid "Internal error: bad sparc-opcode.h: \"%s\" == \"%s\"\n"
msgstr ""

#: v850-dis.c:221
#, c-format
msgid "unknown operand shift: %x\n"
msgstr ""

#: v850-dis.c:233
#, c-format
msgid "unknown pop reg: %d\n"
msgstr ""

#. The functions used to insert and extract complicated operands.
#. Note: There is a conspiracy between these functions and
#. v850_insert_operand() in gas/config/tc-v850.c.  Error messages
#. containing the string 'out of range' will be ignored unless a
#. specific command line option is given to GAS.
#: v850-opc.c:46
msgid "displacement value is not in range and is not aligned"
msgstr ""

#: v850-opc.c:47
msgid "displacement value is out of range"
msgstr ""

#: v850-opc.c:48
msgid "displacement value is not aligned"
msgstr ""

#: v850-opc.c:50
msgid "immediate value is out of range"
msgstr ""

#: v850-opc.c:61
msgid "branch value not in range and to odd offset"
msgstr ""

#: v850-opc.c:63 v850-opc.c:95
msgid "branch value out of range"
msgstr ""

#: v850-opc.c:66 v850-opc.c:98
msgid "branch to odd offset"
msgstr ""

#: v850-opc.c:93
msgid "branch value not in range and to an odd offset"
msgstr ""

#: v850-opc.c:321
msgid "invalid register for stack adjustment"
msgstr ""

#: v850-opc.c:343
msgid "immediate value not in range and not even"
msgstr ""

#: v850-opc.c:348
msgid "immediate value must be even"
msgstr ""
