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