# Italian translation for opcodes.
# Copyright (C) 2011 Free Software Foundation, Inc.
# This file is distributed under the same license as the binutils package.
# Sergio Zanchetta <primes2h@ubuntu.com>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: opcodes-2.21.53\n"
"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
"POT-Creation-Date: 2011-06-02 14:30+0100\n"
"PO-Revision-Date: 2011-10-17 09:53+0200\n"
"Last-Translator: Sergio Zanchetta <primes2h@ubuntu.com>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural= (n != 1)\n"

#: alpha-opc.c:155
msgid "branch operand unaligned"
msgstr "operando di diramazione non allineato"

#: alpha-opc.c:171 alpha-opc.c:187
msgid "jump hint unaligned"
msgstr "suggerimento di salto non allineato"

#: arc-dis.c:77
msgid "Illegal limm reference in last instruction!\n"
msgstr "Riferimento limm non consentito nell'ultima istruzione.\n"

#: arc-opc.c:386
msgid "unable to fit different valued constants into instruction"
msgstr "impossibile adattare costanti di valore diverso nell'istruzione"

#: arc-opc.c:395
msgid "auxiliary register not allowed here"
msgstr "qui non è ammesso il registro ausiliario"

#: arc-opc.c:401 arc-opc.c:418
msgid "attempt to set readonly register"
msgstr "tentativo di impostazione di un registro in sola lettura"

#: arc-opc.c:406 arc-opc.c:423
msgid "attempt to read writeonly register"
msgstr "tentativo di lettura di un registro in sola scrittura"

#: arc-opc.c:428
#, c-format
msgid "invalid register number `%d'"
msgstr "numero di registro non valido \"%d\""

#: arc-opc.c:594 arc-opc.c:645 arc-opc.c:673
msgid "too many long constants"
msgstr "troppe costanti long"

#: arc-opc.c:668
msgid "too many shimms in load"
msgstr "troppi shimm in load"

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

#: arc-opc.c:814
msgid "st operand error"
msgstr "errore dell'operando st"

#: arc-opc.c:818 arc-opc.c:860
msgid "address writeback not allowed"
msgstr "il writeback dell'indirizzo non è permesso"

#: arc-opc.c:822
msgid "store value must be zero"
msgstr "il valore di memoria deve essere zero"

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

#: arc-opc.c:856
msgid "ld operand error"
msgstr "errore dell'operando ld"

#: arc-opc.c:943
msgid "jump flags, but no .f seen"
msgstr "flag di salto, ma .f non presente"

#: arc-opc.c:946
msgid "jump flags, but no limm addr"
msgstr "flag di salto, ma indirizzo limm non presente"

#: arc-opc.c:949
msgid "flag bits of jump address limm lost"
msgstr "persi i bit di flag dell'indirizzo limm di salto"

#: arc-opc.c:952
msgid "attempt to set HR bits"
msgstr "tentativo di impostare i bit HR"

#: arc-opc.c:955
msgid "bad jump flags value"
msgstr "valore dei flag di salto errato"

#: arc-opc.c:988
msgid "branch address not on 4 byte boundary"
msgstr "indirizzo di diramazione fuori del limite di 4 byte"

#: arc-opc.c:1024
msgid "must specify .jd or no nullify suffix"
msgstr "deve essere specificato .jd o un suffisso non invalidante"

#: arm-dis.c:1994
msgid "<illegal precision>"
msgstr "<precisione non consentita>"

#. XXX - should break 'option' at following delimiter.
#: arm-dis.c:4376
#, c-format
msgid "Unrecognised register name set: %s\n"
msgstr "Set di nomi di registro non riconosciuto: %s\n"

#. XXX - should break 'option' at following delimiter.
#: arm-dis.c:4384
#, c-format
msgid "Unrecognised disassembler option: %s\n"
msgstr "Opzione del disassemblatore non riconosciuta: %s\n"

#: arm-dis.c:4976
#, c-format
msgid ""
"\n"
"The following ARM specific disassembler options are supported for use with\n"
"the -M switch:\n"
msgstr ""
"\n"
"Le seguenti opzioni del disassemblatore specifiche per ARM possono essere\n"
"usate con l'opzione -M:\n"

#: avr-dis.c:115 avr-dis.c:135
#, c-format
msgid "undefined"
msgstr "indefinito"

#: avr-dis.c:197
#, c-format
msgid "Internal disassembler error"
msgstr "Errore interno del disassemblatore"

#: avr-dis.c:250
#, c-format
msgid "unknown constraint `%c'"
msgstr "vincolo sconosciuto \"%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 "operando fuori dall'intervallo (%ld non è tra %ld e %ld)"

#: cgen-asm.c:358
#, c-format
msgid "operand out of range (%lu not between %lu and %lu)"
msgstr "operando fuori dall'intervallo (%lu non è tra %lu e %lu)"

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

#. Can't happen.
#: dis-buf.c:60
#, c-format
msgid "Unknown error %d\n"
msgstr "Errore sconosciuto %d\n"

#: dis-buf.c:69
#, c-format
msgid "Address 0x%s is out of bounds.\n"
msgstr "L'indirizzo 0x%s è fuori dai limiti.\n"

#: fr30-asm.c:93 m32c-asm.c:872 m32c-asm.c:879
msgid "Register number is not valid"
msgstr "Il numero di registro non è valido"

#: fr30-asm.c:95
msgid "Register must be between r0 and r7"
msgstr "Il registro deve essere tra r0 e r7"

#: fr30-asm.c:97
msgid "Register must be between r8 and r15"
msgstr "Il registro deve essere tra r8 e r15"

#: fr30-asm.c:116 m32c-asm.c:910
msgid "Register list is not valid"
msgstr "L'elenco dei registri non è valido"

#: 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 "Campo %d non riconosciuto durante l'analisi.\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 "Mnemonico mancante nella stringa di sintassi"

#. 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 "istruzione non riconosciuta"

#: 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 "errore di sintassi (carattere atteso \"%c\", trovato \"%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 "errore di sintassi (carattere atteso \"%c\", trovata fine dell'istruzione)"

#: 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 "spazzatura alla fine della riga"

#: 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 "forma dell'istruzione non riconosciuta"

#: 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 "istruzione errata \"%.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 "istruzione errata \"%.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 "*sconosciuta*"

#: 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 "Campo %d non riconosciuto durante la stampa dell'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 "operando fuori dall'intervallo (%ld non è tra %ld e %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 "operando fuori dall'intervallo (0x%lx non è tra 0 e 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 "Campo %d non riconosciuto durante la generazione dell'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 "Campo %d non riconosciuto durante la decodifica dell'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 "Campo %d non riconosciuto durante la ricezione dell'operando int.\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 "Campo %d non riconosciuto durante la ricezione dell'operando vma.\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 "Campo %d non riconosciuto durante l'impostazione dell'operando int.\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 "Campo %d non riconosciuto durante l'impostazione dell'operando vma.\n"

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

#: frv-asm.c:611 frv-asm.c:621
msgid "Special purpose register number is out of range"
msgstr "Il numero del registro di uso speciale è fuori dall'intervallo"

#: frv-asm.c:908
msgid "Value of A operand must be 0 or 1"
msgstr "Il valore dell'operando A deve essere 0 o 1"

#: frv-asm.c:944
msgid "register number must be even"
msgstr "il numero di registro deve essere pari"

#. -- 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 "\")\" mancante"

#: 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 "0x%x non è chiaro \n"

#: h8500-dis.c:124
#, c-format
msgid "can't cope with insert %d\n"
msgstr "impossibile occuparsi di insert %d\n"

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

#: i386-dis.c:10774
msgid "<internal disassembler error>"
msgstr "<errore interno del disassemblatore>"

#: i386-dis.c:11071
#, 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"
"Le seguenti opzioni del disassemblatore specifiche per i386/x86-64 possono essere usate\n"
"con l'opzione -M (valori multipli devono essere separati da virgole):\n"

#: i386-dis.c:11075
#, c-format
msgid "  x86-64      Disassemble in 64bit mode\n"
msgstr "  x86-64      Disassembla in modalità 64bit\n"

#: i386-dis.c:11076
#, c-format
msgid "  i386        Disassemble in 32bit mode\n"
msgstr "  i386       Disassembla in modalità 32bit\n"

#: i386-dis.c:11077
#, c-format
msgid "  i8086       Disassemble in 16bit mode\n"
msgstr "  i8086       Disassembla in modalità 16bit\n"

#: i386-dis.c:11078
#, c-format
msgid "  att         Display instruction in AT&T syntax\n"
msgstr "  att         Visualizza le istruzioni con la sintassi AT&T\n"

#: i386-dis.c:11079
#, c-format
msgid "  intel       Display instruction in Intel syntax\n"
msgstr "  intel       Visualizza le istruzioni con la sintassi Intel\n"

#: i386-dis.c:11080
#, c-format
msgid ""
"  att-mnemonic\n"
"              Display instruction in AT&T mnemonic\n"
msgstr ""
"  att-mnemonic\n"
"              Visualizza le istruzioni con lo mnemonico AT&T\n"

#: i386-dis.c:11082
#, c-format
msgid ""
"  intel-mnemonic\n"
"              Display instruction in Intel mnemonic\n"
msgstr ""
"  intel-mnemonic\n"
"              Visualizza le istruzioni con lo mnemonico Intel\n"

#: i386-dis.c:11084
#, c-format
msgid "  addr64      Assume 64bit address size\n"
msgstr "  addr64      Assume 64bit come dimensione degli indirizzi\n"

#: i386-dis.c:11085
#, c-format
msgid "  addr32      Assume 32bit address size\n"
msgstr "  addr32      Assume 32bit come dimensione degli indirizzi\n"

#: i386-dis.c:11086
#, c-format
msgid "  addr16      Assume 16bit address size\n"
msgstr "  addr16      Assume 16bit come dimensione degli indirizzi\n"

#: i386-dis.c:11087
#, c-format
msgid "  data32      Assume 32bit data size\n"
msgstr "  data32      Assume 32bit come dimensione dei dati\n"

#: i386-dis.c:11088
#, c-format
msgid "  data16      Assume 16bit data size\n"
msgstr "  data16      Assume 16bit come dimensione dei dati\n"

#: i386-dis.c:11089
#, c-format
msgid "  suffix      Always display instruction suffix in AT&T syntax\n"
msgstr "  suffix      Visualizza sempre il suffisso dell'istruzione con la sintassi AT&T\n"

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

#: i386-gen.c:599
#, c-format
msgid "%s: %d: Unknown bitfield: %s\n"
msgstr "%s: %d: campo di bit sconosciuto: %s\n"

#: i386-gen.c:601
#, c-format
msgid "Unknown bitfield: %s\n"
msgstr "Campo di bit sconosciuto: %s\n"

#: i386-gen.c:657
#, c-format
msgid "%s: %d: Missing `)' in bitfield: %s\n"
msgstr "%s: %d: \")\" mancante nel campo di bit: %s\n"

#: i386-gen.c:922
#, c-format
msgid "can't find i386-opc.tbl for reading, errno = %s\n"
msgstr "impossibile trovare i386-opc.tbl per la lettura, errno = %s\n"

#: i386-gen.c:1053
#, c-format
msgid "can't find i386-reg.tbl for reading, errno = %s\n"
msgstr "impossibile trovare i386-reg.tbl per la lettura, errno = %s\n"

#: i386-gen.c:1130
#, c-format
msgid "can't create i386-init.h, errno = %s\n"
msgstr "impossibile creare i386-init.h, errno = %s\n"

#: i386-gen.c:1219 ia64-gen.c:2820
#, c-format
msgid "unable to change directory to \"%s\", errno = %s\n"
msgstr "impossibile cambiare la directory a \"%s\", errno = %s\n"

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

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

#: i386-gen.c:1247
#, c-format
msgid "can't create i386-tbl.h, errno = %s\n"
msgstr "impossibile creare i386-tbl.h, errno = %s\n"

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

#: ia64-gen.c:506 ia64-gen.c:737
#, c-format
msgid "multiple note %s not handled\n"
msgstr "note multiple %s non gestite\n"

#: ia64-gen.c:617
msgid "can't find ia64-ic.tbl for reading\n"
msgstr "impossibile trovare ia64-ic.tbl per la lettura\n"

#: ia64-gen.c:819
#, c-format
msgid "can't find %s for reading\n"
msgstr "impossibile trovare %s per la lettura\n"

#: ia64-gen.c:1043
#, c-format
msgid ""
"most recent format '%s'\n"
"appears more restrictive than '%s'\n"
msgstr ""
"il formato più recente \"%s\"\n"
"appare più restrittivo di \"%s\"\n"

#: ia64-gen.c:1054
#, c-format
msgid "overlapping field %s->%s\n"
msgstr "campo sovrapposto %s->%s\n"

#: ia64-gen.c:1251
#, c-format
msgid "overwriting note %d with note %d (IC:%s)\n"
msgstr "sovrascrittura della nota %d con la nota %d (IC:%s)\n"

#: ia64-gen.c:1456
#, c-format
msgid "don't know how to specify %% dependency %s\n"
msgstr "non si conosce come specificare la dipendenza %% %s\n"

#: ia64-gen.c:1478
#, c-format
msgid "Don't know how to specify # dependency %s\n"
msgstr "Non si conosce come specificare la dipendenza # %s\n"

#: ia64-gen.c:1517
#, c-format
msgid "IC:%s [%s] has no terminals or sub-classes\n"
msgstr "IC:%s [%s] non ha terminali o sottoclassi\n"

#: ia64-gen.c:1520
#, c-format
msgid "IC:%s has no terminals or sub-classes\n"
msgstr "IC:%s non ha terminali o sottoclassi\n"

#: ia64-gen.c:1529
#, c-format
msgid "no insns mapped directly to terminal IC %s [%s]"
msgstr "nessun insn mappato direttamente sull'IC terminale %s [%s]"

#: ia64-gen.c:1532
#, c-format
msgid "no insns mapped directly to terminal IC %s\n"
msgstr "nessun insn mappato direttamente sull'IC terminale %s\n"

#: ia64-gen.c:1543
#, c-format
msgid "class %s is defined but not used\n"
msgstr "la classe %s è definita ma non usata\n"

#: ia64-gen.c:1556
#, c-format
msgid "Warning: rsrc %s (%s) has no chks\n"
msgstr "Attenzione: la risorsa %s (%s) non ha impedimenti\n"

#: ia64-gen.c:1559
#, c-format
msgid "Warning: rsrc %s (%s) has no chks or regs\n"
msgstr "Attenzione: la risorsa %s (%s) non ha impedimenti o registri\n"

#: ia64-gen.c:1563
#, c-format
msgid "rsrc %s (%s) has no regs\n"
msgstr "la risorsa %s (%s) non ha registri\n"

#: ia64-gen.c:2455
#, c-format
msgid "IC note %d in opcode %s (IC:%s) conflicts with resource %s note %d\n"
msgstr "la nota IC %d nell'opcode %s (IC:%s) è in conflitto con la risorsa %s con nota %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 "la nota IC %d per l'opcode %s (IC:%s) è in conflitto con la risorsa %s con nota %d\n"

#: ia64-gen.c:2497
#, c-format
msgid "opcode %s has no class (ops %d %d %d)\n"
msgstr "l'opcode %s non ha una classe (operandi %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 "Parola chiave w non valida nello slot FR dell'operando."

#. Invalid offset present.
#: ip2k-asm.c:106
msgid "offset(IP) is not a valid form"
msgstr "l'offset(IP) non è valido"

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

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

#: ip2k-asm.c:211
msgid "illegal use of parentheses"
msgstr "uso non consentito delle parentesi"

#: ip2k-asm.c:218
msgid "operand out of range (not between 1 and 255)"
msgstr "operando fuori dall'intervallo (non è tra 1 e 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: indice dell'operando non valido."

#: ip2k-asm.c:296
msgid "Byte address required. - must be even."
msgstr "Richiesto l'indirizzo in byte. - Deve essere pari."

#: ip2k-asm.c:305
msgid "cgen_parse_address returned a symbol. Literal required."
msgstr "cgen_parse_address ha restituito un simbolo. È richiesto un letterale."

#: ip2k-asm.c:360
msgid "percent-operator operand is not a symbol"
msgstr "l'operando dell'operatore percentuale non è un simbolo"

#: ip2k-asm.c:413
msgid "Attempt to find bit index of 0"
msgstr "Tentativo di trovare un indice di bit pari a 0"

#: iq2000-asm.c:112 iq2000-asm.c:142
msgid "immediate value cannot be register"
msgstr "il valore dell'immediato non può essere registro"

#: iq2000-asm.c:123 iq2000-asm.c:153 lm32-asm.c:70
msgid "immediate value out of range"
msgstr "valore dell'immediato fuori dall'intervallo"

#: iq2000-asm.c:182
msgid "21-bit offset out of range"
msgstr "l'offset a 21 bit è fuori dall'intervallo"

#: lm32-asm.c:166
msgid "expecting gp relative address: gp(symbol)"
msgstr "atteso indirizzo relativo del puntatore globale: gp(simbolo)"

#: lm32-asm.c:196
msgid "expecting got relative address: got(symbol)"
msgstr "atteso indirizzo relativo della tabella offset globali: got(simbolo)"

#: lm32-asm.c:226
msgid "expecting got relative address: gotoffhi16(symbol)"
msgstr "atteso indirizzo relativo della tabella offset globali: gotoffhi16(simbolo)"

#: lm32-asm.c:256
msgid "expecting got relative address: gotofflo16(symbol)"
msgstr "atteso indirizzo relativo della tabella offset globali: gotofflo16(simbolo)"

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

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

#: m32c-asm.c:117
msgid "imm:6 immediate is out of range"
msgstr "imm:6 l'immediato è fuori dall'intervallo"

#: m32c-asm.c:145
#, c-format
msgid "%dsp8() takes a symbolic address, not a number"
msgstr "%dsp8() accetta un indirizzo simbolico, non un numero"

#: m32c-asm.c:159 m32c-asm.c:163 m32c-asm.c:253
msgid "dsp:8 immediate is out of range"
msgstr "dsp:8 immediato fuori dall'intervallo"

#: m32c-asm.c:184 m32c-asm.c:188
msgid "Immediate is out of range -8 to 7"
msgstr "L'immediato è fuori dall'intervallo da -8 a 7"

#: m32c-asm.c:209 m32c-asm.c:213
msgid "Immediate is out of range -7 to 8"
msgstr "L'immediato è fuori dall'intervallo da -7 a 8"

#: m32c-asm.c:281
#, c-format
msgid "%dsp16() takes a symbolic address, not a number"
msgstr "%dsp16() accetta un indirizzo simbolico, non un numero"

#: m32c-asm.c:305 m32c-asm.c:312 m32c-asm.c:373
msgid "dsp:16 immediate is out of range"
msgstr "dsp:16 l'immediato è fuori dall'intervallo"

#: m32c-asm.c:399
msgid "dsp:20 immediate is out of range"
msgstr "dsp:20 l'immediato è fuori dall'intervallo"

#: m32c-asm.c:425 m32c-asm.c:445
msgid "dsp:24 immediate is out of range"
msgstr "dsp:24 l'immediato è fuori dall'intervallo"

#: m32c-asm.c:478
msgid "immediate is out of range 1-2"
msgstr "l'immediato è fuori dall'intervallo 1-2"

#: m32c-asm.c:496
msgid "immediate is out of range 1-8"
msgstr "l'immediato è fuori dall'intervallo 1-8"

#: m32c-asm.c:514
msgid "immediate is out of range 0-7"
msgstr "l'immediato è fuori dall'intervallo 0-7"

#: m32c-asm.c:550
msgid "immediate is out of range 2-9"
msgstr "l'immediato è fuori dall'intervallo 2-9"

#: m32c-asm.c:568
msgid "Bit number for indexing general register is out of range 0-15"
msgstr "Il numero del bit per indicizzare il registro generale è fuori dall'intervallo 0-15"

#: m32c-asm.c:606 m32c-asm.c:662
msgid "bit,base is out of range"
msgstr "bit o base fuori dall'intervallo"

#: m32c-asm.c:613 m32c-asm.c:618 m32c-asm.c:666
msgid "bit,base out of range for symbol"
msgstr "bit o base fuori dall'intervallo per il simbolo"

#: m32c-asm.c:802
msgid "not a valid r0l/r0h pair"
msgstr "non è una coppia r0l/r0h valida"

#: m32c-asm.c:832
msgid "Invalid size specifier"
msgstr "Specificatore di dimensione non valido"

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

#: m68k-dis.c:1440
#, c-format
msgid "<internal error in opcode table: %s %s>\n"
msgstr "<errore interno nella tabella degli opcode: %s %s>\n"

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

#: mep-asm.c:129
msgid "Only $tp or $13 allowed for this opcode"
msgstr "Per questo opcode è ammesso solo $tp o $13"

#: mep-asm.c:143
msgid "Only $sp or $15 allowed for this opcode"
msgstr "Per questo opcode è ammesso solo $sp o $15"

#: mep-asm.c:308 mep-asm.c:504
#, c-format
msgid "invalid %function() here"
msgstr "qui %function() non è valida"

#: mep-asm.c:336
msgid "Immediate is out of range -32768 to 32767"
msgstr "L'immediato è fuori dall'intervallo da -32768 a 32767"

#: mep-asm.c:356
msgid "Immediate is out of range 0 to 65535"
msgstr "L'immediato è fuori dall'intervallo da 0 a 65535"

#: mep-asm.c:549 mep-asm.c:562
msgid "Immediate is out of range -512 to 511"
msgstr "L'immediato è fuori dall'intervallo da -512 a 511"

#: mep-asm.c:554 mep-asm.c:563
msgid "Immediate is out of range -128 to 127"
msgstr "L'immediato è fuori dall'intervallo da -128 a 127"

#: mep-asm.c:558
msgid "Value is not aligned enough"
msgstr "Il valore non è abbastanza allineato"

#: mips-dis.c:845
msgid "# internal error, incomplete extension sequence (+)"
msgstr "# errore interno, sequenza di estensione incompleta (+)"

#: mips-dis.c:1011
#, c-format
msgid "# internal error, undefined extension sequence (+%c)"
msgstr "# errore interno, sequenza di estensione non definita (+%c)"

#: mips-dis.c:1371
#, c-format
msgid "# internal error, undefined modifier (%c)"
msgstr "# errore interno, modificatore non definito (%c)"

#: mips-dis.c:1975
#, c-format
msgid "# internal disassembler error, unrecognised modifier (%c)"
msgstr "# errore interno del disassemblatore, modificatore non riconosciuto (%c)"

#: mips-dis.c:2213
#, 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"
"Le seguenti opzioni del disassemblatore specifiche per MIPS possono essere usate\n"
"con l'opzione -M (valori multipli devono essere separati da virgole):\n"

#: mips-dis.c:2217
#, 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            Stampa i nomi dei registri d'uso generale\n"
"                           secondo l'ABI specificato.\n"
"                           Predefinito: basato sul binario in fase di disassemblamento.\n"

#: mips-dis.c:2221
#, c-format
msgid ""
"\n"
"  fpr-names=ABI            Print FPR names according to specified ABI.\n"
"                           Default: numeric.\n"
msgstr ""
"\n"
"  fpr-names=ABI            Stampa i nomi dei registri in virgola\n"
"                           mobile secondo l'ABI specificato.\n"
"                           Default: numerico.\n"

#: mips-dis.c:2225
#, 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           Stampa i nomi dei registri CP0 secondo\n"
"                           l'architettura specificata.\n"
"                           Predefinito: basato sul binario in fase di disassemblamento.\n"

#: mips-dis.c:2230
#, 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           Stampa i nomi dei registri HWR\n"
"\t\t\t   secondo l'architettura specificata.\n"
"                           Predefinito: basato sul binario in fase di disassemblamento.\n"

#: mips-dis.c:2235
#, c-format
msgid ""
"\n"
"  reg-names=ABI            Print GPR and FPR names according to\n"
"                           specified ABI.\n"
msgstr ""
"\n"
"  reg-names=ABI            Stampa i nomi dei registri d'uso generale e in\n"
"                           virgola mobile secondo l'ABI specificato.\n"

#: mips-dis.c:2239
#, c-format
msgid ""
"\n"
"  reg-names=ARCH           Print CP0 register and HWR names according to\n"
"                           specified architecture.\n"
msgstr ""
"\n"
"  reg-names=ARCH           Stampa i nomi dei registri CP0 e HWR secondo\n"
"                           l'architettura specificata.\n"

#: mips-dis.c:2243
#, c-format
msgid ""
"\n"
"  For the options above, the following values are supported for \"ABI\":\n"
"   "
msgstr ""
"\n"
"  Per \"ABI\" sono supportati i seguenti valori per le opzioni di cui sopra:\n"
"   "

#: mips-dis.c:2248 mips-dis.c:2256 mips-dis.c:2258
#, c-format
msgid "\n"
msgstr "\n"

#: mips-dis.c:2250
#, c-format
msgid ""
"\n"
"  For the options above, The following values are supported for \"ARCH\":\n"
"   "
msgstr ""
"\n"
"  Per \"ARCH\" sono supportati i seguenti valori per le opzioni di cui sopra:\n"
"   "

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

#: mmix-dis.c:45
#, c-format
msgid "Internal: Non-debugged code (test-case missing): %s:%d"
msgstr "Errore interno: codice senza debug (caso di test mancante): %s:%d"

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

#: mmix-dis.c:512
#, c-format
msgid "*unknown operands type: %d*"
msgstr "*operando di tipo sconosciuto: %d*"

#: msp430-dis.c:328
msgid "Illegal as emulation instr"
msgstr "Non consentita come istruzione di emulazione"

#. R2/R3 are illegal as dest: may be data section.
#: msp430-dis.c:379
msgid "Illegal as 2-op instr"
msgstr "Non consentita come istruzione a 2 operandi"

#: mt-asm.c:110 mt-asm.c:190
msgid "Operand out of range. Must be between -32768 and 32767."
msgstr "Operando fuori dall'intervallo. Deve essere tra -32768 e 32767."

#: mt-asm.c:149
msgid "Biiiig Trouble in parse_imm16!"
msgstr "Grosso problema in parse_imm16."

#: mt-asm.c:157
msgid "The percent-operator's operand is not a symbol"
msgstr "L'operando dell'operatore percentuale non è un simbolo"

#: mt-asm.c:395
msgid "invalid operand.  type may have values 0,1,2 only."
msgstr "operando non valido,  il tipo corrispondente può solo avere valori 0,1,2."

#. 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 "$<indefinito>"

#: ppc-dis.c:234
#, c-format
msgid "warning: ignoring unknown -M%s option\n"
msgstr "attenzione: opzione sconosciuta -M%s ignorata\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"
"Le seguenti opzioni del disassemblatore specifiche per PPC possono essere usate\n"
"con l'opzione -M:\n"

#: ppc-opc.c:879 ppc-opc.c:907
msgid "invalid conditional option"
msgstr "opzione condizionale non valida"

#: ppc-opc.c:909
msgid "attempt to set y bit when using + or - modifier"
msgstr "tentativo di impostare il bit y quando viene usato il modificatore + o -"

#: ppc-opc.c:941
msgid "invalid mask field"
msgstr "campo di maschera non valido"

#: ppc-opc.c:967
msgid "ignoring invalid mfcr mask"
msgstr "maschera mfcr non valida ignorata"

#: ppc-opc.c:1017 ppc-opc.c:1052
msgid "illegal bitmask"
msgstr "maschera di bit non consentita"

#: ppc-opc.c:1172
msgid "index register in load range"
msgstr "registro indice nell'intervallo load"

#: ppc-opc.c:1188
msgid "source and target register operands must be different"
msgstr "gli operandi del registro sorgente e obiettivo devono essere diversi"

#: ppc-opc.c:1203
msgid "invalid register operand when updating"
msgstr "operando del registro non valido durante l'aggiornamento"

#: ppc-opc.c:1282
msgid "invalid sprg number"
msgstr "numero di registro di uso speciale (sprg) non valido"

#: ppc-opc.c:1452
msgid "invalid constant"
msgstr "costante non valida"

#: 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"
"Le seguenti opzioni del disassemblatore specifiche per S/390 possono essere usate\n"
"con l'opzione -M (valori multipli devono essere separati da virgole):\n"

#: s390-dis.c:305
#, c-format
msgid "  esa         Disassemble in ESA architecture mode\n"
msgstr "  esa         Disassembla in modalità architettura ESA\n"

#: s390-dis.c:306
#, c-format
msgid "  zarch       Disassemble in z/Architecture mode\n"
msgstr "  zarch       Disassembla in modalità architettura z/Architecture\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 "<istruzione non consentita>"

#: sparc-dis.c:283
#, c-format
msgid "Internal error:  bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"
msgstr "Errore interno:  sparc-opcode.h errato: \"%s\", %#.8lx, %#.8lx\n"

#: sparc-dis.c:294
#, c-format
msgid "Internal error: bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"
msgstr "Errore interno: sparc-opcode.h errato: \"%s\", %#.8lx, %#.8lx\n"

#: sparc-dis.c:344
#, c-format
msgid "Internal error: bad sparc-opcode.h: \"%s\" == \"%s\"\n"
msgstr "Errore interno: sparc-opcode.h errato: \"%s\" == \"%s\"\n"

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

#: v850-dis.c:372
#, c-format
msgid "unknown operand shift: %x\n"
msgstr "scorrimento dell'operando sconosciuto: %x\n"

#: v850-dis.c:384
#, c-format
msgid "unknown reg: %d\n"
msgstr "registro sconosciuto: %d\n"

#. 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 "il valore di sostituzione non è nell'intervallo e non è allineato"

#: v850-opc.c:56
msgid "displacement value is out of range"
msgstr "il valore di sostituzione è fuori dall'intervallo"

#: v850-opc.c:57
msgid "displacement value is not aligned"
msgstr "il valore di sostituzione non è allineato"

#: v850-opc.c:59
msgid "immediate value is out of range"
msgstr "il valore dell'immediato è fuori dall'intervallo"

#: v850-opc.c:60
msgid "branch value out of range"
msgstr "Valore di diramazione fuori dall'intervallo"

#: v850-opc.c:61
msgid "branch value not in range and to odd offset"
msgstr "valore di diramazione fuori dall'intervallo e su un offset dispari"

#: v850-opc.c:62
msgid "branch to odd offset"
msgstr "diramazione su un offset dispari"

#: v850-opc.c:497
msgid "invalid register for stack adjustment"
msgstr "registro non valido per la regolazione dello stack"

#: v850-opc.c:518
msgid "invalid register name"
msgstr "Nome di registro non valido"

#: xc16x-asm.c:66
msgid "Missing '#' prefix"
msgstr "Prefisso \"#\" mancante"

#: xc16x-asm.c:82
msgid "Missing '.' prefix"
msgstr "Prefisso \".\" mancante"

#: xc16x-asm.c:98
msgid "Missing 'pof:' prefix"
msgstr "Prefisso \"pof:\" mancante"

#: xc16x-asm.c:114
msgid "Missing 'pag:' prefix"
msgstr "Prefisso \"pag:\" mancante"

#: xc16x-asm.c:130
msgid "Missing 'sof:' prefix"
msgstr "Prefisso \"sof:\" mancante"

#: xc16x-asm.c:146
msgid "Missing 'seg:' prefix"
msgstr "Prefisso \"seg:\" mancante"

#: xstormy16-asm.c:71
msgid "Bad register in preincrement"
msgstr "Registro errato nel preincremento"

#: xstormy16-asm.c:76
msgid "Bad register in postincrement"
msgstr "Registro errato nel postincremento"

#: xstormy16-asm.c:78
msgid "Bad register name"
msgstr "Nome di registro errato"

#: xstormy16-asm.c:82
msgid "Label conflicts with register name"
msgstr "L'etichetta è in conflitto con il nome di registro"

#: xstormy16-asm.c:86
msgid "Label conflicts with `Rx'"
msgstr "L'etichetta è in conflitto con \"Rx\""

#: xstormy16-asm.c:88
msgid "Bad immediate expression"
msgstr "Espressione di immediati errata"

#: xstormy16-asm.c:109
msgid "No relocation for small immediate"
msgstr "Nessuna rilocazione per immediati small"

#: xstormy16-asm.c:119
msgid "Small operand was not an immediate number"
msgstr "L'operando small non era un numero immediato"

#: xstormy16-asm.c:157
msgid "Operand is not a symbol"
msgstr "L'operando non è un simbolo"

#: xstormy16-asm.c:165
msgid "Syntax error: No trailing ')'"
msgstr "Errore di sintassi: nessun \")\" di chiusura"
