Tanju Taşçılar, 6 Mayıs 2002
doc mpl005-060502
Simulasyonda 'run' komutu ile serbest çalışan programın durdurulması için
durma noktası kullanılır. Yazılımla
simulatörlerin en sevilmeyen yönü yavaş kullanımıdır. Bunu bir ölçüde durma noktası kullanımı
ile giderebiliriz. Bu yazıda yine spi.asm ile oluşturduğumuz proje üzerinde çalışacağız. MPLab
ile ilgili önceki konularda anlatılanları aynen uygulayanlar için işlem daha anlaşılır olacaktır.
MPLab programını çalıştırıp spi.asm ile ilgili projeyi başlattıktan sonra aşağıdakilere devam
edebiliriz.
Bu konuda Debug toolbarındaki 'Set Break Settings' butonunu
kullanacağız.
Bu butona tıkladığımızda 'Break Point Settings' penceresi açılır. Burada Start
satırının yanındaki menüyü açıp 'Main-Loop'u seçtiğimizde şekil-1'deki görüntüyü elde ederiz.

Şekil-1
'Main Loop' spi.asm programındaki etiketlerden biridir. İstersek 'Title' satırındaki 'break1'i
değiştirerek kendi istediğimiz bir ismi verebiliriz. 'Add' butonuna bastığımızda sol alttaki
boş kutuda yeni eklediğimiz break1 isimli durma noktasının belirdiğini görürüz. Bu satırın solundaki
işaret kutusu bu durma noktasının kullanımda olacağını göstermektedir. İlerde başka durma noktaları
eklediğimizde bazılarını yanlarındaki bu işaret kutuları ile kullanım dışı barıkabiliriz.

Şekil-2
Bu pencereyi kapattıktan sonra 'Main_Loop'un bulunduğu satıra gelirsek burada Şekil-3'deki
gibi bu satırın kırmızı olduğunu görürüz. Aslında Main-Loop yazısı değil bir altındaki satır
kırmızı görünmektedir. Biz etiketleri daha anlaşılır olması için böyle kullandık ama MPLab onu
geçerli bir kodun satırının etiketi olduğunu anlayarak bu şekilde davranmaktadır. Ayrıca arasına
komut satırı girmeden yazacağımız birden fazla satırdaki etiketin de aynı değere sahip olduğunu
görürüz. Bazı durumlarda kolay anlaşılırlık bakımından bu yöntem kullanılabilir.

Şekil-3
Şimdi bu durma noktasının nasıl bir işlevi olduğunu görelim. Önce 'Reset' butonuna, sonra
da 'Run' butonuna basalım. Program çalışıp ayarladığımız durma noktasında yani INCF A_Reg,F
satırında duracaktır. Aynı işlemi tekrarlarsak yine aynı yerde durduğunu görürüz. Biz bu
durma noktasını geçici olarak durdurana veya kaldırana kadar aynı durum sürecektir.