Bir önceki yazımda Assembly diline giriş yapmıştım ve 8051’de bulunan iki önemli komuttan bahsetmiştim. Bugün 8051’de programların nasıl yaratıldığını öğreneceğiz.

Assembler’ın (Derleyici) çalışma haritasını şu şekilde inceleyebiliriz:

073109_1532_assemblinga1

İlk olarak asm uzantılı dosyayı ele alalım. Buradaki “asm” dosyası derleyicilerin ihtiyaç duyduğu bir kaynak dosyasıdır. 8051’inizi kontrol edip hangi uzantıda kaynak dosyasına ihtiyaç duyduğunu öğrenebilirsiniz. Bu dosyalar Notepad veya çeşitli text editörleriyle üretilir. Assembler kaynak dosyasında bulunan Assembly dilini, makine diline çevirmek için onu obje dosyasına dönüştürmek ister.

Gördüğünüz gibi Assembler, kaynak koddan (source code) obje kodunu (object code) yaratırken ek olarak list dosyası da üretir. Bu 1st ya da diğer adıyla list dosyaları programcılar için çok kullanışlıdırlar; çünkü assembly’deki hataları kolayca tespit edebilirler. Hatalar düzeltildikten sonra obje dosyası Linker (Bağlayıcı) program için input adayı olur.

073109_1532_assemblinga2

Yukarıda bulunan tablo, Assembly tarafından üretilmiş bir list dosyası örneğidir. Sırasıyla soldan sağa satır numarası, bellek içinde nerede yer aldığını gösteren adres kodları, makine kodları, assembly kodlarını bulundurur.

8051’in içinde yer alan bir diğer register ise Program Counter (PC)’dır. PC çalıştırılacak bir sonraki komutun adresini tutar. CPU, Program ROM’dan çekilen işlemci koduyla beraber, PC sonraki komut için değerini arttırır. 8051’de Program Counter 16 bit uzunluğundadır yani boyutunun 0000’dan FFFF’e kadar ulaştığını; toplamda 64K byte’lık alan içerdiğini gösterir. 8051 başlatıldığı zaman adres değeri 0000H’den başlatılır.

Tekrardan şekle dönecek olursak Assembler Linker ile abs dosyasını oluşturur. Eskiden bu dosya 8051’de bulunan kontrol programları tarafından kullanılıyordu. Abs dosyası “OH” olarak adlandırılan Object-to-Hex-Converter programını besler. Buradan “hex” uzantılı ROM’da yakılmak üzere hazır bekleyen program üretilir. Bu dönüşüm tekrarlanarak 8051’de çeşitli programlar yaratılır.

Advertisements