# Dutch messages for the Opcodes Library.
# Copyright (C) 1999, 2002, 2003, 2005, 2006 Free Software Foundation, Inc.
# This file is distributed under the same license as the Opcodes package.
# Tim Van Holder <tim.van.holder@telenet.be>, 1999, 2002, 2003, 2005, 2006.
# 
msgid ""
msgstr ""
"Project-Id-Version: opcodes 2.16.93\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2005-10-25 10:50+0930\n"
"PO-Revision-Date: 2006-05-21 20:56+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=iso-8859-1\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:75
msgid "Illegal limm reference in last instruction!\n"
msgstr "Ongeldige limm-verwijzing in de laatste instructie!\n"

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

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

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

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

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

#: arc-opc.c:592 arc-opc.c:643 arc-opc.c:671
msgid "too many long constants"
msgstr "te veel lange constantes"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#: arm-dis.c:1302
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:2746
#, 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:2754
#, c-format
msgid "Unrecognised disassembler option: %s\n"
msgstr "Disassembler-optie niet herkend: %s\n"

#: arm-dis.c:2916
#, 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:109 avr-dis.c:119
#, c-format
msgid "undefined"
msgstr "niet gedefinieerd"

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

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

#: cgen-asm.c:336 fr30-ibld.c:192 frv-ibld.c:192 ip2k-ibld.c:192
#: iq2000-ibld.c:192 m32c-ibld.c:192 m32r-ibld.c:192 ms1-ibld.c:192
#: openrisc-ibld.c:192 xstormy16-ibld.c:192
#, 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:252
#, c-format
msgid "<unknown register %d>"
msgstr "<onbekend register %d>"

#. Can't happen.
#: dis-buf.c:57
#, 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:66
#, c-format
msgid "Address 0x%s is out of bounds.\n"
msgstr "Adres 0x%s is buiten de perken.\n"

#: fr30-asm.c:92 m32c-asm.c:782 m32c-asm.c:789
msgid "Register number is not valid"
msgstr "Registernummer is ongeldig"

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

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

#: fr30-asm.c:115 m32c-asm.c:820
msgid "Register list is not valid"
msgstr "Regijsterlijst is ongeldig"

# Betere vertaling voor 'parsing'?
#: fr30-asm.c:309 frv-asm.c:1262 ip2k-asm.c:510 iq2000-asm.c:456
#: m32c-asm.c:1476 m32r-asm.c:323 ms1-asm.c:546 openrisc-asm.c:240
#: xstormy16-asm.c:275
#, c-format
msgid "Unrecognized field %d while parsing.\n"
msgstr "Veld %d niet herkend tijdens parsen.\n"

#: fr30-asm.c:357 frv-asm.c:1310 ip2k-asm.c:558 iq2000-asm.c:504
#: m32c-asm.c:1524 m32r-asm.c:371 ms1-asm.c:594 openrisc-asm.c:288
#: xstormy16-asm.c:323
msgid "missing mnemonic in syntax string"
msgstr "mnemonic ontbreekt in syntaxstring"

#. We couldn't parse it.
#: fr30-asm.c:492 fr30-asm.c:496 fr30-asm.c:583 fr30-asm.c:684 frv-asm.c:1445
#: frv-asm.c:1449 frv-asm.c:1536 frv-asm.c:1637 ip2k-asm.c:693 ip2k-asm.c:697
#: ip2k-asm.c:784 ip2k-asm.c:885 iq2000-asm.c:639 iq2000-asm.c:643
#: iq2000-asm.c:730 iq2000-asm.c:831 m32c-asm.c:1659 m32c-asm.c:1663
#: m32c-asm.c:1750 m32c-asm.c:1851 m32r-asm.c:506 m32r-asm.c:510
#: m32r-asm.c:597 m32r-asm.c:698 ms1-asm.c:729 ms1-asm.c:733 ms1-asm.c:820
#: ms1-asm.c:921 openrisc-asm.c:423 openrisc-asm.c:427 openrisc-asm.c:514
#: openrisc-asm.c:615 xstormy16-asm.c:458 xstormy16-asm.c:462
#: xstormy16-asm.c:549 xstormy16-asm.c:650
msgid "unrecognized instruction"
msgstr "instructie niet herkend"

#: fr30-asm.c:539 frv-asm.c:1492 ip2k-asm.c:740 iq2000-asm.c:686
#: m32c-asm.c:1706 m32r-asm.c:553 ms1-asm.c:776 openrisc-asm.c:470
#: xstormy16-asm.c:505
#, c-format
msgid "syntax error (expected char `%c', found `%c')"
msgstr "syntaxfout (verwachtte `%c', vond `%c')"

#: fr30-asm.c:549 frv-asm.c:1502 ip2k-asm.c:750 iq2000-asm.c:696
#: m32c-asm.c:1716 m32r-asm.c:563 ms1-asm.c:786 openrisc-asm.c:480
#: xstormy16-asm.c:515
#, 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:577 frv-asm.c:1530 ip2k-asm.c:778 iq2000-asm.c:724
#: m32c-asm.c:1744 m32r-asm.c:591 ms1-asm.c:814 openrisc-asm.c:508
#: xstormy16-asm.c:543
msgid "junk at end of line"
msgstr "rommel aan einde van lijn"

#: fr30-asm.c:683 frv-asm.c:1636 ip2k-asm.c:884 iq2000-asm.c:830
#: m32c-asm.c:1850 m32r-asm.c:697 ms1-asm.c:920 openrisc-asm.c:614
#: xstormy16-asm.c:649
msgid "unrecognized form of instruction"
msgstr "instructievorm niet herkend"

#: fr30-asm.c:695 frv-asm.c:1648 ip2k-asm.c:896 iq2000-asm.c:842
#: m32c-asm.c:1862 m32r-asm.c:709 ms1-asm.c:932 openrisc-asm.c:626
#: xstormy16-asm.c:661
#, c-format
msgid "bad instruction `%.50s...'"
msgstr "slechte instructie `%s.50s...'"

#: fr30-asm.c:698 frv-asm.c:1651 ip2k-asm.c:899 iq2000-asm.c:845
#: m32c-asm.c:1865 m32r-asm.c:712 ms1-asm.c:935 openrisc-asm.c:629
#: xstormy16-asm.c:664
#, 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 mmix-dis.c:278 ms1-dis.c:41 openrisc-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:860
#: m32r-dis.c:256 ms1-dis.c:258 openrisc-dis.c:135 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 ms1-ibld.c:163 openrisc-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:176 frv-ibld.c:176 ip2k-ibld.c:176 iq2000-ibld.c:176
#: m32c-ibld.c:176 m32r-ibld.c:176 ms1-ibld.c:176 openrisc-ibld.c:176
#: xstormy16-ibld.c:176
#, c-format
msgid "operand out of range (%lu not between 0 and %lu)"
msgstr "operand buiten bereik (%lu niet tussen 0 en %lu)"

#: fr30-ibld.c:719 frv-ibld.c:845 ip2k-ibld.c:596 iq2000-ibld.c:702
#: m32c-ibld.c:1668 m32r-ibld.c:654 ms1-ibld.c:713 openrisc-ibld.c:622
#: xstormy16-ibld.c:667
#, 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:924 frv-ibld.c:1162 ip2k-ibld.c:671 iq2000-ibld.c:877
#: m32c-ibld.c:2780 m32r-ibld.c:791 ms1-ibld.c:907 openrisc-ibld.c:722
#: xstormy16-ibld.c:813
#, 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:1070 frv-ibld.c:1440 ip2k-ibld.c:745 iq2000-ibld.c:1008
#: m32c-ibld.c:3379 m32r-ibld.c:904 ms1-ibld.c:1086 openrisc-ibld.c:799
#: xstormy16-ibld.c:923
#, 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:1198 frv-ibld.c:1700 ip2k-ibld.c:801 iq2000-ibld.c:1121
#: m32c-ibld.c:3960 m32r-ibld.c:999 ms1-ibld.c:1247 openrisc-ibld.c:858
#: xstormy16-ibld.c:1015
#, 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:1329 frv-ibld.c:1967 ip2k-ibld.c:860 iq2000-ibld.c:1241
#: m32c-ibld.c:4529 m32r-ibld.c:1100 ms1-ibld.c:1415 openrisc-ibld.c:924
#: xstormy16-ibld.c:1114
#, 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:1450 frv-ibld.c:2224 ip2k-ibld.c:909 iq2000-ibld.c:1351
#: m32c-ibld.c:5088 m32r-ibld.c:1191 ms1-ibld.c:1573 openrisc-ibld.c:980
#: xstormy16-ibld.c:1203
#, 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:607
msgid "missing `]'"
msgstr "`]' ontbreekt"

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

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

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

#. -- assembler routines inserted here.
#. -- asm.c
#: frv-asm.c:971 iq2000-asm.c:55 m32c-asm.c:140 m32c-asm.c:211 m32c-asm.c:253
#: m32c-asm.c:312 m32c-asm.c:334 m32r-asm.c:52 openrisc-asm.c:53
msgid "missing `)'"
msgstr "`)' ontbreekt"

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

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

#: h8500-dis.c:122
#, 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:322
#, c-format
msgid "%02x\t\t*unknown*"
msgstr "%02x\t\t*onbekend*"

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

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

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

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

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

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

#: ia64-gen.c:1036
#, 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:1047
#, c-format
msgid "overlapping field %s->%s\n"
msgstr "overlappend veld %s->%s\n"

#: ia64-gen.c:1244
#, 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:1443
#, 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:1465
#, 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:1504
#, 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:1507
#, c-format
msgid "IC:%s has no terminals or sub-classes\n"
msgstr "IC:%s heeft geen eindsymbolen of subklassen\n"

#: ia64-gen.c:1516
#, 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:1519
#, 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:1530
#, c-format
msgid "class %s is defined but not used\n"
msgstr "klasse %s is gedefinieerd maar wordt niet gebruikt\n"

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

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

#: ia64-gen.c:2444
#, 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:2472
#, 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:2486
#, c-format
msgid "opcode %s has no class (ops %d %d %d)\n"
msgstr "opcode %s heeft geen klasse (ops %d %d %d)\n"

#: ia64-gen.c:2816
#, c-format
msgid "unable to change directory to \"%s\", errno = %s\n"
msgstr "kan niet naar directory \"%s\" gaan, 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:80
msgid "W keyword invalid in FR operand slot."
msgstr "keyword W is ongeldig in operand-slot FR"

#. Invalid offset present.
#: ip2k-asm.c:105
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:153
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:194
msgid "(SP) offset out of range."
msgstr "(SP) offset buiten bereik"

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

#: ip2k-asm.c:217
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:241
msgid "parse_addr16: invalid opindex."
msgstr "parse_addr16: ongeldige opindex."

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

#: ip2k-asm.c:304
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:359
msgid "percent-operator operand is not a symbol"
msgstr "operand van percent-operator is geen symbool"

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

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

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

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

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

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

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

#: m32c-asm.c:146
#, 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:159 m32c-asm.c:163 m32c-asm.c:229
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:184 m32c-asm.c:188
msgid "Immediate is out of range -8 to 7"
msgstr "onmiddellijke waarde is buiten bereik (-8 tot 7)"

#: m32c-asm.c:259
#, 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:282 m32c-asm.c:289 m32c-asm.c:352
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:378
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:404
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:437
msgid "immediate is out of range 1-2"
msgstr "onmiddellijke waarde is buiten bereik (1-2)"

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

# of moet 'immediate' behouden worden?
#: m32c-asm.c:491
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:509
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)"

# of moet 'immediate' behouden worden?
#: m32c-asm.c:541 m32c-asm.c:576
msgid "bit,base is out of range"
msgstr "bit,base is buiten bereik"

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

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

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

#: m68k-dis.c:1313
#, 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>"

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

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

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

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

#: mips-dis.c:1894
#, 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:1898
#, 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:1902
#, 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:1906
#, 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:1911
#, 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:1916
#, 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:1920
#, 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:1924
#, 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:1929 mips-dis.c:1937 mips-dis.c:1939
#, c-format
msgid "\n"
msgstr "\n"

#: mips-dis.c:1931
#, 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"

#: ms1-asm.c:84 ms1-asm.c:162
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?
#: ms1-asm.c:121
msgid "Biiiig Trouble in parse_imm16!"
msgstr "Grooooooooooot Probleem in parse_imm16!"

#: ms1-asm.c:129
#, c-format
msgid "%operator operand is not a symbol"
msgstr "operand van %operator is geen symbool"

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

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

# Dit kan waarschijnlijk beter
#: ppc-opc.c:830
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:858
msgid "offset not a multiple of 16"
msgstr "offset is geen veelvoud van 16"

#: ppc-opc.c:877
msgid "offset not a multiple of 2"
msgstr "offset is geen veelvoud van 2"

#: ppc-opc.c:879
msgid "offset greater than 62"
msgstr "offset is groter dan 62"

#: ppc-opc.c:898 ppc-opc.c:943 ppc-opc.c:987
msgid "offset not a multiple of 4"
msgstr "offset is geen veelvoud van 4"

#: ppc-opc.c:900
msgid "offset greater than 124"
msgstr "offset is groter dan 124"

#: ppc-opc.c:919
msgid "offset not a multiple of 8"
msgstr "offset is geen veelvoud van 8"

#: ppc-opc.c:921
msgid "offset greater than 248"
msgstr "offset is groter dan 248"

#: ppc-opc.c:964
msgid "offset not between -2048 and 2047"
msgstr "offset ligt niet tussen -2048 en 2047"

#: ppc-opc.c:985
msgid "offset not between -8192 and 8191"
msgstr "offset ligt niet tussen -8192 en 8191"

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

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

#: ppc-opc.c:1081
msgid "ignoring least significant bits in branch offset"
msgstr "minst significante bits worden genegeerd in branch offset"

#: ppc-opc.c:1111 ppc-opc.c:1146
msgid "illegal bitmask"
msgstr "illegaal bitmasker"

#: ppc-opc.c:1211
msgid "value out of range"
msgstr "waarde buiten bereik"

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

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

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

#: ppc-opc.c:1349
msgid "target register operand must be even"
msgstr "doel-registeroperand moet even zijn"

#: ppc-opc.c:1363
msgid "source register operand must be even"
msgstr "bron-registeroperand moet even zijn"

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

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

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

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

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

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

#: v850-dis.c:251
#, 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:46
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:47
msgid "displacement value is out of range"
msgstr "displacement-waarde is buiten bereik"

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

# of moet 'immediate' behouden worden?
#: v850-opc.c:50
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:58
msgid "branch value not in range and to odd offset"
msgstr "branch-waarde niet in bereik en naar onpare offset"

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

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

#: v850-opc.c:85
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:277
msgid "invalid register for stack adjustment"
msgstr "ongeldig register voor stack-aanpassing"

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

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

# of is laadbereik beter?
#: xstormy16-asm.c:70
msgid "Bad register in preincrement"
msgstr "Ongeldig register in preincrement"

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

# of is laadbereik beter?
#: xstormy16-asm.c:77
msgid "Bad register name"
msgstr "Ongeldige registernaam"

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

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

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

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

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

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

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