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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# Klinkt niet echt geweldig, maar ja...
#: fr30-asm.c:310 frv-asm.c:1263 ip2k-asm.c:511 iq2000-asm.c:459
#: lm32-asm.c:349 m32c-asm.c:1589 m32r-asm.c:328 mep-asm.c:1287 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:1640 m32r-asm.c:379 mep-asm.c:1338 mt-asm.c:646
#: openrisc-asm.c:292 xc16x-asm.c:427 xstormy16-asm.c:327
msgid "missing mnemonic in syntax string"
msgstr "mnemonic ontbreekt in syntaxstring"

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

#: fr30-asm.c:543 frv-asm.c:1496 ip2k-asm.c:744 iq2000-asm.c:692
#: lm32-asm.c:582 m32c-asm.c:1822 m32r-asm.c:561 mep-asm.c:1520 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:1832 m32r-asm.c:571 mep-asm.c:1530 mt-asm.c:838
#: openrisc-asm.c:484 xc16x-asm.c:619 xstormy16-asm.c:519
#, c-format
msgid "syntax error (expected char `%c', found end of instruction)"
msgstr "syntaxfout (verwachtte `%c', vond het einde van de instructie)"

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

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

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

#: fr30-asm.c:702 frv-asm.c:1655 ip2k-asm.c:903 iq2000-asm.c:851
#: lm32-asm.c:741 m32c-asm.c:1981 m32r-asm.c:720 mep-asm.c:1679 mt-asm.c:987
#: openrisc-asm.c:633 xc16x-asm.c:768 xstormy16-asm.c:668
#, c-format
msgid "bad instruction `%.50s'"
msgstr "slechte instructie `%s.50s'"

#. Default text to print if an instruction isn't recognized.
#: fr30-dis.c:41 frv-dis.c:41 ip2k-dis.c:41 iq2000-dis.c:41 lm32-dis.c:41
#: m32c-dis.c:41 m32r-dis.c:41 mep-dis.c:41 mmix-dis.c:278 mt-dis.c:41
#: openrisc-dis.c:41 xc16x-dis.c:41 xstormy16-dis.c:41
msgid "*unknown*"
msgstr "*onbekend*"

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

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

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

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

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

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

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

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

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

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

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

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

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

#. -- assembler routines inserted here.
#. -- asm.c
#: frv-asm.c:972 iq2000-asm.c:56 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:141 m32c-asm.c:237
#: m32c-asm.c:279 m32c-asm.c:338 m32c-asm.c:360 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:327
#, c-format
msgid "Hmmmm 0x%x"
msgstr "Hmmmm 0x%x"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#: i386-gen.c:867
#, 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:998
#, 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:1075
#, 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:1164 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:1171
#, c-format
msgid "%d unused bits in i386_cpu_flags.\n"
msgstr "%d ongebruikte bits in i386_cpu_flags.\n"

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

#: i386-gen.c:1192
#, 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:147
#, c-format
msgid "%dsp8() takes a symbolic address, not a number"
msgstr "%dsp8() verwacht een symbolisch adres als argument, geen getal"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#: m68k-dis.c:1437
#, 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:1942
#, c-format
msgid "# internal disassembler error, unrecognised modifier (%c)"
msgstr "# interne fout in disassembler, modifier (%c) niet herkend"

#: mips-dis.c:2173
#, 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:2177
#, 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:2181
#, 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:2185
#, 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:2190
#, 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:2195
#, 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:2199
#, 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:2203
#, 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:2208 mips-dis.c:2216 mips-dis.c:2218
#, c-format
msgid "\n"
msgstr "\n"

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

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

#. R2/R3 are illegal as dest: may be data section.
#: msp430-dis.c:378
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:534
#, c-format
msgid "$<undefined>"
msgstr "$<niet gedefinieerd>"

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

#: ppc-dis.c:511
#, 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:870 ppc-opc.c:898
msgid "invalid conditional option"
msgstr "ongeldige voorwaardelijke optie"

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

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

#: ppc-opc.c:1008 ppc-opc.c:1043
msgid "illegal bitmask"
msgstr "ongeldig bitmasker"

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

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

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

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

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

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

#: s390-dis.c:282
#, 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:1014
msgid "unknown"
msgstr "onbekend"

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

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

# Wat is een goede vertaling voor 'displacement'?
#. The functions used to insert and extract complicated operands.
#. Note: There is a conspiracy between these functions and
#. v850_insert_operand() in gas/config/tc-v850.c.  Error messages
#. containing the string 'out of range' will be ignored unless a
#. specific command line option is given to GAS.
#: v850-opc.c:48
msgid "displacement value is not in range and is not aligned"
msgstr "displacement-waarde is niet in bereik en is niet uitgelijnd"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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