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

Star Office 6.0 Beta

butch

Uzun süredir sesi çıkmayan, gitti gidecek dediğimiz Star Office yeni beta sürümü ile karşınızda. Açık kodlu ürünler arasında önemli bir geleceğe sahip olduğunu düşündüğüm bu yazılımın, bir yıldan uzun süredir 5.2 sürümünün türkçeleştirilmesini bekliyoruz. Neyse en azından adı değişti. Bundan sonra yeni sürümünü bekleyeceğiz birkaç yıl.
Star Office'le ilgilenenler için adres http://www.sun.com/staroffice/6.0beta/. Koşarak...
İlgilenmeyenler için adres, yavaş yavaş ;-)

sWM - small Window Manager

conan

small Window Manager az hafizalı küçük bilgisayarlar için yazılmış bir pencere yöneticisi. Sayfasında iddia edilene göre PDAler için biçilmiş kaftanmış. Minimum 12KB sabit disk yeri gerektiren program rxvt`den bile az bellek harcıyormuş. Şu anki versiyonu 1.3.x.

Microsoft Sunar: LINQ Projesi

FZ

Daha önce "Microsoft bir şeyler duyurmaya hazırlanıyor galiba" demişti birileri ve biz de bunu not etmiştik FM'nin bir kenarına. Beklenen şey oldu ve Microsof, PDC etkinliğinde getirdiği yenilikleri duyurdu.

Kiril’den Latin’e Anında Özenli Çeviri

FZ

Takip ettiğim e-posta listelerinden biri olan Yazılım İhracatı listesinde bugün gördüğüm bir e-postayı FM camiası ile paylaşmak istedim...

Hazırlanan bir bilgisayar programı sayesinde artık 20 Türk lehçesindeki Kiril alfabesinde yazılan metinler anında Latin alfabesine çevrilebilecek.

Kırıkkale / AA

2 Ocak 2005 — Kültür ve Turizm Bakanlığı’nın sitesinde hizmete sunulan programı Kırıkkale Üniversitesi’nden Doç. Dr. Mehmet Kara, 3 yıllık bir çaba sonucu hazırladı.

Türk Cumhuriyetleri için önemli bir sorun olan Kiril alfabesinden Latin alfabesine çeviri yapan bir bilgisayar programına ömrünü Türk dünyasının dil birliğine adayan ‘Gaspıralı İsmail’in adı verildi.

20 Türk lehçesinde Kiril alfabesi ile yazılı metinleri otomatik olarak Latin alfabesine çeviren programın yazılımı da Damla BilgisayarA.Ş. tarafından gerçekleştirildi.

xynth-0.8.00 Çıktı!

anhanguera

Selam,

Aslında yeni versiyonda çok fazla bir değişiklik yok, bir iki küçük bug-fix o kadar. Yeni versiyon çıkartmamızdaki en büyük etken xynth'i mingw'ye ve GDI'a portlamamiz oldu. Yani xynth artık Windows'ta da calisabiliyor. (Ekran görüntüsü)

Windows üzerinde çalışmasının aslında hiç bir çekici yanı yok, ancak xynth'in herhangi bir platforma ne kadar kolay portlanabildiğini göstermek açısindan güzel bir örnek. ve pek tabiki biz de portlanabilirliğini test etmiş oluyoruz.