# translation of opcodes-2.14rel030712.tr.po to Turkish
# Copyright (C) 2003 Free Software Foundation, Inc.
# Deniz Akkus Kanca <deniz@arayan.com>, 2001,2003.
#
msgid ""
msgstr ""
"Project-Id-Version: opcodes 2.14rel030712\n"
"POT-Creation-Date: 2003-07-11 13:56+0930\n"
"PO-Revision-Date: 2003-07-13 22:58+0300\n"
"Last-Translator: Deniz Akkus Kanca <deniz@arayan.com>\n"
"Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.0\n"

#: alpha-opc.c:335
msgid "branch operand unaligned"
msgstr "dal işleneni hizalı değil"

#: alpha-opc.c:358 alpha-opc.c:380
msgid "jump hint unaligned"
msgstr "atlama işareti hizalı değil"

#: arc-dis.c:52
msgid "Illegal limm reference in last instruction!\n"
msgstr "Son işlemde geçersiz limm referansı!\n"

#: arm-dis.c:554
msgid "<illegal precision>"
msgstr "<geçersiz kesinlik>"

#: arm-dis.c:1162
#, c-format
msgid "Unrecognised register name set: %s\n"
msgstr "Bilinmeyen yazmaç ad kümesi: %s\n"

#: arm-dis.c:1169
#, c-format
msgid "Unrecognised disassembler option: %s\n"
msgstr "Bilinmeyen karşıt-çevirici seçeneği: %s\n"

#: arm-dis.c:1343
msgid ""
"\n"
"The following ARM specific disassembler options are supported for use with\n"
"the -M switch:\n"
msgstr ""
"\n"
"Aşağıdaki ARM'a özgü karşıt-çevirici seçenekleri \n"
"-M seçeneği ile kullanılabilir:\n"

#: avr-dis.c:117 avr-dis.c:127
msgid "undefined"
msgstr "tanımlanmamış"

#: avr-dis.c:179
msgid "Internal disassembler error"
msgstr "İç karşıt-çevirici hatası "

#: avr-dis.c:227
#, c-format
msgid "unknown constraint `%c'"
msgstr "`%c' bilinmeyen kısıtı"

#: cgen-asm.c:348 fr30-ibld.c:195 frv-ibld.c:195 ip2k-ibld.c:195
#: iq2000-ibld.c:195 m32r-ibld.c:195 openrisc-ibld.c:195 xstormy16-ibld.c:195
#, c-format
msgid "operand out of range (%ld not between %ld and %ld)"
msgstr "Kapsam dışı terim (%ld, %ld ve %ld arasında değil) "

#: cgen-asm.c:369
#, c-format
msgid "operand out of range (%lu not between %lu and %lu)"
msgstr "Kapsam dışı terim (%lu, %lu ve %lu arasında değil)"

#: d30v-dis.c:312
#, c-format
msgid "<unknown register %d>"
msgstr "<bilinmeyen yazmaç %d>"

#. Can't happen.
#: dis-buf.c:57
#, c-format
msgid "Unknown error %d\n"
msgstr "Bilinmeyen hata %d\n"

#: dis-buf.c:62
#, c-format
msgid "Address 0x%x is out of bounds.\n"
msgstr "0x%x adresi sınırların dışında.\n"

#: fr30-asm.c:323 frv-asm.c:626 ip2k-asm.c:574 iq2000-asm.c:460 m32r-asm.c:325
#: openrisc-asm.c:261 xstormy16-asm.c:284
#, c-format
msgid "Unrecognized field %d while parsing.\n"
msgstr "Ayrıştırma esnasında bilinmeyen alan %d bulundu.\n"

#: fr30-asm.c:373 frv-asm.c:676 ip2k-asm.c:624 iq2000-asm.c:510 m32r-asm.c:375
#: openrisc-asm.c:311 xstormy16-asm.c:334
msgid "missing mnemonic in syntax string"
msgstr "biçem dizgesinde ipucu eksik"

#. We couldn't parse it.
#: fr30-asm.c:509 fr30-asm.c:513 fr30-asm.c:600 fr30-asm.c:702 frv-asm.c:812
#: frv-asm.c:816 frv-asm.c:903 frv-asm.c:1005 ip2k-asm.c:760 ip2k-asm.c:764
#: ip2k-asm.c:851 ip2k-asm.c:953 iq2000-asm.c:646 iq2000-asm.c:650
#: iq2000-asm.c:737 iq2000-asm.c:839 m32r-asm.c:511 m32r-asm.c:515
#: m32r-asm.c:602 m32r-asm.c:704 openrisc-asm.c:447 openrisc-asm.c:451
#: openrisc-asm.c:538 openrisc-asm.c:640 xstormy16-asm.c:470
#: xstormy16-asm.c:474 xstormy16-asm.c:561 xstormy16-asm.c:663
msgid "unrecognized instruction"
msgstr "bilinmeyen işlem"

#: fr30-asm.c:556 frv-asm.c:859 ip2k-asm.c:807 iq2000-asm.c:693 m32r-asm.c:558
#: openrisc-asm.c:494 xstormy16-asm.c:517
#, c-format
msgid "syntax error (expected char `%c', found `%c')"
msgstr "biçem hatası (char `%c' beklenirken `%c' bulundu)"

#: fr30-asm.c:566 frv-asm.c:869 ip2k-asm.c:817 iq2000-asm.c:703 m32r-asm.c:568
#: openrisc-asm.c:504 xstormy16-asm.c:527
#, c-format
msgid "syntax error (expected char `%c', found end of instruction)"
msgstr "biçem hatası (char `%c' beklenirken işlem sonu bulundu)"

#: fr30-asm.c:594 frv-asm.c:897 ip2k-asm.c:845 iq2000-asm.c:731 m32r-asm.c:596
#: openrisc-asm.c:532 xstormy16-asm.c:555
msgid "junk at end of line"
msgstr "Satır sonu bozuk "

#: fr30-asm.c:701 frv-asm.c:1004 ip2k-asm.c:952 iq2000-asm.c:838
#: m32r-asm.c:703 openrisc-asm.c:639 xstormy16-asm.c:662
msgid "unrecognized form of instruction"
msgstr "bilinmeyen işlem türü"

#: fr30-asm.c:713 frv-asm.c:1016 ip2k-asm.c:964 iq2000-asm.c:850
#: m32r-asm.c:715 openrisc-asm.c:651 xstormy16-asm.c:674
#, c-format
msgid "bad instruction `%.50s...'"
msgstr "geçersiz işlem `%.50s...'"

#: fr30-asm.c:716 frv-asm.c:1019 ip2k-asm.c:967 iq2000-asm.c:853
#: m32r-asm.c:718 openrisc-asm.c:654 xstormy16-asm.c:677
#, c-format
msgid "bad instruction `%.50s'"
msgstr "geçersiz işlem `%.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 m32r-dis.c:41
#: mmix-dis.c:284 openrisc-dis.c:41 xstormy16-dis.c:41
msgid "*unknown*"
msgstr "*bilinmeyen*"

#: fr30-dis.c:320 frv-dis.c:371 ip2k-dis.c:329 iq2000-dis.c:192 m32r-dis.c:251
#: openrisc-dis.c:138 xstormy16-dis.c:171
#, c-format
msgid "Unrecognized field %d while printing insn.\n"
msgstr "yönerge yazdırılırken bilinmeyen alan %d bulundu.\n"

#: fr30-ibld.c:166 frv-ibld.c:166 ip2k-ibld.c:166 iq2000-ibld.c:166
#: m32r-ibld.c:166 openrisc-ibld.c:166 xstormy16-ibld.c:166
#, c-format
msgid "operand out of range (%ld not between %ld and %lu)"
msgstr "Kapsam dışı işlenen (%ld, %ld ve %lu arasında değil) "

#: fr30-ibld.c:179 frv-ibld.c:179 ip2k-ibld.c:179 iq2000-ibld.c:179
#: m32r-ibld.c:179 openrisc-ibld.c:179 xstormy16-ibld.c:179
#, c-format
msgid "operand out of range (%lu not between 0 and %lu)"
msgstr "kapsam dışı terim (%lu 0 ve %lu arasında değil) "

#: fr30-ibld.c:730 frv-ibld.c:829 ip2k-ibld.c:607 iq2000-ibld.c:713
#: m32r-ibld.c:659 openrisc-ibld.c:633 xstormy16-ibld.c:678
#, c-format
msgid "Unrecognized field %d while building insn.\n"
msgstr "Yönerge oluşturulurken bilinmeyen alan %d bulundu.\n"

#: fr30-ibld.c:937 frv-ibld.c:1121 ip2k-ibld.c:684 iq2000-ibld.c:890
#: m32r-ibld.c:792 openrisc-ibld.c:735 xstormy16-ibld.c:826
#, c-format
msgid "Unrecognized field %d while decoding insn.\n"
msgstr "Yönerge çözümlenirken bilinmeyen alan %d bulundu.\n"

#: fr30-ibld.c:1086 frv-ibld.c:1375 ip2k-ibld.c:761 iq2000-ibld.c:1024
#: m32r-ibld.c:902 openrisc-ibld.c:815 xstormy16-ibld.c:939
#, c-format
msgid "Unrecognized field %d while getting int operand.\n"
msgstr "`int' terimi alınırken bilinmeyen alan %d bulundu.\n"

#: fr30-ibld.c:1215 frv-ibld.c:1609 ip2k-ibld.c:818 iq2000-ibld.c:1138
#: m32r-ibld.c:992 openrisc-ibld.c:875 xstormy16-ibld.c:1032
#, c-format
msgid "Unrecognized field %d while getting vma operand.\n"
msgstr "`vma' terimi alınırken bilinmeyen alan %d bulundu.\n"

#: fr30-ibld.c:1349 frv-ibld.c:1852 ip2k-ibld.c:880 iq2000-ibld.c:1261
#: m32r-ibld.c:1090 openrisc-ibld.c:944 xstormy16-ibld.c:1134
#, c-format
msgid "Unrecognized field %d while setting int operand.\n"
msgstr "`int' terimi atanırken bilinmeyen alan %d bulundu.\n"

#: fr30-ibld.c:1471 frv-ibld.c:2083 ip2k-ibld.c:930 iq2000-ibld.c:1372
#: m32r-ibld.c:1176 openrisc-ibld.c:1001 xstormy16-ibld.c:1224
#, c-format
msgid "Unrecognized field %d while setting vma operand.\n"
msgstr "`vma' terimi atanırken bilinmeyen alan %d bulundu.\n"

#: frv-asm.c:365
msgid "register number must be even"
msgstr "yazmaç çift sayı olmalı"

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

#: h8300-dis.c:760
#, c-format
msgid "Don't understand 0x%x \n"
msgstr "0x%x anlaşılamadı\n"

#: h8500-dis.c:143
#, c-format
msgid "can't cope with insert %d\n"
msgstr "insert %d yaptırılamıyor\n"

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

#: i386-dis.c:1699
msgid "<internal disassembler error>"
msgstr "<iç karşıt-çevirici hatası>"

#: ia64-gen.c:295
#, c-format
msgid "%s: Error: "
msgstr "%s: Hata: "

#: ia64-gen.c:308
#, c-format
msgid "%s: Warning: "
msgstr "%s: Uyarı: "

#: ia64-gen.c:494 ia64-gen.c:728
#, c-format
msgid "multiple note %s not handled\n"
msgstr "çoklu not %s desteklenmiyor\n"

#: ia64-gen.c:605
msgid "can't find ia64-ic.tbl for reading\n"
msgstr "ia64-ic.tbl okunmak için bulunamadı\n"

#: ia64-gen.c:810
#, c-format
msgid "can't find %s for reading\n"
msgstr "%s okunmak için bulunamadı\n"

#: ia64-gen.c:1034
#, c-format
msgid ""
"most recent format '%s'\n"
"appears more restrictive than '%s'\n"
msgstr ""
"en son biçem '%s'\n"
"'%s'dan daha kısıtlayıcı\n"

#: ia64-gen.c:1045
#, c-format
msgid "overlapping field %s->%s\n"
msgstr "üstüste binmiş alan %s->%s\n"

#: ia64-gen.c:1236
#, c-format
msgid "overwriting note %d with note %d (IC:%s)\n"
msgstr "%2$d notu %1$d notunun üstüne yazılıyor (IC:%3$s)\n"

#: ia64-gen.c:1435
#, c-format
msgid "don't know how to specify %% dependency %s\n"
msgstr "%% %s bağımlılığının nasıl tanımlanacağı bilinmiyor\n"

#: ia64-gen.c:1457
#, c-format
msgid "Don't know how to specify # dependency %s\n"
msgstr "# %s bağımlılığının nasıl tanımlanacağı bilinmiyor\n"

#: ia64-gen.c:1496
#, c-format
msgid "IC:%s [%s] has no terminals or sub-classes\n"
msgstr "IC: %s [%s]'nin değişmez simgeleri veya alt sınıfları yok\n"

#: ia64-gen.c:1499
#, c-format
msgid "IC:%s has no terminals or sub-classes\n"
msgstr "IC: %s'nin değişmez simgeleri veya alt sınıfları yok\n"

#: ia64-gen.c:1508
#, c-format
msgid "no insns mapped directly to terminal IC %s [%s]"
msgstr "değişmez simge IC %s [%s]'ye direkt eşleşen işlem yok "

#: ia64-gen.c:1511
#, c-format
msgid "no insns mapped directly to terminal IC %s\n"
msgstr "değişmez simge IC %s'ye direkt eşleşen işlem yok\n"

#: ia64-gen.c:1522
#, c-format
msgid "class %s is defined but not used\n"
msgstr "%s sınıfı tanımlanmış fakat kullanılmamış\n"

#: ia64-gen.c:1533
#, c-format
msgid "Warning: rsrc %s (%s) has no chks%s\n"
msgstr "Uyarı: rsrc %s (%s) içinde kontrol yok %s\n"

#: ia64-gen.c:1537
#, c-format
msgid "rsrc %s (%s) has no regs\n"
msgstr "rsrc %s (%s) içinde yazmaç yok\n"

#: ia64-gen.c:2436
#, c-format
msgid "IC note %d in opcode %s (IC:%s) conflicts with resource %s note %d\n"
msgstr "(IC:%3$s) opkod %2$s içinde IC notu %1$d, %4$s kaynağı %5$d notuyla çelişiyor\n"

#: ia64-gen.c:2464
#, c-format
msgid "IC note %d for opcode %s (IC:%s) conflicts with resource %s note %d\n"
msgstr "(IC:%3$s) opkod %2$s için IC notu %1$d, %4$s kaynağı %5$d notuyla çelişiyor\n"

#: ia64-gen.c:2478
#, c-format
msgid "opcode %s has no class (ops %d %d %d)\n"
msgstr "%s opkodunun sınıfları yok (ops %d %d %d)\n"

#: ia64-gen.c:2789
#, c-format
msgid "unable to change directory to \"%s\", errno = %s\n"
msgstr "\"%s\" dizinine geçilemedi, hatano = %s\n"

#. We've been passed a w.  Return with an error message so that
#. cgen will try the next parsing option.
#: ip2k-asm.c:92
msgid "W keyword invalid in FR operand slot."
msgstr "FR işlenen slotunda W anahtar kelimesi geçersiz."

#. Invalid offset present.
#: ip2k-asm.c:122
msgid "offset(IP) is not a valid form"
msgstr "görece(IP) geçerli biçimde değil"

#. Found something there in front of (DP) but it's out
#. of range.
#: ip2k-asm.c:175
msgid "(DP) offset out of range."
msgstr "(DP) görecesi aralık dışı."

#. Found something there in front of (SP) but it's out
#. of range.
#: ip2k-asm.c:221
msgid "(SP) offset out of range."
msgstr "(SP) görece aralık dışı."

#: ip2k-asm.c:241
msgid "illegal use of parentheses"
msgstr "parantezlerin geçersiz kullanımı"

#: ip2k-asm.c:248
msgid "operand out of range (not between 1 and 255)"
msgstr "kapsam dışı işlenen (1 ve 255 arasında değil)"

#. Something is very wrong. opindex has to be one of the above.
#: ip2k-asm.c:273
msgid "parse_addr16: invalid opindex."
msgstr "parse_addr16: geçersiz opindeks."

#: ip2k-asm.c:353
msgid "Byte address required. - must be even."
msgstr "Bayt adresi gerekli. - çift sayı olmalı."

#: ip2k-asm.c:362
msgid "cgen_parse_address returned a symbol. Literal required."
msgstr "cgen_parse_address bir sembol döndürdü. Sabit gerekli."

#: ip2k-asm.c:420
#, c-format
msgid "%operator operand is not a symbol"
msgstr "%operator işleneni sembol değil"

#: ip2k-asm.c:474
msgid "Attempt to find bit index of 0"
msgstr "0'ın bit indeksini bulma denemesi"

#: iq2000-asm.c:110 iq2000-asm.c:141
msgid "immediate value cannot be register"
msgstr "şimdiki değer yazmaç olamaz"

#: iq2000-asm.c:120 iq2000-asm.c:151
msgid "immediate value out of range"
msgstr "şimdiki değer kapsam dışı"

#: iq2000-asm.c:180
msgid "21-bit offset out of range"
msgstr "21 bit görece değer aralık dışı"

#: iq2000-asm.c:205 iq2000-asm.c:235 iq2000-asm.c:272 iq2000-asm.c:305
#: openrisc-asm.c:96 openrisc-asm.c:155
msgid "missing `)'"
msgstr "eksik `)'"

#: m10200-dis.c:199
#, c-format
msgid "unknown\t0x%02x"
msgstr "bilinmeyen\t0x%02x"

#: m10200-dis.c:339
#, c-format
msgid "unknown\t0x%04lx"
msgstr "bilinmeyen\t0x%04lx"

#: m10300-dis.c:766
#, c-format
msgid "unknown\t0x%04x"
msgstr "bilinmeyen\t0x%04x"

#: m68k-dis.c:429
#, c-format
msgid "<internal error in opcode table: %s %s>\n"
msgstr "<işlemci kod tablosunda iç hata: %s %s>\n"

#: m68k-dis.c:1007
#, c-format
msgid "<function code %d>"
msgstr "<işlev kodu %d>"

#: m88k-dis.c:746
#, c-format
msgid "# <dis error: %08x>"
msgstr "# <`dis' hatası: %08x>"

#: mips-dis.c:699
msgid "# internal error, incomplete extension sequence (+)"
msgstr "# iç hata, eksik uzatma dizisi (+)"

#: mips-dis.c:742
#, c-format
msgid "# internal error, undefined extension sequence (+%c)"
msgstr "# iç hata, tanımlanmamış uzatma dizisi (+%c)"

#: mips-dis.c:1000
#, c-format
msgid "# internal error, undefined modifier(%c)"
msgstr "#iç hata, tanımlanmamış değiştirici (%c)"

#: mips-dis.c:1751
#, c-format
msgid "# internal disassembler error, unrecognised modifier (%c)"
msgstr "#iç karşıt-çevirici hatası, tanımlanmamış değiştirici (%c)"

#: mips-dis.c:1763
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"
"Aşağıdaki MIPS'e özgü karşıt-çevirici seçenekleri \n"
"-M seçeneği ile kullanılabilir (birden fazla seçenek virgülle ayrılmalıdır):\n"

#: mips-dis.c:1767
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            Belirtilen ABI'ye göre GPR isimlerini gösterir.\n"
"                           Öntanımlı: karşıt-çevrilen ikilik dosyaya göre.\n"

#: mips-dis.c:1771
msgid ""
"\n"
"  fpr-names=ABI            Print FPR names according to specified ABI.\n"
"                           Default: numeric.\n"
msgstr ""
"\n"
"  fpr-names=ABI            Belirtilen ABI'ye göre FPR isimlerini gösterir.\n"
"                           Öntanımlı: sayısal.\n"

#: mips-dis.c:1775
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=MİMARİ         Belirtilen mimariye göre CP0 yazmaç isimlerini\n"
"                           gösterir.\n"
"                           Öntanımlı: karşıt-çevrilen ikilik dosyaya göre.\n"

#: mips-dis.c:1780
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=MİMARİ         Belirtilen mimariye göre HWR isimlerini gösterir.\n"
"                           Öntanımlı: karşıt-çevrilen ikilik dosyaya göre.\n"

#: mips-dis.c:1785
msgid ""
"\n"
"  reg-names=ABI            Print GPR and FPR names according to\n"
"                           specified ABI.\n"
msgstr ""
"\n"
"  reg-names=ABI            Belirtilen ABI'ye göre GPR ve FPR isimlerini\n"
"                           gösterir.\n"

#: mips-dis.c:1789
msgid ""
"\n"
"  reg-names=ARCH           Print CP0 register and HWR names according to\n"
"                           specified architecture.\n"
msgstr ""
"\n"
"  reg-names=MİMARİ         Belirtilen mimariye göre CP0 yazmaç ve HWR\n"
"                           isimlerini gösterir.\n"

#: mips-dis.c:1793
msgid ""
"\n"
"  For the options above, the following values are supported for \"ABI\":\n"
"   "
msgstr ""
"\n"
"  Yukarıdaki seçeneklere göre \"ABI\" için aşağıdaki değerler desteklenir:\n"
"   "

#: mips-dis.c:1798 mips-dis.c:1806 mips-dis.c:1808
msgid "\n"
msgstr "\n"

#: mips-dis.c:1800
msgid ""
"\n"
"  For the options above, The following values are supported for \"ARCH\":\n"
"   "
msgstr ""
"\n"
"  Yukarıdaki seçeneklere göre \"ARCH\" için aşağıdaki değerler desteklenir:\n"
"   "

#: mmix-dis.c:34
#, c-format
msgid "Bad case %d (%s) in %s:%d\n"
msgstr "Hatalı durum %d (%s), %s içerisinde:%d\n"

#: mmix-dis.c:44
#, c-format
msgid "Internal: Non-debugged code (test-case missing): %s:%d"
msgstr "İç Hata: Hata ayıklanmamış kod (test eksik): %s:%d"

#: mmix-dis.c:53
msgid "(unknown)"
msgstr "(bilinmeyen)"

#: mmix-dis.c:519
#, c-format
msgid "*unknown operands type: %d*"
msgstr "bilinmeyen işlenen türü: %d*"

#. 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:631
msgid "$<undefined>"
msgstr "$<tanımlanmamış>"

#: ppc-opc.c:781 ppc-opc.c:809
msgid "invalid conditional option"
msgstr "koşullu seçenek geçersiz "

#: ppc-opc.c:811
msgid "attempt to set y bit when using + or - modifier"
msgstr "+ veya - değiştiricisini kullanırken y bitini atama denemesi"

#: ppc-opc.c:840
msgid "offset not a multiple of 16"
msgstr "görece 16'nın katı değil"

#: ppc-opc.c:860
msgid "offset not a multiple of 2"
msgstr "görece 2'nin katı değil"

#: ppc-opc.c:862
msgid "offset greater than 62"
msgstr "görece 62'den büyük"

#: ppc-opc.c:881 ppc-opc.c:927 ppc-opc.c:975
msgid "offset not a multiple of 4"
msgstr "görece 4'ün katı değil"

#: ppc-opc.c:883
msgid "offset greater than 124"
msgstr "görece 124'ten büyük"

#: ppc-opc.c:902
msgid "offset not a multiple of 8"
msgstr "görece 8'in katı değil"

#: ppc-opc.c:904
msgid "offset greater than 248"
msgstr "görece 248'den büyük"

#: ppc-opc.c:950
msgid "offset not between -2048 and 2047"
msgstr "görece -2048 ve 2047 arasında değil"

#: ppc-opc.c:973
msgid "offset not between -8192 and 8191"
msgstr "görece -8192 ve 8191 arasında değil"

#: ppc-opc.c:1011
msgid "ignoring invalid mfcr mask"
msgstr "geçersiz mfcr maskesi yoksayıldı"

#: ppc-opc.c:1059
msgid "ignoring least significant bits in branch offset"
msgstr "Dal göreli konumunda en önemsiz bitler atlanıyor"

#: ppc-opc.c:1090 ppc-opc.c:1125
msgid "illegal bitmask"
msgstr "geçersiz bitmask "

#: ppc-opc.c:1192
msgid "value out of range"
msgstr "değer aralık dışı"

#: ppc-opc.c:1262
msgid "index register in load range"
msgstr "yükleme aralığında endeks yazmacı"

#: ppc-opc.c:1279
msgid "source and target register operands must be different"
msgstr "kaynak ve hedef yazmaç işlenenleri farklı olmalı"

#: ppc-opc.c:1294
msgid "invalid register operand when updating"
msgstr "güncelleme esnasında geçersiz yazmaç terimi bulundu"

#: ppc-opc.c:1335
msgid "target register operand must be even"
msgstr "hedef yazmaç işleneni çift sayı olmalı"

#: ppc-opc.c:1350
msgid "source register operand must be even"
msgstr "kaynak yazmaç işleneni çift sayı olmalı"

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

#: sparc-dis.c:835
#, c-format
msgid "Internal error:  bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"
msgstr "İç hata: geçersiz sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"

#: sparc-dis.c:846
#, c-format
msgid "Internal error: bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"
msgstr "İç hata: geçersiz sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"

#: sparc-dis.c:895
#, c-format
msgid "Internal error: bad sparc-opcode.h: \"%s\" == \"%s\"\n"
msgstr "İç hata: geçersiz sparc-opcode.h: \"%s\" == \"%s\"\n"

#: v850-dis.c:221
#, c-format
msgid "unknown operand shift: %x\n"
msgstr "bilinmeyen terim kaydırması: %x\n"

#: v850-dis.c:233
#, c-format
msgid "unknown pop reg: %d\n"
msgstr "bilinmeyen çek yazmacı: %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:68
msgid "displacement value is not in range and is not aligned"
msgstr "yer değiştirme değeri kapsam dışında ve hizalanmamış"

#: v850-opc.c:69
msgid "displacement value is out of range"
msgstr "yer değiştirme değeri kapsam dışında"

#: v850-opc.c:70
msgid "displacement value is not aligned"
msgstr "yer değiştirme değeri hizalanmamış"

#: v850-opc.c:72
msgid "immediate value is out of range"
msgstr "şimdiki değer kapsam dışı"

#: v850-opc.c:83
msgid "branch value not in range and to odd offset"
msgstr "dal değeri kapsam dışında ve tek sayılı göreli konuma işaret ediyor"

#: v850-opc.c:85 v850-opc.c:117
msgid "branch value out of range"
msgstr "dal değeri kapsam dışında "

#: v850-opc.c:88 v850-opc.c:120
msgid "branch to odd offset"
msgstr "dallanma tek sayılı göreli konuma işaret ediyor"

#: v850-opc.c:115
msgid "branch value not in range and to an odd offset"
msgstr "dal değeri kapsam dışında ve tek sayılı göreli konuma işaret ediyor"

#: v850-opc.c:346
msgid "invalid register for stack adjustment"
msgstr "yığıt düzeltmesi için geçersiz yazmaç "

#: v850-opc.c:370
msgid "immediate value not in range and not even"
msgstr "şimdiki değer kapsam dışı ve çift sayı değil"

#: v850-opc.c:375
msgid "immediate value must be even"
msgstr "şimdiki değer çift sayı olmalı"

#: xstormy16-asm.c:76
msgid "Bad register in preincrement"
msgstr "Arttırma öncesinde geçersiz yazmaç"

#: xstormy16-asm.c:81
msgid "Bad register in postincrement"
msgstr "Arttırma sonrasında  geçersiz yazmaç "

#: xstormy16-asm.c:83
msgid "Bad register name"
msgstr "Geçersiz yazmaç adı"

#: xstormy16-asm.c:87
msgid "Label conflicts with register name"
msgstr "Etiket, yazmaç adıyla çakışıyor"

#: xstormy16-asm.c:91
msgid "Label conflicts with `Rx'"
msgstr "Etiket, `Rx' ile çakışıyor"

#: xstormy16-asm.c:93
msgid "Bad immediate expression"
msgstr "Hatalı şimdiki ifade"

#: xstormy16-asm.c:115
msgid "No relocation for small immediate"
msgstr "Küçük şimdiki için yerdeğiştirme yok"

#: xstormy16-asm.c:125
msgid "Small operand was not an immediate number"
msgstr "Küçük işlenen şimdiki sayı değil"

#: xstormy16-asm.c:164
msgid "Operand is not a symbol"
msgstr "İşlenen bir sembol değil"

#: xstormy16-asm.c:172
msgid "Syntax error: No trailing ')'"
msgstr "Sözdizim hatası: Sonlandıran ')' yok"
