# Binutils Opcode Turkish Translation
# Copyright (C) 2001 Free Software Foundation, Inc.
# Deniz Akkus Kanca <deniz@arayan.com>, 2001.
#
msgid ""
msgstr ""
"Project-Id-Version: opcodes 2.12.91\n"
"POT-Creation-Date: 2002-07-23 15:55-0400\n"
"PO-Revision-Date: 2002-07-24 11:26EET\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 0.9.5\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:507
msgid "<illegal precision>"
msgstr "<geçersiz kesinlik>"

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

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

#: arm-dis.c:1191
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:118 avr-dis.c:128
msgid "undefined"
msgstr "tanımlanmamış"

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

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

#: cgen-asm.c:346 fr30-ibld.c:195 frv-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:367
#, 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:595 m32r-asm.c:325 openrisc-asm.c:244
#: xstormy16-asm.c:231
#, 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:645 m32r-asm.c:375 openrisc-asm.c:294
#: xstormy16-asm.c:281
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:781
#: frv-asm.c:785 frv-asm.c:872 frv-asm.c:974 m32r-asm.c:511 m32r-asm.c:515
#: m32r-asm.c:602 m32r-asm.c:704 openrisc-asm.c:430 openrisc-asm.c:434
#: openrisc-asm.c:521 openrisc-asm.c:623 xstormy16-asm.c:417
#: xstormy16-asm.c:421 xstormy16-asm.c:508 xstormy16-asm.c:610
msgid "unrecognized instruction"
msgstr "bilinmeyen işlem"

#: fr30-asm.c:556 frv-asm.c:828 m32r-asm.c:558 openrisc-asm.c:477
#: xstormy16-asm.c:464
#, 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:838 m32r-asm.c:568 openrisc-asm.c:487
#: xstormy16-asm.c:474
#, 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:866 m32r-asm.c:596 openrisc-asm.c:515
#: xstormy16-asm.c:502
msgid "junk at end of line"
msgstr "Satır sonu bozuk "

#: fr30-asm.c:701 frv-asm.c:973 m32r-asm.c:703 openrisc-asm.c:622
#: xstormy16-asm.c:609
msgid "unrecognized form of instruction"
msgstr "bilinmeyen işlem türü"

#: fr30-asm.c:713 frv-asm.c:985 m32r-asm.c:715 openrisc-asm.c:634
#: xstormy16-asm.c:621
#, c-format
msgid "bad instruction `%.50s...'"
msgstr "geçersiz işlem `%.50s...'"

#: fr30-asm.c:716 frv-asm.c:988 m32r-asm.c:718 openrisc-asm.c:637
#: xstormy16-asm.c:624
#, 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:39 frv-dis.c:39 m32r-dis.c:39 mmix-dis.c:282 openrisc-dis.c:39
#: xstormy16-dis.c:39
msgid "*unknown*"
msgstr "*bilinmeyen*"

#: fr30-dis.c:318 frv-dis.c:360 m32r-dis.c:249 openrisc-dis.c:136
#: xstormy16-dis.c:169
#, 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 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 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:820 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:1103 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:1348 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:1573 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:1807 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:2029 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"

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

#: h8300-dis.c:396
#, c-format
msgid "Don't understand %x \n"
msgstr "%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:1649
msgid "<internal disassembler error>"
msgstr "<iç karşıt-çevirici hatası>"

#: 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:685
#, 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:255
#, c-format
msgid "# <dis error: %08x>"
msgstr "# <`dis' hatası: %08x>"

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

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

#: 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:517
#, 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:628
msgid "$<undefined>"
msgstr "$<tanımlanmamış>"

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

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

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

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

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

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

#: ppc-opc.c:956 ppc-opc.c:993
msgid "illegal bitmask"
msgstr "geçersiz bitmask "

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

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

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

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

#: sparc-dis.c:825
#, 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:836
#, 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:885
#, 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:224
#, c-format
msgid "unknown operand shift: %x\n"
msgstr "bilinmeyen terim kaydırması: %x\n"

#: v850-dis.c:236
#, 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:74
msgid "Bad register in preincrement"
msgstr "Arttırma öncesinde geçersiz yazmaç"

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

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

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

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

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

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