# Dutch messages for the Opcodes Library.
# Copyright (C) 1999, 2002, 2003, 2005, 2006, 2007, 2008, 2009, 2010 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, 2010.
#
msgid ""
msgstr ""
"Project-Id-Version: opcodes 2.20.90\n"
"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
"POT-Creation-Date: 2010-11-05 11:32+0100\n"
"PO-Revision-Date: 2010-11-12 10:52+0100\n"
"Last-Translator: Tim Van Holder <tim.van.holder@telenet.be>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"X-Bugs: Report translation errors to the Language-Team address.\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:1990
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:4357
#, 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:4365
#, c-format
msgid "Unrecognised disassembler option: %s\n"
msgstr "Disassembler-optie niet herkend: %s\n"

#: arm-dis.c:4950
#, 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:201 frv-ibld.c:201 ip2k-ibld.c:201
#: iq2000-ibld.c:201 lm32-ibld.c:201 m32c-ibld.c:201 m32r-ibld.c:201
#: mep-ibld.c:201 mt-ibld.c:201 openrisc-ibld.c:201 xc16x-ibld.c:201
#: xstormy16-ibld.c:201
#, 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:60
#, 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:69
#, 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:872 m32c-asm.c:879
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:910
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
#: lm32-asm.c:349 m32c-asm.c:1584 m32r-asm.c:328 mep-asm.c:1286 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
#: lm32-asm.c:400 m32c-asm.c:1635 m32r-asm.c:379 mep-asm.c:1337 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:589 fr30-asm.c:696 frv-asm.c:1449
#: frv-asm.c:1453 frv-asm.c:1542 frv-asm.c:1649 ip2k-asm.c:697 ip2k-asm.c:701
#: ip2k-asm.c:790 ip2k-asm.c:897 iq2000-asm.c:645 iq2000-asm.c:649
#: iq2000-asm.c:738 iq2000-asm.c:845 lm32-asm.c:535 lm32-asm.c:539
#: lm32-asm.c:628 lm32-asm.c:735 m32c-asm.c:1770 m32c-asm.c:1774
#: m32c-asm.c:1863 m32c-asm.c:1970 m32r-asm.c:514 m32r-asm.c:518
#: m32r-asm.c:607 m32r-asm.c:714 mep-asm.c:1472 mep-asm.c:1476 mep-asm.c:1565
#: mep-asm.c:1672 mt-asm.c:781 mt-asm.c:785 mt-asm.c:874 mt-asm.c:981
#: openrisc-asm.c:427 openrisc-asm.c:431 openrisc-asm.c:520 openrisc-asm.c:627
#: xc16x-asm.c:562 xc16x-asm.c:566 xc16x-asm.c:655 xc16x-asm.c:762
#: xstormy16-asm.c:462 xstormy16-asm.c:466 xstormy16-asm.c:555
#: xstormy16-asm.c:662
msgid "unrecognized instruction"
msgstr "instructie niet herkend"

#: fr30-asm.c:543 frv-asm.c:1496 ip2k-asm.c:744 iq2000-asm.c:692
#: lm32-asm.c:582 m32c-asm.c:1817 m32r-asm.c:561 mep-asm.c:1519 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
#: lm32-asm.c:592 m32c-asm.c:1827 m32r-asm.c:571 mep-asm.c:1529 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:583 frv-asm.c:1536 ip2k-asm.c:784 iq2000-asm.c:732
#: lm32-asm.c:622 m32c-asm.c:1857 m32r-asm.c:601 mep-asm.c:1559 mt-asm.c:868
#: openrisc-asm.c:514 xc16x-asm.c:649 xstormy16-asm.c:549
msgid "junk at end of line"
msgstr "rommel aan einde van lijn"

#: fr30-asm.c:695 frv-asm.c:1648 ip2k-asm.c:896 iq2000-asm.c:844
#: lm32-asm.c:734 m32c-asm.c:1969 m32r-asm.c:713 mep-asm.c:1671 mt-asm.c:980
#: openrisc-asm.c:626 xc16x-asm.c:761 xstormy16-asm.c:661
msgid "unrecognized form of instruction"
msgstr "instructievorm niet herkend"

#: fr30-asm.c:709 frv-asm.c:1662 ip2k-asm.c:910 iq2000-asm.c:858
#: lm32-asm.c:748 m32c-asm.c:1983 m32r-asm.c:727 mep-asm.c:1685 mt-asm.c:994
#: openrisc-asm.c:640 xc16x-asm.c:775 xstormy16-asm.c:675
#, c-format
msgid "bad instruction `%.50s...'"
msgstr "slechte instructie `%s.50s...'"

#: fr30-asm.c:712 frv-asm.c:1665 ip2k-asm.c:913 iq2000-asm.c:861
#: lm32-asm.c:751 m32c-asm.c:1986 m32r-asm.c:730 mep-asm.c:1688 mt-asm.c:997
#: openrisc-asm.c:643 xc16x-asm.c:778 xstormy16-asm.c:678
#, 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 lm32-dis.c:41
#: m32c-dis.c:41 m32r-dis.c:41 mep-dis.c:41 mmix-dis.c:277 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 lm32-dis.c:147
#: m32c-dis.c:891 m32r-dis.c:279 mep-dis.c:1187 mt-dis.c:290
#: openrisc-dis.c:135 xc16x-dis.c:420 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:164 frv-ibld.c:164 ip2k-ibld.c:164 iq2000-ibld.c:164
#: lm32-ibld.c:164 m32c-ibld.c:164 m32r-ibld.c:164 mep-ibld.c:164
#: mt-ibld.c:164 openrisc-ibld.c:164 xc16x-ibld.c:164 xstormy16-ibld.c:164
#, 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:185 frv-ibld.c:185 ip2k-ibld.c:185 iq2000-ibld.c:185
#: lm32-ibld.c:185 m32c-ibld.c:185 m32r-ibld.c:185 mep-ibld.c:185
#: mt-ibld.c:185 openrisc-ibld.c:185 xc16x-ibld.c:185 xstormy16-ibld.c:185
#, 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:727 frv-ibld.c:853 ip2k-ibld.c:604 iq2000-ibld.c:710
#: lm32-ibld.c:631 m32c-ibld.c:1728 m32r-ibld.c:662 mep-ibld.c:1205
#: mt-ibld.c:746 openrisc-ibld.c:630 xc16x-ibld.c:749 xstormy16-ibld.c:675
#, 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:932 frv-ibld.c:1170 ip2k-ibld.c:679 iq2000-ibld.c:885
#: lm32-ibld.c:735 m32c-ibld.c:2889 m32r-ibld.c:799 mep-ibld.c:1804
#: mt-ibld.c:966 openrisc-ibld.c:730 xc16x-ibld.c:969 xstormy16-ibld.c:821
#, 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:1078 frv-ibld.c:1448 ip2k-ibld.c:753 iq2000-ibld.c:1016
#: lm32-ibld.c:824 m32c-ibld.c:3506 m32r-ibld.c:912 mep-ibld.c:2274
#: mt-ibld.c:1166 openrisc-ibld.c:807 xc16x-ibld.c:1190 xstormy16-ibld.c:931
#, 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:1206 frv-ibld.c:1708 ip2k-ibld.c:809 iq2000-ibld.c:1129
#: lm32-ibld.c:895 m32c-ibld.c:4105 m32r-ibld.c:1007 mep-ibld.c:2726
#: mt-ibld.c:1348 openrisc-ibld.c:866 xc16x-ibld.c:1393 xstormy16-ibld.c:1023
#, 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:1337 frv-ibld.c:1975 ip2k-ibld.c:868 iq2000-ibld.c:1249
#: lm32-ibld.c:973 m32c-ibld.c:4692 m32r-ibld.c:1108 mep-ibld.c:3139
#: mt-ibld.c:1537 openrisc-ibld.c:932 xc16x-ibld.c:1597 xstormy16-ibld.c:1122
#, 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:1458 frv-ibld.c:2232 ip2k-ibld.c:917 iq2000-ibld.c:1359
#: lm32-ibld.c:1041 m32c-ibld.c:5269 m32r-ibld.c:1199 mep-ibld.c:3542
#: mt-ibld.c:1716 openrisc-ibld.c:988 xc16x-ibld.c:1791 xstormy16-ibld.c:1211
#, 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 lm32-asm.c:95 lm32-asm.c:127 lm32-asm.c:157
#: lm32-asm.c:187 lm32-asm.c:217 lm32-asm.c:247 m32c-asm.c:140 m32c-asm.c:235
#: m32c-asm.c:276 m32c-asm.c:334 m32c-asm.c:355 m32r-asm.c:53 mep-asm.c:241
#: mep-asm.c:259 mep-asm.c:274 mep-asm.c:289 mep-asm.c:301 openrisc-asm.c:54
msgid "missing `)'"
msgstr "`)' ontbreekt"

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

#: h8300-dis.c:695
#, 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:10671
msgid "<internal disassembler error>"
msgstr "<interne fout in de disassembler>"

#: i386-dis.c:10968
#, 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:10972
#, c-format
msgid "  x86-64      Disassemble in 64bit mode\n"
msgstr "  x86-64      Disassembleer in 64-bits modus\n"

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

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

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

#: i386-dis.c:10976
#, 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:10977
#, 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:10979
#, 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:10981
#, c-format
msgid "  addr64      Assume 64bit address size\n"
msgstr "  addr64      Ga uit van een 64-bits adresgrootte\n"

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

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

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

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

#: i386-dis.c:10986
#, 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:459 ia64-gen.c:307
#, c-format
msgid "%s: Error: "
msgstr "%s: Fout: "

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

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

#: i386-gen.c:649
#, c-format
msgid "%s: %d: Missing `)' in bitfield: %s\n"
msgstr "%s: %d: `)' ontbreekt in bitveld: %s\n"

#: i386-gen.c:914
#, 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:1045
#, 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:1122
#, 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:1211 ia64-gen.c:2820
#, 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:1218
#, c-format
msgid "%d unused bits in i386_cpu_flags.\n"
msgstr "%d ongebruikte bits in i386_cpu_flags.\n"

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

#: i386-gen.c:1239
#, 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:737
#, 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:819
#, c-format
msgid "can't find %s for reading\n"
msgstr "kan invoerbestand %s niet vinden\n"

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

#: ia64-gen.c:1251
#, 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:1456
#, 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:1478
#, 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:1517
#, 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:1520
#, c-format
msgid "IC:%s has no terminals or sub-classes\n"
msgstr "IC:%s heeft geen eindsymbolen of subklassen\n"

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

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

#: ia64-gen.c:1559
#, 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:1563
#, c-format
msgid "rsrc %s (%s) has no regs\n"
msgstr "rsrc %s (%s) heeft geen regs\n"

#: ia64-gen.c:2455
#, 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:2483
#, 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:2497
#, 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 lm32-asm.c:70
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"

# of gp-relatief?
#: lm32-asm.c:166
msgid "expecting gp relative address: gp(symbol)"
msgstr "relatief gp-adres verwacht: gp(symbool)"

#: lm32-asm.c:196
msgid "expecting got relative address: got(symbol)"
msgstr "relatief got-adres verwacht: got(symbool)"

#: lm32-asm.c:226
msgid "expecting got relative address: gotoffhi16(symbol)"
msgstr "relatief got-adres verwacht: gotoffhi16(symbool)"

#: lm32-asm.c:256
msgid "expecting got relative address: gotofflo16(symbol)"
msgstr "relatief got-adres verwacht: gotofflo16(symbool)"

#: 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:145
#, 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:253
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)"

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

#: m32c-asm.c:281
#, 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:305 m32c-asm.c:312 m32c-asm.c:373
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:399
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:425 m32c-asm.c:445
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:478
msgid "immediate is out of range 1-2"
msgstr "onmiddellijke waarde is buiten bereik (1-2)"

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

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

# of moet 'immediate' behouden worden?
#: m32c-asm.c:550
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:568
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:606 m32c-asm.c:662
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:613 m32c-asm.c:618 m32c-asm.c:666
msgid "bit,base out of range for symbol"
msgstr "bit,base is buiten bereik voor een symbool"

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

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

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

#: m68k-dis.c:1440
#, 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:129
msgid "Only $tp or $13 allowed for this opcode"
msgstr "Deze opcode laat alleen $tp of $13 toe"

#: mep-asm.c:143
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:308 mep-asm.c:504
#, c-format
msgid "invalid %function() here"
msgstr "ongeldige %function() op deze plek"

# of moet 'immediate' behouden worden?
#: mep-asm.c:336
msgid "Immediate is out of range -32768 to 32767"
msgstr "Onmiddellijke waarde is buiten bereik (-32768 tot 32767)"

# of moet 'immediate' behouden worden?
#: mep-asm.c:356
msgid "Immediate is out of range 0 to 65535"
msgstr "Onmiddellijke waarde is buiten bereik (0 tot 65535)"

# of moet 'immediate' behouden worden?
#: mep-asm.c:549 mep-asm.c:562
msgid "Immediate is out of range -512 to 511"
msgstr "Onmiddellijke waarde is buiten bereik (-512 tot 511)"

# of moet 'immediate' behouden worden?
#: mep-asm.c:554 mep-asm.c:563
msgid "Immediate is out of range -128 to 127"
msgstr "Onmiddellijke waarde is buiten bereik (-128 tot 127)"

#: mep-asm.c:558
msgid "Value is not aligned enough"
msgstr "Waarde is onvoldoende uitgelijnd"

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

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

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

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

#: mips-dis.c:2177
#, 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:2181
#, 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:2185
#, 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:2189
#, 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:2194
#, 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:2199
#, 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:2203
#, 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:2207
#, 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:2212 mips-dis.c:2220 mips-dis.c:2222
#, c-format
msgid "\n"
msgstr "\n"

#: mips-dis.c:2214
#, 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:512
#, c-format
msgid "*unknown operands type: %d*"
msgstr "onbekend type operanden: %d"

#: msp430-dis.c:328
msgid "Illegal as emulation instr"
msgstr "Niet toegestaan als emulatie-instructie"

#. R2/R3 are illegal as dest: may be data section.
#: msp430-dis.c:379
msgid "Illegal as 2-op instr"
msgstr "Niet toegestaan als instructie met 2 operanden"

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

#: ppc-dis.c:234
#, c-format
msgid "warning: ignoring unknown -M%s option\n"
msgstr "let op: onbekende -M%s optie wordt genegeerd\n"

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

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

# Dit kan waarschijnlijk beter
#: ppc-opc.c:908
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:940
msgid "invalid mask field"
msgstr "ongeldig maskerveld"

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

#: ppc-opc.c:1016 ppc-opc.c:1051
msgid "illegal bitmask"
msgstr "ongeldig bitmasker"

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

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

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

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

#: ppc-opc.c:1451
msgid "invalid constant"
msgstr "ongeldige constante"

#: s390-dis.c:301
#, 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:305
#, c-format
msgid "  esa         Disassemble in ESA architecture mode\n"
msgstr "  esa         Disassembleer in ESA-architectuur  modus\n"

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

#: score-dis.c:662 score-dis.c:869 score-dis.c:1030 score-dis.c:1144
#: score-dis.c:1151 score-dis.c:1158 score7-dis.c:694 score7-dis.c:857
msgid "<illegal instruction>"
msgstr "<ongeldige instructie>"

# Looks like this is a typo (two spaces after the ':')
#: sparc-dis.c:283
#, 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:294
#, 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:344
#, 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:1015
msgid "unknown"
msgstr "onbekend"

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

#: v850-dis.c:377
#, c-format
msgid "unknown reg: %d\n"
msgstr "onbekend 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:55
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:56
msgid "displacement value is out of range"
msgstr "displacement-waarde is buiten bereik"

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

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

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

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

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

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

#: v850-opc.c:518
msgid "invalid register name"
msgstr "Ongeldige registernaam"

#: 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"
