xaty Mesaj tarihi: Ocak 6, 2010 Paylaş Mesaj tarihi: Ocak 6, 2010 Hakkında en ufak bir fikrim olmayan bu konuda bir ödevim var :( Bu yüzden nereden nasıl başlayacağımı bilemedim ve sizlere danışmak istedim. Soru aşağıdaki şekilde; said: In 64-bit assembly language write a recursive function that calculates the N-th term of a series: f (n) = f (n-3) + f (n-2), n> 2, f (0) = 1, f (1) = 1, f (2) = 7 In the main program, calculate the terms 3 to 15 and write the result. Use advanced instructions and registers of the chosen 64-bit architecture. Aslında anlamadığım sorduğu şey değil de bunu benden nasıl yapmamı istediği. 0,1,2 değerlerini vermiş, geri kalanını 15'e kadar istiyor. Ama 64-bit assembly language ile bunu nasıl yaparım? 64-bit assembly language nedir? Nerden öğrenilir? vs.vs.. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
aktiftablet Mesaj tarihi: Ocak 6, 2010 Paylaş Mesaj tarihi: Ocak 6, 2010 İstediğin bi mimarinin registerlarını ve instructionını seç demiş işte. İnternetten bulucan bi tane :) Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Queen Mesaj tarihi: Ocak 6, 2010 Paylaş Mesaj tarihi: Ocak 6, 2010 abi işte bi de matematik problemi var işin içinde. f recursive fonksiyon o yüzden f(0), f(1) ve f(2)'yi f(3)ü f(5)i falan hesaplamak için kullanıcaksın Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Brigand Mesaj tarihi: Ocak 6, 2010 Paylaş Mesaj tarihi: Ocak 6, 2010 64-bit registerları kullanın demiş. assembly bilmiyorum ama memory celleri gibi işlemcide register celleri var çok çok hızlı olan. onlar 64-bit mimarilerde farklı boyutta veya yapıda bulunuyor, onları 64-bit'e uyumlu olarak kullanarak yaz demiştir muhtemelen. bu arada register c'deki registerlar gibi olabilir direk, onlar da aynı ama işlemcide canavar gibi hızlı çalışan celller. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
xaty Mesaj tarihi: Ocak 6, 2010 Konuyu açan Paylaş Mesaj tarihi: Ocak 6, 2010 Queen said: abi işte bi de matematik problemi var işin içinde. f recursive fonksiyon o yüzden f(0), f(1) ve f(2)'yi f(3)ü f(5)i falan hesaplamak için kullanıcaksın Bir burasını anlamıştım zaten, sorun olan kısmı 64-bit assembly language ile nasıl yazılacağı.. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Mirage Mesaj tarihi: Ocak 6, 2010 Paylaş Mesaj tarihi: Ocak 6, 2010 Kastedilen dil bu herhalde: http://en.wikipedia.org/wiki/X86_assembly_language Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Gladmir Mesaj tarihi: Ocak 6, 2010 Paylaş Mesaj tarihi: Ocak 6, 2010 Mirage X86 arch. diyor senin verdiğin link için :) 64 bitlik adresleme yapabiliyormu ki? Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
aquila Mesaj tarihi: Ocak 6, 2010 Paylaş Mesaj tarihi: Ocak 6, 2010 assembly mi? ZAHAHAHAHHAHAHAH Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
El-Barto Mesaj tarihi: Ocak 6, 2010 Paylaş Mesaj tarihi: Ocak 6, 2010 Üstünden 2 sene geçti ama hatırlayabildiğim kadarıyla yardım ediyim. Bizim derste kullandığımız MIPS assembly language'dı (32 bit sanırım). 32 bitle 64 bit arasında kodlama olarak nasıl farklar vardır, ne kullanırsın bilmem. Orda mesela 32 registerın 16'sı geçici işlemler içindi, biri bulunduğun frame, biri bulunduğun stack gibi gidiyodu. Farklarını çok bilmem ama benim kullandığım koddan bir örnek veriyim sana. lui $3 10 //3. registera 10 sayısını yükle (memoryden yüklenmediği için lui yani load upper intermediate) lui $4 10 //4. registera 8 yükle add $5,$3,$4 //4 ve 3. registerları topla 5. registera koy Şimdi bide if yerinede branch diye bişey vardı beq $3,$4, adres //3 ve 4. registerlar eşitse "adres" yazan adrese gidiyo yoksa altından devam ediyodu. Aklıma gelirse kalan şeyleri de yazarım ama bunları bile zor hatırladım yani :D Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
xaty Mesaj tarihi: Ocak 6, 2010 Konuyu açan Paylaş Mesaj tarihi: Ocak 6, 2010 Sağolun, 3 aşağı 5 yukarı bir izlenimim oldu en azından. İnternette arama yaptığımda bile doğru düzgün bulamıyorum, değişik kodlarla ön eklerle birlikte çıkıyor bir sürü şey. Bir kaç gün içerisinde asistandan kaynak istiyim en iyisi, gerçi büyük ihtimalle inteneti kaynak kullanabilirsin gibi bir şey duyacağım ondan da :( Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
riglous Mesaj tarihi: Ocak 6, 2010 Paylaş Mesaj tarihi: Ocak 6, 2010 El-Barto anlatmis bir kismini da, kullandigin mimariye gore cok sey degisiyor. Biz 8-bit'lik kullanmistik; dogrudan memory adresine istedigin seyi kaydedemiyordun. Accumulator vardi; add dedikten sonra sonucu daima accumulator'a atiyordu. Herhangi bir sayiyi dogrudan accumulator'a ekleyebiliyordun. Sonra accumulator'daki sayiyi herhangi bir adrese kaydedebiliyordun. Hani onun elle yazdigi komutlar var ya: lui, add gibi iste onlarin da memory'de tutuldugunu dusun. Sonra tum bu degiskenlerin de adreslerinin oldugunu dusun. 0001 lui 0010 add 0100 10 0101 8 0110 18 programin ilk hali asagidaki gibiydi: lui $3 10 //3. registera 10 sayısını yükle (memoryden yüklenmediği için lui yani load upper intermediate) lui $4 10 //4. registera 8 yükle add $5,$3,$4 //4 ve 3. registerları topla 5. registera koy Isi tamamen adreslere doktugun zaman 0001 0100 1010 0001 0101 1000 0010 0100 0101 0110 gibi bir sey cikiyor ortaya. Simdi sen bunu recursive yapacagin icin, gidip toplami 0110'a koymayacaksin da 0100'a koyacaksin. Skip if true gibi bir komut da olmasi gerek. Eger accumulator istenen degere esitse, o zaman durmasini sagliyorsun; degilse, add adimina (0010) geri donduruyorsun, boylece her seferinde 8 ekliyor (tabi bunu hocanin verdigi fonksiyon'a gore yazman gerek) Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
xaty Mesaj tarihi: Ocak 7, 2010 Konuyu açan Paylaş Mesaj tarihi: Ocak 7, 2010 Sağolun, ufaktan anlamaya başladım :) Olucak sanırım.. Peki bir şeyler yapınca onun nasıl çalıştığını görme imkanımız var mı herhangi bir şekilde? Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
aquila Mesaj tarihi: Ocak 7, 2010 Paylaş Mesaj tarihi: Ocak 7, 2010 mips yapiyosan spim diye bi programcik var. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Mirage Mesaj tarihi: Ocak 7, 2010 Paylaş Mesaj tarihi: Ocak 7, 2010 Ben de eskiden SPIM kullanmıştım MIPS için. Ama sonradan Java ile yazılmış MARS diye simulator buldum. Çok daha iyi. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Anason Mesaj tarihi: Ocak 7, 2010 Paylaş Mesaj tarihi: Ocak 7, 2010 64bit linux olan bir makinada C ile yaz, gcc ile derlerken sonuna -S parametresi ver, gcc nin koydugu ekstra commentleri vb sil, ama bunu ogrenmek icinde kullan :) Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
aquila Mesaj tarihi: Ocak 7, 2010 Paylaş Mesaj tarihi: Ocak 7, 2010 hermm daha detayli ve kapsamli gibi goruktu bu. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Öne çıkan mesajlar