# Dutch messages for the Opcodes Library.
# Copyright (C) 1999, 2002, 2003, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
# This file is distributed under the same license as the binutils package.
# Tim Van Holder <tim.van.holder@telenet.be>, 1999, 2002, 2003, 2005, 2006, 2007, 2009.
#
msgid ""
msgstr ""
"Project-Id-Version: opcodes 2.19.1\n"
"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
"POT-Creation-Date: 2008-09-09 15:56+0930\n"
"PO-Revision-Date: 2009-06-01 14:42+0200\n"
"Last-Translator: Tim Van Holder <tim.van.holder@telenet.be>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8-bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

# misschien 'branch' vertalen (vertakking? aftakking?)
# en unaligned vertalen als 'niet uitgelijnd'?
#: alpha-opc.c:155
msgid "branch operand unaligned"
msgstr "branch-operand niet uitgelijnd"

#: alpha-opc.c:171 alpha-opc.c:187
msgid "jump hint unaligned"
msgstr "jump-hint niet uitgelijnd"

#: arc-dis.c:77
msgid "Illegal limm reference in last instruction!\n"
msgstr "Ongeldige limm-verwijzing in de laatste instructie!\n"

# klinkt niet echt geweldig...
#: arc-opc.c:386
msgid "unable to fit different valued constants into instruction"
msgstr "kan constantes met verschillende waarden niet in instructie inpassen"

#: arc-opc.c:395
msgid "auxiliary register not allowed here"
msgstr "hulpregister hier niet toegestaan"

#: arc-opc.c:401 arc-opc.c:418
msgid "attempt to set readonly register"
msgstr "poging tot het instellen van een alleen-lezen register"

#: arc-opc.c:406 arc-opc.c:423
msgid "attempt to read writeonly register"
msgstr "poging tot uitlezen van alleen-schrijven register"

#: arc-opc.c:428
#, c-format
msgid "invalid register number `%d'"
msgstr "Ongeldig registernummer `%d'"

#: arc-opc.c:594 arc-opc.c:645 arc-opc.c:673
msgid "too many long constants"
msgstr "te veel lange constantes"

# of "bij opladen" ipv "in load"?
#: arc-opc.c:668
msgid "too many shimms in load"
msgstr "te veel shimms in load"

#. Do we have a limm already?
#: arc-opc.c:781
msgid "impossible store"
msgstr "onmogelijke store"

#: arc-opc.c:814
msgid "st operand error"
msgstr "st operand-fout"

# of "terugschrijven van adres"?
#: arc-opc.c:818 arc-opc.c:860
msgid "address writeback not allowed"
msgstr "address writeback niet toegestaan"

# of beter 'store-waarde'?
#: arc-opc.c:822
msgid "store value must be zero"
msgstr "opslagwaarde moet nul zijn"

#: arc-opc.c:847
msgid "invalid load/shimm insn"
msgstr "ongeldige load/shimm insn"

#: arc-opc.c:856
msgid "ld operand error"
msgstr "ld operand-fout"

#: arc-opc.c:943
msgid "jump flags, but no .f seen"
msgstr "jump-vlaggen, maar geen .f gezien"

#: arc-opc.c:946
msgid "jump flags, but no limm addr"
msgstr "jump-vlaggen, maar geen limm addr"

#: arc-opc.c:949
msgid "flag bits of jump address limm lost"
msgstr "vlagbits van jump-adres limm gaan verloren"

#: arc-opc.c:952
msgid "attempt to set HR bits"
msgstr "poging tot instellen van HR bits"

#: arc-opc.c:955
msgid "bad jump flags value"
msgstr "slechte waarde van de jump-vlaggen"

#: arc-opc.c:988
msgid "branch address not on 4 byte boundary"
msgstr "branch-adres niet op 4-byte grens"

# klinkt wankel...
#: arc-opc.c:1024
msgid "must specify .jd or no nullify suffix"
msgstr "moet .jd of geen nullify-suffix opgeven"

#: arm-dis.c:1808
msgid "<illegal precision>"
msgstr "<ongeldige precisie>"

# Hoort set bij 'name', of bij 'register name' - of is het een voltood deelwoord?
#. XXX - should break 'option' at following delimiter.
#: arm-dis.c:3818
#, c-format
msgid "Unrecognised register name set: %s\n"
msgstr "Registernaam-verzameling niet herkend: %s\n"

#. XXX - should break 'option' at following delimiter.
#: arm-dis.c:3826
#, c-format
msgid "Unrecognised disassembler option: %s\n"
msgstr "Disassembler-optie niet herkend: %s\n"

#: arm-dis.c:4238
#, c-format
msgid ""
"\n"
"The following ARM specific disassembler options are supported for use with\n"
"the -M switch:\n"
msgstr ""
"\n"
"De volgende ARM-specifieke disassembler-opties worden ondersteund voor gebruik\n"
"via de -M optie:\n"

#: avr-dis.c:115 avr-dis.c:125
#, c-format
msgid "undefined"
msgstr "niet gedefinieerd"

#: avr-dis.c:187
#, c-format
msgid "Internal disassembler error"
msgstr "Interne fout in de disassembler"

# Vertaling voor constraint? 'begrenzing' misschien?
#: avr-dis.c:236
#, c-format
msgid "unknown constraint `%c'"
msgstr "onbekende constraint `%c'"

#: cgen-asm.c:336 fr30-ibld.c:200 frv-ibld.c:200 ip2k-ibld.c:200
#: iq2000-ibld.c:200 m32c-ibld.c:200 m32r-ibld.c:200 mep-ibld.c:200
#: mt-ibld.c:200 openrisc-ibld.c:200 xc16x-ibld.c:200 xstormy16-ibld.c:200
#, c-format
msgid "operand out of range (%ld not between %ld and %ld)"
msgstr "operand buiten bereik (%ld niet tussen %ld en %ld)"

#: cgen-asm.c:358
#, c-format
msgid "operand out of range (%lu not between %lu and %lu)"
msgstr "operand buiten bereik (%lu niet tussen %lu en %lu)"

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

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

# Slecht vertaald. Wat is de geijkte vertaling voor 'out of bounds'?
#: dis-buf.c:68
#, c-format
msgid "Address 0x%s is out of bounds.\n"
msgstr "Adres 0x%s is buiten de perken.\n"

#: fr30-asm.c:93 m32c-asm.c:877 m32c-asm.c:884
msgid "Register number is not valid"
msgstr "Registernummer is ongeldig"

#: fr30-asm.c:95
msgid "Register must be between r0 and r7"
msgstr "Register moet tussen r0 en r7 liggen"

#: fr30-asm.c:97
msgid "Register must be between r8 and r15"
msgstr "Register moet tussen r8 en r15 liggen"

#: fr30-asm.c:116 m32c-asm.c:915
msgid "Register list is not valid"
msgstr "Registerlijst is ongeldig"

# Klinkt niet echt geweldig, maar ja...
#: fr30-asm.c:310 frv-asm.c:1263 ip2k-asm.c:511 iq2000-asm.c:459
#: m32c-asm.c:1589 m32r-asm.c:328 mep-asm.c:1001 mt-asm.c:595
#: openrisc-asm.c:241 xc16x-asm.c:376 xstormy16-asm.c:276
#, c-format
msgid "Unrecognized field %d while parsing.\n"
msgstr "Veld %d niet herkend tijdens analyse.\n"

#: fr30-asm.c:361 frv-asm.c:1314 ip2k-asm.c:562 iq2000-asm.c:510
#: m32c-asm.c:1640 m32r-asm.c:379 mep-asm.c:1052 mt-asm.c:646
#: openrisc-asm.c:292 xc16x-asm.c:427 xstormy16-asm.c:327
msgid "missing mnemonic in syntax string"
msgstr "mnemonic ontbreekt in syntaxstring"

#. We couldn't parse it.
#: fr30-asm.c:496 fr30-asm.c:500 fr30-asm.c:587 fr30-asm.c:688 frv-asm.c:1449
#: frv-asm.c:1453 frv-asm.c:1540 frv-asm.c:1641 ip2k-asm.c:697 ip2k-asm.c:701
#: ip2k-asm.c:788 ip2k-asm.c:889 iq2000-asm.c:645 iq2000-asm.c:649
#: iq2000-asm.c:736 iq2000-asm.c:837 m32c-asm.c:1775 m32c-asm.c:1779
#: m32c-asm.c:1866 m32c-asm.c:1967 m32r-asm.c:514 m32r-asm.c:518
#: m32r-asm.c:605 m32r-asm.c:706 mep-asm.c:1187 mep-asm.c:1191 mep-asm.c:1278
#: mep-asm.c:1379 mt-asm.c:781 mt-asm.c:785 mt-asm.c:872 mt-asm.c:973
#: openrisc-asm.c:427 openrisc-asm.c:431 openrisc-asm.c:518 openrisc-asm.c:619
#: xc16x-asm.c:562 xc16x-asm.c:566 xc16x-asm.c:653 xc16x-asm.c:754
#: xstormy16-asm.c:462 xstormy16-asm.c:466 xstormy16-asm.c:553
#: xstormy16-asm.c:654
msgid "unrecognized instruction"
msgstr "instructie niet herkend"

#: fr30-asm.c:543 frv-asm.c:1496 ip2k-asm.c:744 iq2000-asm.c:692
#: m32c-asm.c:1822 m32r-asm.c:561 mep-asm.c:1234 mt-asm.c:828
#: openrisc-asm.c:474 xc16x-asm.c:609 xstormy16-asm.c:509
#, c-format
msgid "syntax error (expected char `%c', found `%c')"
msgstr "syntaxfout (verwachtte `%c', vond `%c')"

#: fr30-asm.c:553 frv-asm.c:1506 ip2k-asm.c:754 iq2000-asm.c:702
#: m32c-asm.c:1832 m32r-asm.c:571 mep-asm.c:1244 mt-asm.c:838
#: openrisc-asm.c:484 xc16x-asm.c:619 xstormy16-asm.c:519
#, c-format
msgid "syntax error (expected char `%c', found end of instruction)"
msgstr "syntaxfout (verwachtte `%c', vond het einde van de instructie)"

#: fr30-asm.c:581 frv-asm.c:1534 ip2k-asm.c:782 iq2000-asm.c:730
#: m32c-asm.c:1860 m32r-asm.c:599 mep-asm.c:1272 mt-asm.c:866
#: openrisc-asm.c:512 xc16x-asm.c:647 xstormy16-asm.c:547
msgid "junk at end of line"
msgstr "rommel aan einde van lijn"

#: fr30-asm.c:687 frv-asm.c:1640 ip2k-asm.c:888 iq2000-asm.c:836
#: m32c-asm.c:1966 m32r-asm.c:705 mep-asm.c:1378 mt-asm.c:972
#: openrisc-asm.c:618 xc16x-asm.c:753 xstormy16-asm.c:653
msgid "unrecognized form of instruction"
msgstr "instructievorm niet herkend"

#: fr30-asm.c:699 frv-asm.c:1652 ip2k-asm.c:900 iq2000-asm.c:848
#: m32c-asm.c:1978 m32r-asm.c:717 mep-asm.c:1390 mt-asm.c:984
#: openrisc-asm.c:630 xc16x-asm.c:765 xstormy16-asm.c:665
#, c-format
msgid "bad instruction `%.50s...'"
msgstr "slechte instructie `%s.50s...'"

#: fr30-asm.c:702 frv-asm.c:1655 ip2k-asm.c:903 iq2000-asm.c:851
#: m32c-asm.c:1981 m32r-asm.c:720 mep-asm.c:1393 mt-asm.c:987
#: openrisc-asm.c:633 xc16x-asm.c:768 xstormy16-asm.c:668
#, c-format
msgid "bad instruction `%.50s'"
msgstr "slechte instructie `%s.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 m32c-dis.c:41
#: m32r-dis.c:41 mep-dis.c:41 mmix-dis.c:278 mt-dis.c:41 openrisc-dis.c:41
#: xc16x-dis.c:41 xstormy16-dis.c:41
msgid "*unknown*"
msgstr "*onbekend*"

#: fr30-dis.c:299 frv-dis.c:396 ip2k-dis.c:288 iq2000-dis.c:189 m32c-dis.c:891
#: m32r-dis.c:256 mep-dis.c:776 mt-dis.c:290 openrisc-dis.c:135
#: xc16x-dis.c:375 xstormy16-dis.c:168
#, c-format
msgid "Unrecognized field %d while printing insn.\n"
msgstr "Veld %d niet herkend bij het afdrukken van een insn.\n"

#: fr30-ibld.c:163 frv-ibld.c:163 ip2k-ibld.c:163 iq2000-ibld.c:163
#: m32c-ibld.c:163 m32r-ibld.c:163 mep-ibld.c:163 mt-ibld.c:163
#: openrisc-ibld.c:163 xc16x-ibld.c:163 xstormy16-ibld.c:163
#, c-format
msgid "operand out of range (%ld not between %ld and %lu)"
msgstr "operand buiten bereik (%ld niet tussen %ld en %lu)"

#: fr30-ibld.c:184 frv-ibld.c:184 ip2k-ibld.c:184 iq2000-ibld.c:184
#: m32c-ibld.c:184 m32r-ibld.c:184 mep-ibld.c:184 mt-ibld.c:184
#: openrisc-ibld.c:184 xc16x-ibld.c:184 xstormy16-ibld.c:184
#, c-format
msgid "operand out of range (0x%lx not between 0 and 0x%lx)"
msgstr "operand buiten bereik (0x%lx niet tussen 0 en 0x%lx)"

#: fr30-ibld.c:726 frv-ibld.c:852 ip2k-ibld.c:603 iq2000-ibld.c:709
#: m32c-ibld.c:1727 m32r-ibld.c:661 mep-ibld.c:1024 mt-ibld.c:745
#: openrisc-ibld.c:629 xc16x-ibld.c:748 xstormy16-ibld.c:674
#, c-format
msgid "Unrecognized field %d while building insn.\n"
msgstr "Veld %d niet herkend bij het opbouwen van een insn.\n"

#: fr30-ibld.c:931 frv-ibld.c:1169 ip2k-ibld.c:678 iq2000-ibld.c:884
#: m32c-ibld.c:2888 m32r-ibld.c:798 mep-ibld.c:1444 mt-ibld.c:965
#: openrisc-ibld.c:729 xc16x-ibld.c:968 xstormy16-ibld.c:820
#, c-format
msgid "Unrecognized field %d while decoding insn.\n"
msgstr "Veld %d niet herkend bij het decoderen van een insn.\n"

#: fr30-ibld.c:1077 frv-ibld.c:1447 ip2k-ibld.c:752 iq2000-ibld.c:1015
#: m32c-ibld.c:3505 m32r-ibld.c:911 mep-ibld.c:1737 mt-ibld.c:1165
#: openrisc-ibld.c:806 xc16x-ibld.c:1189 xstormy16-ibld.c:930
#, c-format
msgid "Unrecognized field %d while getting int operand.\n"
msgstr "Veld %d niet herkend bij het ophalen van een int-operand.\n"

#: fr30-ibld.c:1205 frv-ibld.c:1707 ip2k-ibld.c:808 iq2000-ibld.c:1128
#: m32c-ibld.c:4104 m32r-ibld.c:1006 mep-ibld.c:2012 mt-ibld.c:1347
#: openrisc-ibld.c:865 xc16x-ibld.c:1392 xstormy16-ibld.c:1022
#, c-format
msgid "Unrecognized field %d while getting vma operand.\n"
msgstr "Veld %d niet herkend bij het ophalen van een vma-operand.\n"

#: fr30-ibld.c:1336 frv-ibld.c:1974 ip2k-ibld.c:867 iq2000-ibld.c:1248
#: m32c-ibld.c:4691 m32r-ibld.c:1107 mep-ibld.c:2271 mt-ibld.c:1536
#: openrisc-ibld.c:931 xc16x-ibld.c:1596 xstormy16-ibld.c:1121
#, c-format
msgid "Unrecognized field %d while setting int operand.\n"
msgstr "Veld %d niet herkend bij het instellen van een int-operand.\n"

#: fr30-ibld.c:1457 frv-ibld.c:2231 ip2k-ibld.c:916 iq2000-ibld.c:1358
#: m32c-ibld.c:5268 m32r-ibld.c:1198 mep-ibld.c:2520 mt-ibld.c:1715
#: openrisc-ibld.c:987 xc16x-ibld.c:1790 xstormy16-ibld.c:1210
#, c-format
msgid "Unrecognized field %d while setting vma operand.\n"
msgstr "Veld %d niet herkend bij het instellen van een vma-operand.\n"

#: frv-asm.c:608
msgid "missing `]'"
msgstr "`]' ontbreekt"

# of moet 'immediate' behouden worden?
#: frv-asm.c:611 frv-asm.c:621
msgid "Special purpose register number is out of range"
msgstr "Nummer van special-purpose register is buiten bereik"

#: frv-asm.c:908
msgid "Value of A operand must be 0 or 1"
msgstr "Waarde van A-operand moet 0 of 1 zijn"

#: frv-asm.c:944
msgid "register number must be even"
msgstr "registernummer moet even zijn"

#. -- assembler routines inserted here.
#. -- asm.c
#: frv-asm.c:972 iq2000-asm.c:56 m32c-asm.c:141 m32c-asm.c:237 m32c-asm.c:279
#: m32c-asm.c:338 m32c-asm.c:360 m32r-asm.c:53 mep-asm.c:232 mep-asm.c:250
#: mep-asm.c:265 mep-asm.c:280 mep-asm.c:292 openrisc-asm.c:54
msgid "missing `)'"
msgstr "`)' ontbreekt"

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

#: h8300-dis.c:708
#, c-format
msgid "Don't understand 0x%x \n"
msgstr "Ik begrijp 0x%x niet\n"

#: h8500-dis.c:124
#, c-format
msgid "can't cope with insert %d\n"
msgstr "kan niet omgaan met insert %d\n"

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

#: i386-dis.c:9545
msgid "<internal disassembler error>"
msgstr "<interne fout in de disassembler>"

#: i386-dis.c:9776
#, c-format
msgid ""
"\n"
"The following i386/x86-64 specific disassembler options are supported for use\n"
"with the -M switch (multiple options should be separated by commas):\n"
msgstr ""
"\n"
"De volgende i386/x86-64-specifieke disassembler-opties worden ondersteund voor\n"
"gebruik via de -M optie (meerdere opties moeten door komma's gescheiden\n"
"worden):\n"

#: i386-dis.c:9780
#, c-format
msgid "  x86-64      Disassemble in 64bit mode\n"
msgstr "  x86-64      Disassembleer in 64-bits modus\n"

#: i386-dis.c:9781
#, c-format
msgid "  i386        Disassemble in 32bit mode\n"
msgstr "  i386        Disassembleer in 32-bits modus\n"

#: i386-dis.c:9782
#, c-format
msgid "  i8086       Disassemble in 16bit mode\n"
msgstr "  i8086       Disassembleer in 16-bits modus\n"

#: i386-dis.c:9783
#, c-format
msgid "  att         Display instruction in AT&T syntax\n"
msgstr "  att         Toon instructie in AT&T syntax\n"

#: i386-dis.c:9784
#, c-format
msgid "  intel       Display instruction in Intel syntax\n"
msgstr "  intel       Toon instructie in Intel syntax\n"

# Of "... in AT&T mnemonic syntax"?
#: i386-dis.c:9785
#, c-format
msgid ""
"  att-mnemonic\n"
"              Display instruction in AT&T mnemonic\n"
msgstr ""
"  att-mnemonic\n"
"              Toon instructie in verkorte AT&T syntax\n"

# Of "... in Intel mnemonic syntax"?
#: i386-dis.c:9787
#, c-format
msgid ""
"  intel-mnemonic\n"
"              Display instruction in Intel mnemonic\n"
msgstr ""
"  intel-mnemonic\n"
"              Toon instructie in verkorte Intel syntax\n"

#: i386-dis.c:9789
#, c-format
msgid "  addr64      Assume 64bit address size\n"
msgstr "  addr64      Ga uit van een 64-bits adresgrootte\n"

#: i386-dis.c:9790
#, c-format
msgid "  addr32      Assume 32bit address size\n"
msgstr "  addr32      Ga uit van een 32-bits adresgrootte\n"

#: i386-dis.c:9791
#, c-format
msgid "  addr16      Assume 16bit address size\n"
msgstr "  addr16      Ga uit van een 16-bits adresgrootte\n"

#: i386-dis.c:9792
#, c-format
msgid "  data32      Assume 32bit data size\n"
msgstr "  data32      Ga uit van een 32-bits datagrootte\n"

#: i386-dis.c:9793
#, c-format
msgid "  data16      Assume 16bit data size\n"
msgstr "  data16      Ga uit van een 16-bits datagrootte\n"

#: i386-dis.c:9794
#, c-format
msgid "  suffix      Always display instruction suffix in AT&T syntax\n"
msgstr "  suffix      Toon altijd de instructiesuffix in AT&T syntax\n"

#: i386-gen.c:411 ia64-gen.c:307
#, c-format
msgid "%s: Error: "
msgstr "%s: Fout: "

#: i386-gen.c:510
#, c-format
msgid "%s: %d: Unknown bitfield: %s\n"
msgstr "%s: %d: Onbekend bitveld: %s\n"

#: i386-gen.c:674
#, c-format
msgid "can't find i386-opc.tbl for reading, errno = %s\n"
msgstr "kan invoerbestand i386-opc.tbl niet vinden; errno = %s\n"

#: i386-gen.c:851
#, c-format
msgid "can't find i386-reg.tbl for reading, errno = %s\n"
msgstr "kan invoerbestand i386-reg.tbl niet vinden; errno = %s\n"

#: i386-gen.c:943
#, c-format
msgid "can't create i386-init.h, errno = %s\n"
msgstr "kan i386-init.h niet aanmaken; errno = %s\n"

#: i386-gen.c:1032 ia64-gen.c:2850
#, c-format
msgid "unable to change directory to \"%s\", errno = %s\n"
msgstr "kan niet naar directory \"%s\" gaan, errno = %s\n"

#: i386-gen.c:1039
#, c-format
msgid "%d unused bits in i386_cpu_flags.\n"
msgstr "%d ongebruikte bits in i386_cpu_flags.\n"

#: i386-gen.c:1046
#, c-format
msgid "%d unused bits in i386_operand_type.\n"
msgstr "%d ongebruikte bits in i386_operand_type.\n"

#: i386-gen.c:1060
#, c-format
msgid "can't create i386-tbl.h, errno = %s\n"
msgstr "kan i386-tbl.h niet aanmaken; errno = %s\n"

#: ia64-gen.c:320
#, c-format
msgid "%s: Warning: "
msgstr "%s: Let Op: "

#: ia64-gen.c:506 ia64-gen.c:740
#, c-format
msgid "multiple note %s not handled\n"
msgstr "meervoudige noot %s wordt niet opgevangen\n"

#: ia64-gen.c:617
msgid "can't find ia64-ic.tbl for reading\n"
msgstr "kan invoerbestand ia64-ic.tbl niet vinden\n"

#: ia64-gen.c:822
#, c-format
msgid "can't find %s for reading\n"
msgstr "kan invoerbestand %s niet vinden\n"

#: ia64-gen.c:1046
#, c-format
msgid ""
"most recent format '%s'\n"
"appears more restrictive than '%s'\n"
msgstr ""
"het meest recente formaat '%s'\n"
"lijkt meer beperkend dan '%s'\n"

#: ia64-gen.c:1057
#, c-format
msgid "overlapping field %s->%s\n"
msgstr "overlappend veld %s->%s\n"

#: ia64-gen.c:1254
#, c-format
msgid "overwriting note %d with note %d (IC:%s)\n"
msgstr "noot %d wordt overschreven door noot %d (IC:%s)\n"

#: ia64-gen.c:1459
#, c-format
msgid "don't know how to specify %% dependency %s\n"
msgstr "ik weet niet hoe ik de %%-dependency %s moet opgeven\n"

#: ia64-gen.c:1481
#, c-format
msgid "Don't know how to specify # dependency %s\n"
msgstr "Ik weet niet hoe ik de #-dependency %s moet opgeven\n"

#: ia64-gen.c:1520
#, c-format
msgid "IC:%s [%s] has no terminals or sub-classes\n"
msgstr "IC:%s [%s] heeft geen eindsymbolen of subklassen\n"

#: ia64-gen.c:1523
#, c-format
msgid "IC:%s has no terminals or sub-classes\n"
msgstr "IC:%s heeft geen eindsymbolen of subklassen\n"

#: ia64-gen.c:1532
#, c-format
msgid "no insns mapped directly to terminal IC %s [%s]"
msgstr "er zijn geen insns die rechtstreeks naar eindsymbool IC %s [%s] vertaald worden"

#: ia64-gen.c:1535
#, c-format
msgid "no insns mapped directly to terminal IC %s\n"
msgstr "er zijn geen insns die rechtstreeks naar eindsymbool IC %s vertaald worden\n"

#: ia64-gen.c:1546
#, c-format
msgid "class %s is defined but not used\n"
msgstr "klasse %s is gedefinieerd maar wordt niet gebruikt\n"

#: ia64-gen.c:1559
#, c-format
msgid "Warning: rsrc %s (%s) has no chks\n"
msgstr "Let Op: rsrc %s (%s) heeft geen chks\n"

#: ia64-gen.c:1562
#, c-format
msgid "Warning: rsrc %s (%s) has no chks or regs\n"
msgstr "Let Op: rsrc %s (%s) heeft geen chks of regs\n"

#: ia64-gen.c:1566
#, c-format
msgid "rsrc %s (%s) has no regs\n"
msgstr "rsrc %s (%s) heeft geen regs\n"

#: ia64-gen.c:2478
#, c-format
msgid "IC note %d in opcode %s (IC:%s) conflicts with resource %s note %d\n"
msgstr "IC noot %d in opcode %s (IC:%s) geeft een conflict met resource %s noot %d\n"

#: ia64-gen.c:2506
#, c-format
msgid "IC note %d for opcode %s (IC:%s) conflicts with resource %s note %d\n"
msgstr "IC noot %d voor opcode %s (IC:%s) geeft een conflict met resource %s noot %d\n"

#: ia64-gen.c:2520
#, c-format
msgid "opcode %s has no class (ops %d %d %d)\n"
msgstr "opcode %s heeft geen klasse (ops %d %d %d)\n"

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

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

#. Found something there in front of (DP) but it's out
#. of range.
#: ip2k-asm.c:154
msgid "(DP) offset out of range."
msgstr "(DP) offset buiten bereik"

#. Found something there in front of (SP) but it's out
#. of range.
#: ip2k-asm.c:195
msgid "(SP) offset out of range."
msgstr "(SP) offset buiten bereik"

#: ip2k-asm.c:211
msgid "illegal use of parentheses"
msgstr "ongeldig gebruik van haakjes"

#: ip2k-asm.c:218
msgid "operand out of range (not between 1 and 255)"
msgstr "operand buiten bereik (niet tussen 1 en 255)"

#. Something is very wrong. opindex has to be one of the above.
#: ip2k-asm.c:242
msgid "parse_addr16: invalid opindex."
msgstr "parse_addr16: ongeldige opindex."

#: ip2k-asm.c:296
msgid "Byte address required. - must be even."
msgstr "Byte-adres vereist. - moet even zijn."

#: ip2k-asm.c:305
msgid "cgen_parse_address returned a symbol. Literal required."
msgstr "cgen_parse_address gaf een symbool terug terwijl een letterlijke waarde vereist is."

#: ip2k-asm.c:360
msgid "percent-operator operand is not a symbol"
msgstr "operand van percent-operator is geen symbool"

#: ip2k-asm.c:413
msgid "Attempt to find bit index of 0"
msgstr "Poging tot vinden van bit-index van 0"

#: iq2000-asm.c:112 iq2000-asm.c:142
msgid "immediate value cannot be register"
msgstr "onmiddellijke waarde kan geen register zijn"

# of moet 'immediate' behouden worden?
#: iq2000-asm.c:123 iq2000-asm.c:153
msgid "immediate value out of range"
msgstr "onmiddellijke waarde is buiten bereik"

#: iq2000-asm.c:182
msgid "21-bit offset out of range"
msgstr "21-bit offset is buiten bereik"

#: m10200-dis.c:158 m10300-dis.c:582
#, c-format
msgid "unknown\t0x%04lx"
msgstr "onbekend\t0x%04lx"

#: m10200-dis.c:328
#, c-format
msgid "unknown\t0x%02lx"
msgstr "onbekend\t0x%02lx"

# Correcte vertaling van "imm:6 immediate"?
#: m32c-asm.c:117
msgid "imm:6 immediate is out of range"
msgstr "onmiddellijke waarde van imm:6 is buiten bereik"

#: m32c-asm.c:147
#, c-format
msgid "%dsp8() takes a symbolic address, not a number"
msgstr "%dsp8() verwacht een symbolisch adres als argument, geen getal"

# Correcte vertaling van "dsp:8 immediate"?
#: m32c-asm.c:160 m32c-asm.c:164 m32c-asm.c:255
msgid "dsp:8 immediate is out of range"
msgstr "onmiddellijke waarde van dsp:8 is buiten bereik"

# of moet 'immediate' behouden worden?
#: m32c-asm.c:185 m32c-asm.c:189
msgid "Immediate is out of range -8 to 7"
msgstr "onmiddellijke waarde is buiten bereik (-8 tot 7)"

# of moet 'immediate' behouden worden?
#: m32c-asm.c:210 m32c-asm.c:214
msgid "Immediate is out of range -7 to 8"
msgstr "onmiddellijke waarde is buiten bereik (-7 tot 8)"

#: m32c-asm.c:285
#, c-format
msgid "%dsp16() takes a symbolic address, not a number"
msgstr "%dsp16() verwacht een symbolisch adres als argument, geen getal"

# Correcte vertaling van "dsp:16 immediate"?
#: m32c-asm.c:308 m32c-asm.c:315 m32c-asm.c:378
msgid "dsp:16 immediate is out of range"
msgstr "onmiddellijke waarde van dsp:16 is buiten bereik"

# Correcte vertaling van "dsp:20 immediate"?
#: m32c-asm.c:404
msgid "dsp:20 immediate is out of range"
msgstr "onmiddellijke waarde van dsp:20 is buiten bereik"

# Correcte vertaling van "dsp:24 immediate"?
#: m32c-asm.c:430 m32c-asm.c:450
msgid "dsp:24 immediate is out of range"
msgstr "onmiddellijke waarde van dsp:24 is buiten bereik"

# of moet 'immediate' behouden worden?
#: m32c-asm.c:483
msgid "immediate is out of range 1-2"
msgstr "onmiddellijke waarde is buiten bereik (1-2)"

# of moet 'immediate' behouden worden?
#: m32c-asm.c:501
msgid "immediate is out of range 1-8"
msgstr "onmiddellijke waarde is buiten bereik (1-8)"

# of moet 'immediate' behouden worden?
#: m32c-asm.c:519
msgid "immediate is out of range 0-7"
msgstr "onmiddellijke waarde is buiten bereik (0-7)"

# of moet 'immediate' behouden worden?
#: m32c-asm.c:555
msgid "immediate is out of range 2-9"
msgstr "onmiddellijke waarde is buiten bereik (2-9)"

# Is dit de juiste interpretatie van "indexing general register"
#: m32c-asm.c:573
msgid "Bit number for indexing general register is out of range 0-15"
msgstr "Bitnummer voor het indexeren van een general register is buiten bereik (0-15)"

#: m32c-asm.c:611 m32c-asm.c:667
msgid "bit,base is out of range"
msgstr "bit,base is buiten bereik"

# klinkt niet geweldig, maar de originele boodschap is ook niet veel soeps :D
#: m32c-asm.c:618 m32c-asm.c:623 m32c-asm.c:671
msgid "bit,base out of range for symbol"
msgstr "bit,base is buiten bereik voor een symbool"

#: m32c-asm.c:807
msgid "not a valid r0l/r0h pair"
msgstr "geen geldig r0l/r0h koppel"

#: m32c-asm.c:837
msgid "Invalid size specifier"
msgstr "Ongeldige grootte-specificatie"

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

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

#: m88k-dis.c:679
#, c-format
msgid "# <dis error: %08lx>"
msgstr "# <dis fout: %08lx>"

#: mep-asm.c:114
msgid "Only $tp or $13 allowed for this opcode"
msgstr "Deze opcode laat alleen $tp of $13 toe"

#: mep-asm.c:128
msgid "Only $sp or $15 allowed for this opcode"
msgstr "Deze opcode laat alleen stp of $15 toe"

# "hier" wrong een beetje in dit geval, dus gebruik ik "op deze plek"
#: mep-asm.c:299 mep-asm.c:455
#, c-format
msgid "invalid %function() here"
msgstr "ongeldige %function() op deze plek"

#: mips-dis.c:781
msgid "# internal error, incomplete extension sequence (+)"
msgstr "# interne fout, onvolledige extension sequence  (+)"

#: mips-dis.c:915
#, c-format
msgid "# internal error, undefined extension sequence (+%c)"
msgstr "# interne fout, extension sequence (+%c) niet gedefinieerd"

#: mips-dis.c:1274
#, c-format
msgid "# internal error, undefined modifier (%c)"
msgstr "# interne fout, modifier (%c) niet gedefinieerd"

#: mips-dis.c:1881
#, c-format
msgid "# internal disassembler error, unrecognised modifier (%c)"
msgstr "# interne fout in disassembler, modifier (%c) niet herkend"

#: mips-dis.c:2112
#, 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 ""
"\n"
"De volgende MIPS-specifieke disassembler-opties worden ondersteund voor gebruik\n"
"via de -M optie (meerdere opties moeten door komma's gescheiden worden):\n"

#: mips-dis.c:2116
#, 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            Druk GPR-namen af volgens de opgegeven ABI.\n"
"                           Standaard: gebaseerd op het binair bestand dat\n"
"                           gedesassembleerd wordt.\n"

#: mips-dis.c:2120
#, c-format
msgid ""
"\n"
"  fpr-names=ABI            Print FPR names according to specified ABI.\n"
"                           Default: numeric.\n"
msgstr ""
"\n"
"  fpr-names=ABI            Druk FPR-namen af volgens de opgegeven ABI.\n"
"                           Standaard: numeriek.\n"

#: mips-dis.c:2124
#, 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           Druk CP0 registernamen af volgens de opgegeven\n"
"                           architectuur.\n"
"                           Standaard: gebaseerd op het binair bestand dat\n"
"                           gedesassembleerd wordt.\n"

#: mips-dis.c:2129
#, 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           Druk HWR-namen af volgens de opgegeven architectuur.\n"
"                           Standaard: gebaseerd op het binair bestand dat\n"
"                           gedesassembleerd wordt.\n"
"\n"

#: mips-dis.c:2134
#, c-format
msgid ""
"\n"
"  reg-names=ABI            Print GPR and FPR names according to\n"
"                           specified ABI.\n"
msgstr ""
"\n"
"  reg-names=ABI            Druk GPR- en FPR-namen af volgens de opgegeven ABI.\n"

#: mips-dis.c:2138
#, c-format
msgid ""
"\n"
"  reg-names=ARCH           Print CP0 register and HWR names according to\n"
"                           specified architecture.\n"
msgstr ""
"\n"
"  reg-names=ARCH           Druk CP0 registernamen en HWR-namen af volgens de\n"
"                           opgegeven architectuur.\n"

#: mips-dis.c:2142
#, c-format
msgid ""
"\n"
"  For the options above, the following values are supported for \"ABI\":\n"
"   "
msgstr ""
"\n"
"  Voor de bovenstaande opties zijn dit de ondersteunde waarden voor \"ABI\":\n"
"   "

#: mips-dis.c:2147 mips-dis.c:2155 mips-dis.c:2157
#, c-format
msgid "\n"
msgstr "\n"

#: mips-dis.c:2149
#, c-format
msgid ""
"\n"
"  For the options above, The following values are supported for \"ARCH\":\n"
"   "
msgstr ""
"\n"
"  Voor de bovenstaande opties zijn dit de ondersteunde waarden voor \"ARCH\":\n"
"   "

#: mmix-dis.c:35
#, c-format
msgid "Bad case %d (%s) in %s:%d\n"
msgstr "Ongeldige case %d (%s) in %s:%d\n"

#: mmix-dis.c:45
#, c-format
msgid "Internal: Non-debugged code (test-case missing): %s:%d"
msgstr "Intern: Code niet gedebugd (test-case ontbreekt): %s:%d"

#: mmix-dis.c:54
msgid "(unknown)"
msgstr "(onbekend)"

#: mmix-dis.c:513
#, c-format
msgid "*unknown operands type: %d*"
msgstr "onbekend type operanden: %d"

#: mt-asm.c:110 mt-asm.c:190
msgid "Operand out of range. Must be between -32768 and 32767."
msgstr "Operand buiten bereik. Moet tussen -32768 en 32767 liggen."

# Should this even be here?
#: mt-asm.c:149
msgid "Biiiig Trouble in parse_imm16!"
msgstr "Groooooooot Probleem in parse_imm16!"

#: mt-asm.c:157
msgid "The percent-operator's operand is not a symbol"
msgstr "Operand van percent-operator is geen symbool"

#: mt-asm.c:395
msgid "invalid operand.  type may have values 0,1,2 only."
msgstr "ongeldige operand.  type mag alleen 0,1,2 als waarde hebben."

#. 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:534
#, c-format
msgid "$<undefined>"
msgstr "$<niet gedefinieerd>"

#: ppc-opc.c:862 ppc-opc.c:890
msgid "invalid conditional option"
msgstr "ongeldige voorwaardelijke optie"

# Dit kan waarschijnlijk beter
#: ppc-opc.c:892
msgid "attempt to set y bit when using + or - modifier"
msgstr "poging om y bit in te stellen wanneer + of - modifier gebruikt wordt"

#: ppc-opc.c:924
msgid "invalid mask field"
msgstr "ongeldig maskerveld"

#: ppc-opc.c:950
msgid "ignoring invalid mfcr mask"
msgstr "ongeldig mfcr-masker wordt genegeerd"

#: ppc-opc.c:1000 ppc-opc.c:1035
msgid "illegal bitmask"
msgstr "ongeldig bitmasker"

# of is laadbereik beter?
#: ppc-opc.c:1155
msgid "index register in load range"
msgstr "indexregister in load-bereik"

#: ppc-opc.c:1171
msgid "source and target register operands must be different"
msgstr "bron- en doel-registeroperanden moeten verschillen"

#: ppc-opc.c:1186
msgid "invalid register operand when updating"
msgstr "ongeldige register-operand bij update"

#: ppc-opc.c:1265
msgid "invalid sprg number"
msgstr "ongeldig sprg-nummer"

#: s390-dis.c:276
#, c-format
msgid ""
"\n"
"The following S/390 specific disassembler options are supported for use\n"
"with the -M switch (multiple options should be separated by commas):\n"
msgstr ""
"\n"
"De volgende S/390-specifieke disassembler-opties worden ondersteund voor gebruik\n"
"via de -M optie (meerdere opties moeten door komma's gescheiden worden):\n"

#: s390-dis.c:280
#, c-format
msgid "  esa         Disassemble in ESA architecture mode\n"
msgstr "  esa         Disassembleer in ESA-architectuur  modus\n"

#: s390-dis.c:281
#, c-format
msgid "  zarch       Disassemble in z/Architecture mode\n"
msgstr "  zarch       Disassembleer in z/Archiecture modus\n"

#: score-dis.c:220 score-dis.c:383
msgid "<illegal instruction>"
msgstr "<ongeldige instructie>"

# Looks like this is a typo (two spaces after the ':')
#: sparc-dis.c:282
#, c-format
msgid "Internal error:  bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"
msgstr "Interne fout: sparc-opcode.h is verkeerd: \"%s\", %#.8lx, %#.8lx\n"

#: sparc-dis.c:293
#, c-format
msgid "Internal error: bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"
msgstr "Interne fout: sparc-opcode.h is verkeerd: \"%s\", %#.8lx, %#.8lx\n"

#: sparc-dis.c:343
#, c-format
msgid "Internal error: bad sparc-opcode.h: \"%s\" == \"%s\"\n"
msgstr "Interne fout: sparc-opcode.h is verkeerd: \"%s\" == \"%s\"\n"

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

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

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

# Wat is een goede vertaling voor 'displacement'?
#. 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:48
msgid "displacement value is not in range and is not aligned"
msgstr "displacement-waarde is niet in bereik en is niet uitgelijnd"

#: v850-opc.c:49
msgid "displacement value is out of range"
msgstr "displacement-waarde is buiten bereik"

#: v850-opc.c:50
msgid "displacement value is not aligned"
msgstr "displacement-waarde is niet uitgelijnd"

# of moet 'immediate' behouden worden?
#: v850-opc.c:52
msgid "immediate value is out of range"
msgstr "onmiddellijke waarde is buiten bereik"

# Repeated message..., use 'to an odd...' to merge it
#: v850-opc.c:60
msgid "branch value not in range and to odd offset"
msgstr "branch-waarde niet in bereik en naar onpare offset"

#: v850-opc.c:62 v850-opc.c:89
msgid "branch value out of range"
msgstr "branch-waarde buiten bereik"

#: v850-opc.c:65 v850-opc.c:92
msgid "branch to odd offset"
msgstr "branch naar onpare offset"

#: v850-opc.c:87
msgid "branch value not in range and to an odd offset"
msgstr "branch-waarde niet in bereik en naar een onpare offset"

#: v850-opc.c:279
msgid "invalid register for stack adjustment"
msgstr "ongeldig register voor stack-aanpassing"

#: v850-opc.c:299
msgid "immediate value not in range and not even"
msgstr "onmiddellijke waarde niet in bereik en niet even"

#: v850-opc.c:304
msgid "immediate value must be even"
msgstr "onmiddellijke waarde moet even zijn"

#: xc16x-asm.c:66
msgid "Missing '#' prefix"
msgstr "'#' prefix ontbreekt"

#: xc16x-asm.c:82
msgid "Missing '.' prefix"
msgstr "'.' prefix ontbreekt"

#: xc16x-asm.c:98
msgid "Missing 'pof:' prefix"
msgstr "'pof.' prefix ontbreekt"

#: xc16x-asm.c:114
msgid "Missing 'pag:' prefix"
msgstr "'pag:' prefix ontbreekt"

#: xc16x-asm.c:130
msgid "Missing 'sof:' prefix"
msgstr "'sof:' prefix ontbreekt"

#: xc16x-asm.c:146
msgid "Missing 'seg:' prefix"
msgstr "'seg:' prefix ontbreekt"

#: xstormy16-asm.c:71
msgid "Bad register in preincrement"
msgstr "Ongeldig register in preincrement"

#: xstormy16-asm.c:76
msgid "Bad register in postincrement"
msgstr "Ongeldig register in postincrement"

#: xstormy16-asm.c:78
msgid "Bad register name"
msgstr "Ongeldige registernaam"

#: xstormy16-asm.c:82
msgid "Label conflicts with register name"
msgstr "Label geeft conflict met registernaam"

#: xstormy16-asm.c:86
msgid "Label conflicts with `Rx'"
msgstr "Label geeft conflict met `Rx'"

#: xstormy16-asm.c:88
msgid "Bad immediate expression"
msgstr "Slechte onmiddelijke expressie"

# immediate what? 'value' assumed
#: xstormy16-asm.c:109
msgid "No relocation for small immediate"
msgstr "Geen relocatie voor kleine onmiddelijke waarde"

#: xstormy16-asm.c:119
msgid "Small operand was not an immediate number"
msgstr "Kleine operand was geen onmiddellijk getal"

#: xstormy16-asm.c:157
msgid "Operand is not a symbol"
msgstr "Operand is geen symbool"

#: xstormy16-asm.c:165
msgid "Syntax error: No trailing ')'"
msgstr "Syntaxfout: Geen sluithaakje"
