# Simplified Chinese translation for opcode.
# Copyright (C) 2005 Free Software Foundation, Inc.
# This file is distributed under the same license as the binutils package.
# Meng Jie <zuxyhere@eastday.com>, 2005.
#
msgid ""
msgstr ""
"Project-Id-Version: opcodes 2.15.96\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2005-03-05 20:32+1030\n"
"PO-Revision-Date: 2006-01-15 02:10+0800\n"
"Last-Translator: Meng Jie <zuxyhere@eastday.com>\n"
"Language-Team: Chinese (simplified) <i18n-translation@lists.linux.net.cn>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: alpha-opc.c:331
msgid "branch operand unaligned"
msgstr "分支操作数未对齐"

#: alpha-opc.c:353 alpha-opc.c:374
msgid "jump hint unaligned"
msgstr "跳转提示未对齐"

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

#: arm-dis.c:1267
msgid "<illegal precision>"
msgstr "<非法的精度>"

#. XXX - should break 'option' at following delimiter.
#: arm-dis.c:1912
#, c-format
msgid "Unrecognised register name set: %s\n"
msgstr "无法识别的寄存器名称集：%s\n"

#. XXX - should break 'option' at following delimiter.
#: arm-dis.c:1920
#, c-format
msgid "Unrecognised disassembler option: %s\n"
msgstr "无法识别的反汇编器选项：%s\n"

#: arm-dis.c:2093
#, c-format
msgid ""
"\n"
"The following ARM specific disassembler options are supported for use with\n"
"the -M switch:\n"
msgstr ""
"\n"
"下列 ARM 特定的反汇编器选项在使用 -M 开关时可用：\n"

#: avr-dis.c:112 avr-dis.c:122
#, c-format
msgid "undefined"
msgstr "未定义"

#: avr-dis.c:179
#, c-format
msgid "Internal disassembler error"
msgstr "反汇编器内部错误"

#: avr-dis.c:227
#, c-format
msgid "unknown constraint `%c'"
msgstr "未知的约束‘%c’"

#: cgen-asm.c:336 fr30-ibld.c:197 frv-ibld.c:197 ip2k-ibld.c:197
#: iq2000-ibld.c:197 m32r-ibld.c:197 openrisc-ibld.c:197 xstormy16-ibld.c:197
#, c-format
msgid "operand out of range (%ld not between %ld and %ld)"
msgstr "操作数越界(%ld 不在 %ld 和 %ld 之间)"

#: cgen-asm.c:358
#, c-format
msgid "operand out of range (%lu not between %lu and %lu)"
msgstr "操作数越界(%lu 不在 %lu 和 %lu 之间)"

#: d30v-dis.c:312
#, c-format
msgid "<unknown register %d>"
msgstr "<未知的寄存器 %d>"

#. Can't happen.
#: dis-buf.c:57
#, c-format
msgid "Unknown error %d\n"
msgstr "未知错误 %d\n"

#: dis-buf.c:66
#, c-format
msgid "Address 0x%s is out of bounds.\n"
msgstr "地址 0x%s 越界。\n"

#: fr30-asm.c:323 frv-asm.c:1298 ip2k-asm.c:530 iq2000-asm.c:465
#: m32r-asm.c:338 openrisc-asm.c:252 xstormy16-asm.c:284
#, fuzzy, c-format
msgid "Unrecognized field %d while parsing.\n"
msgstr "词法分析字段时出错\n"

#: fr30-asm.c:372 frv-asm.c:1347 ip2k-asm.c:579 iq2000-asm.c:514
#: m32r-asm.c:387 openrisc-asm.c:301 xstormy16-asm.c:333
msgid "missing mnemonic in syntax string"
msgstr "语法字符串中没有助记符"

#. We couldn't parse it.
#: fr30-asm.c:507 fr30-asm.c:511 fr30-asm.c:598 fr30-asm.c:699 frv-asm.c:1482
#: frv-asm.c:1486 frv-asm.c:1573 frv-asm.c:1674 ip2k-asm.c:714 ip2k-asm.c:718
#: ip2k-asm.c:805 ip2k-asm.c:906 iq2000-asm.c:649 iq2000-asm.c:653
#: iq2000-asm.c:740 iq2000-asm.c:841 m32r-asm.c:522 m32r-asm.c:526
#: m32r-asm.c:613 m32r-asm.c:714 openrisc-asm.c:436 openrisc-asm.c:440
#: openrisc-asm.c:527 openrisc-asm.c:628 xstormy16-asm.c:468
#: xstormy16-asm.c:472 xstormy16-asm.c:559 xstormy16-asm.c:660
msgid "unrecognized instruction"
msgstr "无法识别的指令"

#: fr30-asm.c:554 frv-asm.c:1529 ip2k-asm.c:761 iq2000-asm.c:696
#: m32r-asm.c:569 openrisc-asm.c:483 xstormy16-asm.c:515
#, c-format
msgid "syntax error (expected char `%c', found `%c')"
msgstr "语法错误(需要字符‘%c’，得到‘%c’)"

#: fr30-asm.c:564 frv-asm.c:1539 ip2k-asm.c:771 iq2000-asm.c:706
#: m32r-asm.c:579 openrisc-asm.c:493 xstormy16-asm.c:525
#, c-format
msgid "syntax error (expected char `%c', found end of instruction)"
msgstr "语法错误(需要字符‘%c’，却到达指令尾)"

#: fr30-asm.c:592 frv-asm.c:1567 ip2k-asm.c:799 iq2000-asm.c:734
#: m32r-asm.c:607 openrisc-asm.c:521 xstormy16-asm.c:553
msgid "junk at end of line"
msgstr "行尾有垃圾字符"

#: fr30-asm.c:698 frv-asm.c:1673 ip2k-asm.c:905 iq2000-asm.c:840
#: m32r-asm.c:713 openrisc-asm.c:627 xstormy16-asm.c:659
msgid "unrecognized form of instruction"
msgstr "无法识别的指令格式"

#: fr30-asm.c:710 frv-asm.c:1685 ip2k-asm.c:917 iq2000-asm.c:852
#: m32r-asm.c:725 openrisc-asm.c:639 xstormy16-asm.c:671
#, c-format
msgid "bad instruction `%.50s...'"
msgstr "错误的指令‘%.50s...’"

#: fr30-asm.c:713 frv-asm.c:1688 ip2k-asm.c:920 iq2000-asm.c:855
#: m32r-asm.c:728 openrisc-asm.c:642 xstormy16-asm.c:674
#, c-format
msgid "bad instruction `%.50s'"
msgstr "错误的指令‘%.50s’"

#. Default text to print if an instruction isn't recognized.
#: fr30-dis.c:41 frv-dis.c:41 ip2k-dis.c:41 iq2000-dis.c:41 m32r-dis.c:41
#: mmix-dis.c:284 openrisc-dis.c:41 xstormy16-dis.c:41
msgid "*unknown*"
msgstr "*未知*"

#: fr30-dis.c:319 frv-dis.c:410 ip2k-dis.c:313 iq2000-dis.c:191 m32r-dis.c:262
#: openrisc-dis.c:137 xstormy16-dis.c:170
#, c-format
msgid "Unrecognized field %d while printing insn.\n"
msgstr ""

#: fr30-ibld.c:168 frv-ibld.c:168 ip2k-ibld.c:168 iq2000-ibld.c:168
#: m32r-ibld.c:168 openrisc-ibld.c:168 xstormy16-ibld.c:168
#, c-format
msgid "operand out of range (%ld not between %ld and %lu)"
msgstr "操作数越界(%ld 不在 %ld 和 %lu 之间)"

#: fr30-ibld.c:181 frv-ibld.c:181 ip2k-ibld.c:181 iq2000-ibld.c:181
#: m32r-ibld.c:181 openrisc-ibld.c:181 xstormy16-ibld.c:181
#, c-format
msgid "operand out of range (%lu not between 0 and %lu)"
msgstr "操作数越界(%lu 不在 0 和 %lu 之间)"

#: fr30-ibld.c:732 frv-ibld.c:858 ip2k-ibld.c:609 iq2000-ibld.c:715
#: m32r-ibld.c:667 openrisc-ibld.c:635 xstormy16-ibld.c:680
#, c-format
msgid "Unrecognized field %d while building insn.\n"
msgstr ""

#: fr30-ibld.c:939 frv-ibld.c:1177 ip2k-ibld.c:686 iq2000-ibld.c:892
#: m32r-ibld.c:806 openrisc-ibld.c:737 xstormy16-ibld.c:828
#, c-format
msgid "Unrecognized field %d while decoding insn.\n"
msgstr ""

#: fr30-ibld.c:1088 frv-ibld.c:1458 ip2k-ibld.c:763 iq2000-ibld.c:1026
#: m32r-ibld.c:922 openrisc-ibld.c:817 xstormy16-ibld.c:941
#, c-format
msgid "Unrecognized field %d while getting int operand.\n"
msgstr ""

#: fr30-ibld.c:1217 frv-ibld.c:1719 ip2k-ibld.c:820 iq2000-ibld.c:1140
#: m32r-ibld.c:1018 openrisc-ibld.c:877 xstormy16-ibld.c:1034
#, c-format
msgid "Unrecognized field %d while getting vma operand.\n"
msgstr ""

#: fr30-ibld.c:1351 frv-ibld.c:1989 ip2k-ibld.c:882 iq2000-ibld.c:1263
#: m32r-ibld.c:1122 openrisc-ibld.c:946 xstormy16-ibld.c:1136
#, c-format
msgid "Unrecognized field %d while setting int operand.\n"
msgstr ""

#: fr30-ibld.c:1473 frv-ibld.c:2247 ip2k-ibld.c:932 iq2000-ibld.c:1374
#: m32r-ibld.c:1214 openrisc-ibld.c:1003 xstormy16-ibld.c:1226
#, c-format
msgid "Unrecognized field %d while setting vma operand.\n"
msgstr ""

#: frv-asm.c:978
msgid "register number must be even"
msgstr "寄存器数必须是偶数"

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

#: h8300-dis.c:744
#, fuzzy, c-format
msgid "Don't understand 0x%x \n"
msgstr "不理解类型“%s”\n"

#: h8500-dis.c:143
#, fuzzy, c-format
msgid "can't cope with insert %d\n"
msgstr "用下列通配符插入文件(&M)："

#. Couldn't understand anything.
#: h8500-dis.c:342
#, c-format
msgid "%02x\t\t*unknown*"
msgstr "%02x\t\t*未知*"

#: i386-dis.c:1733
msgid "<internal disassembler error>"
msgstr "<反汇编器内部错误>"

#: ia64-gen.c:297
#, c-format
msgid "%s: Error: "
msgstr "%s：错误："

#: ia64-gen.c:310
#, c-format
msgid "%s: Warning: "
msgstr "%s：警告："

#: ia64-gen.c:496 ia64-gen.c:730
#, fuzzy, c-format
msgid "multiple note %s not handled\n"
msgstr "未处理 move 指令"

#: ia64-gen.c:607
msgid "can't find ia64-ic.tbl for reading\n"
msgstr ""

#: ia64-gen.c:812
#, fuzzy, c-format
msgid "can't find %s for reading\n"
msgstr "无法打开 %1 进行读取"

#: ia64-gen.c:1036
#, c-format
msgid ""
"most recent format '%s'\n"
"appears more restrictive than '%s'\n"
msgstr ""

#: ia64-gen.c:1047
#, fuzzy, c-format
msgid "overlapping field %s->%s\n"
msgstr "域宽"

#: ia64-gen.c:1244
#, c-format
msgid "overwriting note %d with note %d (IC:%s)\n"
msgstr ""

#: ia64-gen.c:1443
#, c-format
msgid "don't know how to specify %% dependency %s\n"
msgstr "不知道如何指定 %% 依赖 %s\n"

#: ia64-gen.c:1465
#, c-format
msgid "Don't know how to specify # dependency %s\n"
msgstr "不知道如何指定 # 依赖 %s\n"

#: ia64-gen.c:1504
#, c-format
msgid "IC:%s [%s] has no terminals or sub-classes\n"
msgstr ""

#: ia64-gen.c:1507
#, c-format
msgid "IC:%s has no terminals or sub-classes\n"
msgstr ""

#: ia64-gen.c:1516
#, c-format
msgid "no insns mapped directly to terminal IC %s [%s]"
msgstr ""

#: ia64-gen.c:1519
#, c-format
msgid "no insns mapped directly to terminal IC %s\n"
msgstr ""

#: ia64-gen.c:1530
#, c-format
msgid "class %s is defined but not used\n"
msgstr ""

#: ia64-gen.c:1541
#, c-format
msgid "Warning: rsrc %s (%s) has no chks%s\n"
msgstr ""

#: ia64-gen.c:1545
#, fuzzy, c-format
msgid "rsrc %s (%s) has no regs\n"
msgstr "指数部分没有数字"

#: ia64-gen.c:2444
#, c-format
msgid "IC note %d in opcode %s (IC:%s) conflicts with resource %s note %d\n"
msgstr ""

#: ia64-gen.c:2472
#, c-format
msgid "IC note %d for opcode %s (IC:%s) conflicts with resource %s note %d\n"
msgstr ""

#: ia64-gen.c:2486
#, fuzzy, c-format
msgid "opcode %s has no class (ops %d %d %d)\n"
msgstr "尚未定义名为“%s”的 <draw_ops>"

#: ia64-gen.c:2816
#, c-format
msgid "unable to change directory to \"%s\", errno = %s\n"
msgstr "无法将当前目录切换至“%s”，errno = %s\n"

#. We've been passed a w.  Return with an error message so that
#. cgen will try the next parsing option.
#: ip2k-asm.c:92
msgid "W keyword invalid in FR operand slot."
msgstr ""

#. Invalid offset present.
#: ip2k-asm.c:117
msgid "offset(IP) is not a valid form"
msgstr ""

#. Found something there in front of (DP) but it's out
#. of range.
#: ip2k-asm.c:165
msgid "(DP) offset out of range."
msgstr "(DP) 偏移量越界"

#. Found something there in front of (SP) but it's out
#. of range.
#: ip2k-asm.c:206
msgid "(SP) offset out of range."
msgstr "(SP) 偏移量越界。"

#: ip2k-asm.c:222
msgid "illegal use of parentheses"
msgstr "括号的使用非法"

#: ip2k-asm.c:229
#, fuzzy
msgid "operand out of range (not between 1 and 255)"
msgstr "操作数越界(%lu 不在 0 和 %lu 之间)"

#. Something is very wrong. opindex has to be one of the above.
#: ip2k-asm.c:254
#, fuzzy
msgid "parse_addr16: invalid opindex."
msgstr "分析错误：非法 UTF-8 序列"

#: ip2k-asm.c:309
msgid "Byte address required. - must be even."
msgstr ""

#: ip2k-asm.c:318
msgid "cgen_parse_address returned a symbol. Literal required."
msgstr ""

#: ip2k-asm.c:376
#, fuzzy, c-format
msgid "%operator operand is not a symbol"
msgstr "使用寄存器栈传递参数和返回值"

#: ip2k-asm.c:430
msgid "Attempt to find bit index of 0"
msgstr ""

#: iq2000-asm.c:115 iq2000-asm.c:146
msgid "immediate value cannot be register"
msgstr "立即数不能是寄存器"

#: iq2000-asm.c:126 iq2000-asm.c:156
msgid "immediate value out of range"
msgstr "立即数越界"

#: iq2000-asm.c:185
msgid "21-bit offset out of range"
msgstr "21位长的偏移量越界"

#: iq2000-asm.c:210 iq2000-asm.c:240 iq2000-asm.c:277 iq2000-asm.c:310
#: openrisc-asm.c:90 openrisc-asm.c:144
msgid "missing `)'"
msgstr "缺少‘)’"

#: m10200-dis.c:199
#, c-format
msgid "unknown\t0x%02x"
msgstr "未知\t0x%02x"

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

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

#: m68k-dis.c:295
#, c-format
msgid "<internal error in opcode table: %s %s>\n"
msgstr "<操作数表中出现内部错误：%s %s>\n"

#: m68k-dis.c:1089
#, c-format
msgid "<function code %d>"
msgstr "<函数代码 %d>"

#: m88k-dis.c:746
#, fuzzy, c-format
msgid "# <dis error: %08x>"
msgstr "语法错误，非预期的 %s"

#: mips-dis.c:720
msgid "# internal error, incomplete extension sequence (+)"
msgstr ""

#: mips-dis.c:779
#, c-format
msgid "# internal error, undefined extension sequence (+%c)"
msgstr ""

#: mips-dis.c:1037
#, c-format
msgid "# internal error, undefined modifier(%c)"
msgstr "# 内部错误，未定义的修饰符(%c)"

#: mips-dis.c:1793
#, c-format
msgid "# internal disassembler error, unrecognised modifier (%c)"
msgstr ""

#: mips-dis.c:1805
#, c-format
msgid ""
"\n"
"The following MIPS specific disassembler options are supported for use\n"
"with the -M switch (multiple options should be separated by commas):\n"
msgstr ""

#: mips-dis.c:1809
#, c-format
msgid ""
"\n"
"  gpr-names=ABI            Print GPR names according to  specified ABI.\n"
"                           Default: based on binary being disassembled.\n"
msgstr ""
"\n"
"  gpr-names=ABI            根据指定的 ABI 打印通用寄存器名。\n"
"                           默认：根据被反汇编的二进制文件。\n"

#: mips-dis.c:1813
#, c-format
msgid ""
"\n"
"  fpr-names=ABI            Print FPR names according to specified ABI.\n"
"                           Default: numeric.\n"
msgstr ""
"\n"
"  fpr-names=ABI            根据指定的 ABI 打印浮点寄存器名。\n"
"                           默认：数字。\n"

#: mips-dis.c:1817
#, c-format
msgid ""
"\n"
"  cp0-names=ARCH           Print CP0 register names according to\n"
"                           specified architecture.\n"
"                           Default: based on binary being disassembled.\n"
msgstr ""
"\n"
"  cp0-names=ARCH           根据指定的架构打印 CP0 寄存器名。\n"
"                           默认：根据被反汇编的二进制代码。\n"

#: mips-dis.c:1822
#, c-format
msgid ""
"\n"
"  hwr-names=ARCH           Print HWR names according to specified \n"
"\t\t\t   architecture.\n"
"                           Default: based on binary being disassembled.\n"
msgstr ""
"\n"
"  hwr-names=ARCH           根据指定的架构打印 HWR 寄存器名。\n"
"                           默认：根据被反汇编的二进制代码。\n"

#: mips-dis.c:1827
#, c-format
msgid ""
"\n"
"  reg-names=ABI            Print GPR and FPR names according to\n"
"                           specified ABI.\n"
msgstr ""
"\n"
"  reg-names=ABI            根据指定的 ABI 打印通用寄存器和浮点寄存\n"
"                           器名。\n"

#: mips-dis.c:1831
#, c-format
msgid ""
"\n"
"  reg-names=ARCH           Print CP0 register and HWR names according to\n"
"                           specified architecture.\n"
msgstr ""
"\n"
"  reg-names=ARCH           根据指定的架构打印 CP0 和 HWR 寄存器名。\n"

#: mips-dis.c:1835
#, c-format
msgid ""
"\n"
"  For the options above, the following values are supported for \"ABI\":\n"
"   "
msgstr ""

#: mips-dis.c:1840 mips-dis.c:1848 mips-dis.c:1850
#, c-format
msgid "\n"
msgstr "\n"

#: mips-dis.c:1842
#, c-format
msgid ""
"\n"
"  For the options above, The following values are supported for \"ARCH\":\n"
"   "
msgstr ""

#: mmix-dis.c:34
#, fuzzy, c-format
msgid "Bad case %d (%s) in %s:%d\n"
msgstr "忽略大小写变化(&I)"

#: mmix-dis.c:44
#, c-format
msgid "Internal: Non-debugged code (test-case missing): %s:%d"
msgstr ""

#: mmix-dis.c:53
msgid "(unknown)"
msgstr "(未知)"

#: mmix-dis.c:519
#, fuzzy, c-format
msgid "*unknown operands type: %d*"
msgstr "未知的签名类型‘%s’\n"

#. 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:631
#, c-format
msgid "$<undefined>"
msgstr "$<未定义>"

#: ppc-opc.c:794 ppc-opc.c:822
msgid "invalid conditional option"
msgstr "无效的条件选项"

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

#: ppc-opc.c:852
msgid "offset not a multiple of 16"
msgstr "偏移量不是 16 的倍数"

#: ppc-opc.c:871
msgid "offset not a multiple of 2"
msgstr "偏移量不是 2 的倍数"

#: ppc-opc.c:873
msgid "offset greater than 62"
msgstr "偏移量大于 62"

#: ppc-opc.c:892 ppc-opc.c:937 ppc-opc.c:981
msgid "offset not a multiple of 4"
msgstr "偏移量不是 4 的倍数"

#: ppc-opc.c:894
msgid "offset greater than 124"
msgstr "偏移量大于 124"

#: ppc-opc.c:913
msgid "offset not a multiple of 8"
msgstr "偏移量不是 8 的倍数"

#: ppc-opc.c:915
msgid "offset greater than 248"
msgstr "偏移量大于 248"

#: ppc-opc.c:958
msgid "offset not between -2048 and 2047"
msgstr "偏移量不在 -2048 和 2047 之间"

#: ppc-opc.c:979
msgid "offset not between -8192 and 8191"
msgstr "偏移量不在 -8192 和 8191 之间"

#: ppc-opc.c:1007
msgid "invalid mask field"
msgstr "无效的掩码字段"

#: ppc-opc.c:1033
#, fuzzy
msgid "ignoring invalid mfcr mask"
msgstr "忽略 schema 名称“%s”，无效：%s"

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

#: ppc-opc.c:1105 ppc-opc.c:1140
msgid "illegal bitmask"
msgstr "非法的位掩码"

#: ppc-opc.c:1205
msgid "value out of range"
msgstr "值越界"

#: ppc-opc.c:1273
#, fuzzy
msgid "index register in load range"
msgstr "初始值设定项中索引范围为空"

#: ppc-opc.c:1289
msgid "source and target register operands must be different"
msgstr ""

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

#: ppc-opc.c:1343
msgid "target register operand must be even"
msgstr "目的寄存器操作数必须是偶数"

#: ppc-opc.c:1357
msgid "source register operand must be even"
msgstr "源寄存器操作数必须是偶数"

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

#: sparc-dis.c:835
#, c-format
msgid "Internal error:  bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"
msgstr "内部错误：错误的 sparc-opcode.h：“%s”，%#.8lx，%#.8lx\n"

#: sparc-dis.c:846
#, c-format
msgid "Internal error: bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"
msgstr "内部错误：错误的 sparc-opcode.h：“%s”，%#.8lx，%#.8lx\n"

#: sparc-dis.c:895
#, fuzzy, c-format
msgid "Internal error: bad sparc-opcode.h: \"%s\" == \"%s\"\n"
msgstr "内部错误：错误的 sparc-opcode.h：“%s”，%#.8lx，%#.8lx\n"

#: v850-dis.c:225
#, fuzzy, c-format
msgid "unknown operand shift: %x\n"
msgstr "PRINT_OPERAND：未知的标点‘%c’"

#: v850-dis.c:237
#, c-format
msgid "unknown pop reg: %d\n"
msgstr "未知的弹栈寄存器：%d\n"

#. 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:69
msgid "displacement value is not in range and is not aligned"
msgstr ""

#: v850-opc.c:70
msgid "displacement value is out of range"
msgstr "偏移值越界"

#: v850-opc.c:71
msgid "displacement value is not aligned"
msgstr "偏移值未对齐"

#: v850-opc.c:73
msgid "immediate value is out of range"
msgstr "立即数越界"

#: v850-opc.c:84
msgid "branch value not in range and to odd offset"
msgstr "跳转越界且跳转偏移量为奇数"

#: v850-opc.c:86 v850-opc.c:118
msgid "branch value out of range"
msgstr "跳转越界"

#: v850-opc.c:89 v850-opc.c:121
msgid "branch to odd offset"
msgstr "跳转偏移量为奇数"

#: v850-opc.c:116
msgid "branch value not in range and to an odd offset"
msgstr "跳转越界且跳转偏移量为奇数"

#: v850-opc.c:347
msgid "invalid register for stack adjustment"
msgstr "用于调整堆栈的寄存器无效"

#: v850-opc.c:371
msgid "immediate value not in range and not even"
msgstr "立即数越界且不是偶数"

#: v850-opc.c:376
msgid "immediate value must be even"
msgstr "必须给出立即数"

#: xstormy16-asm.c:76
msgid "Bad register in preincrement"
msgstr "前置自增中使用了错误的寄存器"

#: xstormy16-asm.c:81
msgid "Bad register in postincrement"
msgstr "后置自增中使用了错误的寄存器"

#: xstormy16-asm.c:83
msgid "Bad register name"
msgstr "错误的寄存器名"

#: xstormy16-asm.c:87
msgid "Label conflicts with register name"
msgstr "标号与寄存器名冲突"

#: xstormy16-asm.c:91
msgid "Label conflicts with `Rx'"
msgstr "标号与‘Rx’冲突"

#: xstormy16-asm.c:93
msgid "Bad immediate expression"
msgstr "错误的立即数表达式"

#: xstormy16-asm.c:115
msgid "No relocation for small immediate"
msgstr ""

#: xstormy16-asm.c:125
msgid "Small operand was not an immediate number"
msgstr ""

#: xstormy16-asm.c:164
msgid "Operand is not a symbol"
msgstr "操作数不是一个符号"

#: xstormy16-asm.c:172
msgid "Syntax error: No trailing ')'"
msgstr "语法错误：没有结尾的‘)’"
