assembly link paylaşımları

Başlatan sayangku, 20 Kasım 2014, 19:26:39

sayangku

sa arkadaşlar bu sene okulda assembly dersi görüyoruz şu ana kadar hiç birşey ögrenemedim ama kafamdaki ön yargı yüzünden yıllardan beri çok zor dediler işallah  başıma gelmez dedim döndü dolaştı geldi başıma şimdi artık seve seve bunu ögrenmek lazım yoksa hem dersten kalıcam hem bana ızdırap geçicek dersler  normalde ccs c alışkın oldugum için
bu assembly bana çok hantal ve gereksiz geliyor bu assembly hakkında hiç bir bilgi olmadıgı için bende internetten buldugum kaynaklar  pek iyi sayılmaz sizden ricam az çok derdimi anladınız hani bildiginiz basit ve zevkli ders anlatan kaynaklar varsa link paylaşirsaniz çok sevinirim birde bu pic assembly ile normal bilgisayardaki assembly aynımı kodları yoksa farklılarmı
bu soruyuda merak ettim

Kabil ATICI

#1
İstersen birde pic24 kodlarına bak... Bilgisiyardaki asm'nın ne kadar farklı olabileceğin sen düşün...
Düşüne 8 bit pic'lerde varsa yoksa Wreg, her şeye koşturulan genel bir register. Bit olayı arttıkça register sayısında artış olduğu gibi girilen veriler 16, 32 bit gibi şekle dönüşür. (yenilerde 64 bit..)

Biliyorsun asıl olay donanım. Bilgisayar için kullanılan donanım değiştiği için bilgisayar asm'de o denli değişiyor.

Çalışan bilgisayar programlarını asm'ye çeviren bazı programlar var onlarla bakabilirsin.
ambar7

sayangku

Alıntı yapılan: ambar7 - 20 Kasım 2014, 20:23:21
İstersen birde pic24 kodlarına bak... Bilgisiyardaki asm'nın ne kadar farklı olabileceğin sen düşün...
Düşüne 8 bit pic'lerde varsa yoksa Wreg, her şeye koşturulan genel bir register. Bit olayı arttıkça register sayısında artış olduğu gibi girilen veriler 16, 32 bit gibi şekle dönüşür. (yenilerde 64 bit..)

Biliyorsun asıl olay donanım. Bilgisayar için kullanılan donanım değiştiği için bilgisayar asm'de o denli değişiyor.

anladım hocam  teşekkür ederim farkı anladım ama şimdi benim assembly ögrenmem lazım ama nasıl olcak bu işle ugraşıyorsanız
basit ders videoları anlatan siteler varmı şimdi ben okuma yazma bilmiyorum bunu bana kim iyi anlatırsa ben ona göre şekillencem
bizim okuldaki hoca assembly eskilerden ama ders anlatamıyor okuldan ögrenemicegim kesin artık internetten okudugum ve izledigim derslerden anlıcaz anlıcaksak işh severim bu assembly :) yoksa ne benim okul biter nede kafamda saç kalır :) mikrodenetleyicelerle ugrasmayı çok seviyorum ama bu acayip bir şey

Kabil ATICI

Bu işi öğrenmenin en iyi yolu üzerinde çalışmak. Örneğin saat, termometre, sayıcı, LCD sürme, hatta çizgi izleyen robot , yanıp sönen led , buton basılmada, seri port, i2c , spi gibi konular üzerinde istersen önce yapılmış olanlar üzerinden giderek yazmaya çalış. Pic'in komut sayısı azdır (risc adı oradan geliyor) Bu komutların kullanımı ile gidebilirsin. Bu iş videolardan ziyade doğrudan uygulama ile yapılırsa daha kolay öğrenilir. Yazdığın programı ister donanım üzerinde , ister isis üzerinde (dikkat bazen sıkıntıdır) denemesini yapabilirsin. Bakarak öğrenilseydi kedi ve köpekler kasap olurdu derler, onun için işin içine girmelisin.
Aslında asm bu işin abc'sidir. Donanımın dibine kadar iner orada çalışırsın. Donanımda bit bit, bayt bayt dolanırsın. Örnek olarak pic 16 ile pic18 serisi arasında bile asm komut farkı vardır. pic 16 serisinde  bank ile uğraşırsın, pic18'de bu yok.

Sana komik gelecektir biz asm'yi kağıt üzerinde öğrendik. Önce komutları kağıt üzerinde yazar, sonra bunların komut listesindeki hex karşılıklarını kullanarak derlemesini yapardık. İsteyenlerde, Laboratuvardaki 3-5 bord üzerinde de denemesini yapardık.
ambar7

sayangku

Alıntı yapılan: ambar7 - 20 Kasım 2014, 20:49:09
Bu işi öğrenmenin en iyi yolu üzerinde çalışmak. Örneğin saat, termometre, sayıcı, LCD sürme, hatta çizgi izleyen robot , yanıp sönen led , buton basılmada, seri port, i2c , spi gibi konular üzerinde istersen önce yapılmış olanlar üzerinden giderek yazmaya çalış. Pic'in komut sayısı azdır (risc adı oradan geliyor) Bu komutların kullanımı ile gidebilirsin. Bu iş videolardan ziyade doğrudan uygulama ile yapılırsa daha kolay öğrenilir. Yazdığın programı ister donanım üzerinde , ister isis üzerinde (dikkat bazen sıkıntıdır) denemesini yapabilirsin. Bakarak öğrenilseydi kedi ve köpekler kasap olurdu derler, onun için işin içine girmelisin.
Aslında asm bu işin abc'sidir. Donanımın dibine kadar iner orada çalışırsın. Donanımda bit bit, bayt bayt dolanırsın. Örnek olarak pic 16 ile pic18 serisi arasında bile asm komut farkı vardır. pic 16 serisinde  bank ile uğraşırsın, pic18'de bu yok.

Sana komik gelecektir biz asm'yi kağıt üzerinde öğrendik. Önce komutları kağıt üzerinde yazar, sonra bunların komut listesindeki hex karşılıklarını kullanarak derlemesini yapardık. İsteyenlerde, Laboratuvardaki 3-5 bord üzerinde de denemesini yapardık.

hocam aynen dediginiz gibi klavye üzerinde yazılan komutlar unutulabiyor zaten ccs c beni hazirciliga aliştirdi zamanında
copy /paste /edit çok yaptım projede çok yaptım bu sayede ama assembly bu hazircilik anladigim kadarı ile bitiriyor aslında buda iiyi yanı diyebilirim assembly önce kagit üzerinde yazıcam sonra notepad sonra derliyip isiste simüle edicam basit led yap mantigindan giricam çok zaman kaybi olarak gördügüm bir dil ama büyüklerimiz vardir bir hikmeti diyorsa vardir elbet yorumlarınız için teşekkür ediyorum   ambar7 hocam

Kabil ATICI

Üzerinde çalıştıkça göreceksin ki bir süre sonra olaylarda kullanabileceğin kendi kütühanen oluşmuş.Örneğin bir buton  okuma için yapılan iş aynıdır ,  bir gecikme döngüsü aynıdır, bunlar için ayrı bir arayışa girmezsin.

Bir LED display sürmek aynıdır, her seferinde bunların arayışına gimezsin. Sadece ilk defasında oturup bunları yazmak ve en önemlisi anlamak. Olayı kavradıktan sonra fazla kafa yormazsın. Tıkır tıkır gelir.

Bu dili anladıktan sonra zaten c oyuncak gibi gelecek. (bazende bu c neler karıştırıyor acaba) Ama öyle anlar gelecek ki C'de program yazarken  bir if döngüsündeki 1 komuta için acıyarak yazacaksın. Çünkü bileceksin o if komutu  asm çevrildiği zaman işlemci 9 takla atıyor.
ambar7

sayangku

bu mantikla anolog veri işlemede hizli davrancagi için sensör uygulamalarında çok iyi hassasiyet saglicagina eminim böylece sensörü daha verimli kullanmiş olucaz robotik uygulamalar vb gibi hassas olan yerlerde