C Kodlarınız Assembly Dilinde Nasıl Görünür?

0
Soulblighter
Kodlarınızın Assembler karşılığını görmek isterseniz gcc'ye -S anahtarını girmeniz yeterli. Sonucu merak edenler, bu haberin kaynağı olan bu siteye bakabilir.

Görüşler

0
Geryon
Gcc at&t synax assembly çıktısı üretir bu kodları okumak ve yazmak zahmetlidir. Çoğu assembly programcısı Intel synax assembly'ı tercih ediyor. Eğer programınızın nasıl göründüğünü merak ediyorsanız IDA Pro kullanın (Hem linux hemde windows versiyonları mevcud)

Ayırca siteki asm kodlarının IA32 veya IA64 uyumlu bir CPU için olmadığını söyleyebilirim.(Çoğumuz PC kullanıyoruz ve Assembly terimi IA için kullanılır.(Belki kötü bir tanımdır,gereksizdir,aptalcadır... Ama öyle nasıl ki bakkaldan bana bir adet akkor flamanlı lamba ver yerine sadece lamba ver diyorsak bunda böyle, umarım anlatmak istediğimü düzgün anlatabilmişimdir, el fenerinin "assembly"'dan bahsetmediğim anlaşılmıştır
0
tongucyumruk
Pardon ama daha IA'nın I'si ortalıkta yokken insanlar assembly kodu yazıyorlardı. Dahası insanların ASM ile en çok geliştirme yaptıkları platformun da IA olduğundan şüpheliyim. 1980 öncesindeki PDP vs.. gibi makinalarda yazılan ASM kodlarını boşverseniz dahi sanıyorum en çok ASM kodu 80'lerde Amiga ve Commodore gibi platformlarda Demo amaçlı yazılmıştır. Kısacası şu anda çoğunluğun kullanıyor olması Assembly terimini Intel mimarisi ile kısıtlayamaz. Sonuçta bu kadar yaygın olsa da günümüzde Intel mimarisi üzerinde ne kadar ASM tabanlı geliştirme yapılıyordur sizce?

Not: Benim için ASM=6502 mesela...
0
Geryon
"Kısacası şu anda çoğunluğun kullanıyor olması Assembly terimini Intel mimarisi ile kısıtlayamaz."
Tabii ki kısıtlayamaz. Yanlış anlaşılmasın ben 3dNow! dediğizde assembly dışısınız demiyorum. Burada bir kısıtlama söz konusu değil, genel kullanım söz konusu. Siz "6502 Assembly" yada "PIC Assembly" dediğinizde karışınızdaki ne demek istediğinizi daha kolay kavrayacaktır.

"Intel mimarisi üzerinde ne kadar ASM tabanlı geliştirme yapılıyordur sizce?"
Oldukça falza bugün MMX,SSE demek assembly'da kod yazacaksın arkadaş demek. Yaklaşık olarak tüm 3D oyunlarda izleri görebilirsiniz. (Lütfen C derlecilerindeki MMX desteği ile MMX optimizasyonunu (SMID'la kod üretmek desek pek yanlış olmaz sanırım) karıştırmayın. Bugün SMID kullanan Intel'in derleyicisi var bildiğim kadarıyla fakat SMID için yapılan iyileştirme pekde yeterli değil. (Intel'in derleyicisini kötülediğimi düşünmeyin, pek çok derleyiciden(gcc'de dahil) %30 daha hızlı kod üretiyor :) )
0
Soulblighter
Sitedeki Assembly kodları 32 bir PowerPC mimarisine ait. Kullanılan işletim sistemi ise IBM AIX.

Buraya kendi sistemimde (x86) yazdığım basit bir C kodu ve Assembly çıktısını yazıyorum.

C Kodu:
---------------

#include <stdio.h>
main() {
(void) printf("Hello World\ ");
return (0);
}


Assembly çıktısı:
------------------------------
.file "hello.c"
.section .rodata
.LC0:
.string "Hello World\ "
.text
.globl main
.type main, @function
main:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
andl $-16, %esp
movl $0, %eax
subl %eax, %esp
subl $12, %esp
pushl $.LC0
call printf
addl $16, %esp
movl $0, %eax
leave
ret
.size main, .-main
.section .note.GNU-stack,"",@progbits
.ident "GCC: (GNU) 3.3.6"
0
exalted
Siteyi inceledim, ancak x86 mimarisi asm kodlarına benzetemedim. Yine de bunun bir yolu var mıdır diye büyük merak içerisindeyim. C ile programlamaktan ne kadar zevk alıyorsam asm'den de bir o kadar nefret ediyorum. Şayet x86 ifadeleriyle asm kodu çıktısı üreten bir gcc parametresi varsa lütfen birisi onu buraya yazsın! Böylece sistem mimarisi dersim için teslim etmem gereken projeleri C dilinde yazıp bir hamlede asm'ye dönüştürüp, mutlu mesut teslim edebilirim.

Sevecenlikler,
exalted
0
mentat
asm sevilmez mi ya..

aman dikkat c'den yapacaksan işini derleyici optimizasyonlarını kapat asistan sobelemesin seni..
0
Geryon
Nasıl ki tecrübeli santranç ustaları hangi hamlelerin bir bilgisayar, hangi hamlelerin bir insan tarafından yapıldığını anlyabiliyorsa , tecrübeli bir asm programcısıda bir yere kadar hangi kodun derleyiciden çıktığını hangisinin el ile yazıldığı anlayabilir. (Şüpesiz ki bir yerden sonra aradaki farklı anlamak mümkün olmayacaktır)
0
Ragnor
Intel'in veya Microsoft'un derleyicilerinde de benzer bir özellik olabilir ama kullanmadığım için bilmiyorum. Derleyicilerin Help dosyalarında bu konuda birşeyler olabilir, kurcalayabilirsin.
0
MC
denersen x86 mimarisinde üretilen asm kodunun default olarak x86 kodları olduğunu görebilirsin :)


0
exalted
Bu "x86" mimarisi kod üretimi ile ilgili yazdığımın aslında ifade etmek istediğim şey olmadığının farkına vardım; üstelik olduğu haliyle oldukça da anlamsız kalıyor. Basitçe şöyle ifade etmeye çalışayım: Derleyici çok acımasız kodlar yaratıyor, ben bütün bir dönemi yalnızca asm programlamaya versem yine de o kodu yazamam :) Bilmem anlatabildim mi? İlginiz için teşekkür ederim. Sevecenlikler, exalted
0
mentat
sazanlık yapıyor olabilirim ama, bu "haber" tarihteki tüm c derleyicilerinin ilk çıktıkları günden beri sahip oldukları bir özelliğin gcc'de nasıl kullanıldığını mı söylüyor bize? ama help var zaten..
0
FZ
Sizleri denemek için komplo kurduk, düşündük taşındık, bazı üyelerimiz böyle "lurker" modunda izliyo izliyo ama hiç bişi yazmıyo, bi kontrol edelim öldüler mi kaldılar mı dedik, bam tellerine basalım dedik :-P

O diil de, ben Hacker's Delight kitabını istiyorum, var mı okumuş olan? Yorum yapabilecek olan?
0
Geryon
"O diil de, ben Hacker's Delight kitabını istiyorum, var mı okumuş olan? Yorum yapabilecek olan?"
FZ, sen bana tavsiye etmedin mi o kitabı ? :D bak bulurum forumlarda :D
İlk okuyana bırakmak lazım ilk yorumları diyorum ve seni dinliyorum. 2. yorumu ben yaparım:D
0
FZ
Bulup gösterirsen forumlarda sevinirim. Benim hatırladığım ben bu kitabı yaklaşık bir sene önce DDJ dergisindeki bir yazıda mı ne gördüm (ama ben şimdi bulup gösteremem).
0
Geryon
http://www.fazlamesai.org/forum/viewtopic.php?t=1189
10. mesaj
0
ttk
Sahi, siteye girince isimlerini yanda listede gördüklerimizden neredeyse %50'den fazlası (yoksa daha da mı fazla) hiç yorum vesaire yazıp katkıda bulunmuyorlar (benim gibi bazıları ise geyik yapıp sesini bir türlü kesmiyor o da ayrı mesele, "bilgisi yok fikri var" diyenlerin malzemesi eksik olmasın diye mesai yapıyorum burada, kıymetimiz bilinsin :)
0
ttk
Bu arada, adresi verilen site epey güzel bir yere benziyor.
Görüş belirtmek için giriş yapın...

İlgili Yazılar

Augmented Reality: Gerçeklik Anlayışımızda Yeni Bir Boyut

FZ

Önce VR vardı yani Virtual Reality, yani Sanal Gerçeklik, kafaya geçirdiğiniz kask ile tamamen bilgisayar tarafından oluşturulmuş dünya gözlerinizin önüne geliyordu. Şimdi ise yeni bir kavramla yüz yüzeyiz, Augmented Reality. Nasıl tercüme edilir doğru düzgün bilmiyorum ama bu kavramla anlatılmak istenen gerçek dünya görüntüleri üzerine bilgisayar grafiklerini bindirmek ve böylece mevcut algılayışınızı çok öteye götürmek.

Tyler Mitchell´in blogunda anlatılanlara bakılacak olursa Avustralyalı araştırmacılar bir hayli aşama kaydetmiş durumdalar. Fiziksel ortamınızda 3B modelleri nasıl yaratıp onlarla oynayabileceğinizi videolarla gösteren Tinmith Technologies sitesine ve benzer bir teknolojinin kullanıldığı Augmented Reality Quake sitesine göz atmakta fayda var.

Düşünsenize bu Avustralyalı amcaların hazırladığı sırt çantasını ve kaskı giyiyorsunuz, sonra terk edilmiş ve tekinsiz bir binada ilerlemeye başlıyorsunuz, her an koridorun köşesinden korkunç bir canavar çıkabilir ya da belki arkadaşınız sizi vurmaya çalışıyor olabilir. Hangisi gerçek, hangisi hayal? Tabii insanlar bunu coğrafi bilgi sistemleri gibi daha faydalı işler için de kullanmayı düşünüyorlar ;-)

Wiki motoru Wikepage'in 2006.1 sürümü çıktı!

fox

Wikepage, bir Türk tarafından kodlanmakta olan 25Kb boyunda MySQL veritabanı gerektirmeyen, çokludilli, çoklusite destekli, şifre korumalı, dosya yükleme destekli, belkide FTP kullanmaniza gerek kalmadan site yapmanin en kolay yolu. "Ulusal" wikimiz olmasada (ulusallık bu sıralar çok tartışılınca dayanamadım) yine de bizi temsil eden bu ufak yazılıma bir bakın. Wikepage'e bu siteden ulaşabilirsiniz.

4`üncü Fonksiyonel Programcılar Konferasyonu

anonim

4`üncü Fonksiyonel Programcılar Konferasyonu 3-5 Eylül tarihlerinde Floransa'da başlıyor, Türk yazılımcıları da oralarda görmek isteriz, umarım katılan olur. Detaylı bilgi için: http://cristal.inria.fr/ICFP2001/prog-contest/
(Editörün notu: ICPF, International Conference on Functional Programming 2001 bünyesinde bir de programlama yarışması var.)

OpenOffice.org 1.0

tongucyumruk

OpenOffice.org geliştirme takımı yazılımın 1.0 sürümünü duyurdu. MS Office ailesine güçlü bir alternatif olan OpenOffice.org Sun Microsystems'ın kaynak kodunu açtığı StarOffice temel alınarak geliştirilmiş bir ofis yazılımı. Yazılım paketinin içinde kelime işlemci, tablolama, sunum ve çizim gibi araçlar geliyor. Programın içinden StarOffice'teki en sinir bozucu olay olan integrated desktop'ın çıkarılmış olması güzel birşey. Ayrıca ekranda gösterdiği türkçe karakterler Linux altında pek iyi gözükmüyorsa da bastığınızda kağıda çok güzel geçiyor...

StarLogo'nun Yeni Versiyonu Duyuruldu

ahmetozdemir

Modelleme ve simülasyon yazılımı StarLogo'nun yeni versiyonu StarLogo TNG (The Next Generation) Preview 2 duyuruldu. Bu sürümdeki en büyük özellik Preview 1'den her bakımdan daha hızlı olması.