Archive for Assembly Programlama

Programlama dili öğrenenlerin yapmadan geçmedikleri örneklerden biridir faktöriyel hesabı. Faktöriyel hesabının assembly dilinde nasıl yapıldığını yayınlamadan geçmek istemedim. Makalenin devamında uygulamayla ilgili açıklamalar, ardından da uygulamanın kodları yer alacak.

Faktöriyel hesabının ana işlemi çarpma işlemidir bildiğiniz üzere. Bu yüzden bu konunun anlaşılması için assembly dilinde çarpma işlemi ve kurallarını biliyor olmak gerekmektedir. Kısaca özetlersek; çarpım işleminde, çarpılanlardan biri a register’ında bulunmalıdır. Zaten MUL komutu bir operand alarak çarpma işlemini gerçekleştirmektedir. Sonuç ise çarpılacak olan sayılardan diğerinin bulunduğu A register’ ına yazılır. 11. satırdan önce yapılanlar klasik işlemler zaten. 11. satırda AL register’ına faktöriyelini hesaplamak istediğimiz sayı atanıyor. A register’ ında sonucun saklandığını söylemiştim. Bu yüzden aynı sayıyı başka bir regsiter’ a atayıp register üzerinden birer birer azaltarak sonuçla çarpmak, uygulamanın ana mantığını oluşturacak. Bu doğrultuda AL değerini aynı zamanda CL register’ına read more »

Mikroişlemciler dersinin bir gereği olarak, biraz da önümüzdeki hafta olacak vizesi dolayısıyla assembly diline de giriyorum bu makalemle. Yazının konusu, temelde bir çizgi çizdirme uygulaması. Çizgilerle 8×8 kareler oluşturarak bir satranç tahtası görünümü vereceğiz ekrana. Problem oldukça açık, kodlar üzerinde yorum satırlarıyla gerekli açıklamaları yaptım. Ancak önemli bulduğum bazı kod blokları var. Bu önemli noktalara da değindikten sonra kodlara geçeceğim.

Öncelikle şunu belirtmek isterim ki, assembly ile çizgi çizdirmeyi read more »