Assembly Öğreniyorum

Evet assembly öğrenmeye başladım 🙂 Öncelikle assembly’nin wikipediadan aldığım tanımını yazmak istiyorum. Assembly dili karmaşık programlar yazmak için kullanılan düşük seviyeli bir programlama dilidir. Assembly insanlar tarafından anlaşılması zor olan makina dilinin sayısal ifadelerini, insanlar tarafından anlaşılarak programlanması daha kolay olan alfabetik ifadelerle değiştirerek düşük seviyede programlama için bir ortam oluşturur. Assembly kullanmanın amacı, ilk bilgisayarlarda yazılan programların daha az hata içermesi ve daha az zaman almasını sağlamaktır.

Assembly dilini makina koduna çeviren programlara assembler denir. Bir assembler’ı derleyiciden ayıran en önemli özellik bire bir dönüşüm yapmasıdır. Derleyiciler kodun tamamını okurlar ve kodun tamamını anlamlı bir programa dönüştürürler. Kodun her satırını tek tek okuyan ve uygulayan programlara ise yorumlayıcı denir.

Bugün ise mikroişlemci dersimizde ilk basit programımızı yazdık. Assembly bir hayli zor görünüyor fakat sıkıcı değil 🙂 İlk assembly programımız (7+5)/4 = 3 işlemini yapan 6802 assembler programını yazmaktı. İlk soruyu hocamız çözdü :

CLR A
CLR B
Lda A #$07
Lda B #$05
ABA
ASR A
ASR A
SWI

Tabii bunun 2 satır daha kısa 2inci bir yolu daha var :

CLR A
Lda A #$07
Add A #$05
ASR A
ASR A
SWI

Bu programda # ile anında adresleme yaptık çünkü akümülatöre yüklediğimiz sayı sabit. Hocamız 2inci bir soru yazdı ve 10 dk süre verdi. Bizden istediği ise ((9*2)+2)/2=OA işemini yapan 6802 assembler programıydı ve 10 dakika süre verdi. Soruyu 2 dakikada çözdük hemen, çözümüm ;

CLR A
CLR B
Lda A #$09
Lda B #$02
ASL A
ABA
ASR A
SWI

2 akümülatörü kullanarak yaptığım çözüm 1 akümülatör kullanarak çözülebiliyor;

CLR A
Lda A #$09
ASL A
Add A #$02
ASR A
SWI

Bu programların OP-Code’unu çıkartarak dersimizi bitirdik. Haftaya ise dallanmış programlar yazıcaz. Hoca atlayan zıplayan programları kötü bir gülümseyle çok da kolay olmadığını, 3-5-7 gibi tek sayılara bölme işlemi için ek programlar yazıcağımızı söyledi. Haftaya biraz aksiyon var kısacası 🙂 Fırsatım oldukça derste yaptıklarımızı ve notlarımı blogumda paylaşacağım.

Dijital Pazarlama Temelleri

Sevgili dostum Emre Gökşin bir süredir “Dijital Pazarlama Temelleri” üzerine bir kitap hazırlığı içerisindeydi. Kısa süre içinde raflarda yer edinen kitabı için de ufak bir röportaj rica etmişti; seve seve ve tabii ki kabul ettim…

Plaka Değiştirme

Bir süredir sadece dijital pazarlama ile ilgili değil de farklı konular hakkında da buralara birşeyler yazmak istiyordum. Hazır hayatımda konusu gelmişken sizlere plaka değiştirme nasıl yapılır, kısaca anlatmak istedim 🙂 21 Temmuz 2017 tarihi itibari…

11 yorum

    Geri bildirim: Assembly Öğreniyorum - 2 | Uğur Eskici
    Geri bildirim: Son 1 Haftamın Özeti - Kemal ONUR

    Teşekkürler, 6802 mikroişlemcisi ile alakalı örnek internette ben bualamadım dogrusu buranın haricinde.. Diger siteler hep başka tür işlemciler ile alakalı örnekler gosteriyordu..

    “Anında” “Doğrudan” “indisl” “genişletilmiş” “Anlaşılır” gibi adresleme modları hangi durumlarda kullanılıyor..Bunlar hakkında biliyorsan biraz bilg verebilirmisin.

    Geri bildirim: Mikroişlemci Tekn. Ve Assembly | Kemal ONUR

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir