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