PIC ASSEMBLY DİLİ
Güncelleme 16/08/2024
Assembler, assembly dili kurallarına göre yazılmış olan komutları, PIC in anlayabileceği hexadesimal komutlara dönüştüren bir programdır.
MPASM bu işi yapan assembler programıdır. Assembler a Compiler (derleyici) de denmektedir.
PIC Assembly dili yazım kuralları
MPLAB ta assembly dilinde yazılan programın MPASM tarafından hexadesimal kodlara dönüştürülebilmesi için şu bilgiler program içine özel formatta yazılmalıdır.
- Komutların hangi PIC16XX için yazıldığı.
- Programın bellekteki hangi adresten başlayacağı.
- Komutların ve etiketlerin neler olduğu.
- Programın bitiş yeri.
Noktalı virgül (;)
; ile başlayan satır assembler tarafından hexadesimal kodlara dönüştürülmez.
Bu satırlar programın geliştirilmesi esnasında hatırlatıcı açıklamaların yazılmasında kullanılır.
Bir assemly program temel olarak 4 bölümden oluşur.
Bunlar; başlık atama, program ve sonuçtur.
Assembly Programı Bölümleri
Başlık:
Programın en başındaki bölümdür.
Etiketler:
Program akışının istenilen bir yere dallanmasını sağlamak amacıyla kullanılır.
Örneğin;
Program akışı devam ederken;
komutu ile program akışı;
etiketine dallandırılır.
Etiketlerin yazılmasında şu kurallara uyulur.
- Etiketler harfle veya alt çizgi _ ile başlamalıdır.
- Etiketlerde Türkçe karakter kullanılamaz.
- Etiketler bir assembly komutundan oluşamaz.
- Etiketlerde BÜYÜK / küçük harf duyarlılığı vardır.
Atama deyimi (EQU):
Sabitler:
PIC assembly dilinde hexadesimal sayılar birer sabittir.
ORG Deyimi:
Program komutunun hangi adresten itibaren başladığını gösterir.
Sonlandırma Bloğu:
Programı belirli bir yerde duraklatmak için sonsuz döngü kullanılabilir.
yukarıdaki sonsuz döngüde;
etiketine assembler otomatik bir adres verir.
komutu ise program akışını devamlı aynı adrese gönderir.
Böylece program duraklatılmış olur.
deyimi programın sona erdiğini bildirir.
Her program sonunda kullanılmalıdır. Aksi halde program hata mesajı verir.
BÜYÜK / küçük harlerin kullanımı:
Assemly komutlarının büyük veya küçük harfle yazılması önemli değildir.
Ancak etiketler BÜYÜK / küçük harfe duyarlıdır.
Herhangi bir karışıklığa neden olmaması için hep büyük yada hep küçük harf kullanmak en iyi seçimdir.
Sayıların yazılış biçimi:
PIC Assembly komutlarında binary sayılar; b ‘00001111’ biçiminde,
Desimal sayılar; d ‘16’ biçiminde,
Hexadesimal sayılar ise; 0xFF yada h ‘FF’ biçiminde yazılır.
PIC Assembly Komutlarının Yazılış Biçimi:
PIC16F84 ün toplam 35 tane komutu vardır.
Bu komutların yazılış biçimi 4 gurupta toplanabilir.
- Byte yönlendirmeli komutlar.
- Bit yönlendirmeli komutlar.
- Sabit işleyen komutlar.
- Kontrol komutları.
Bu arada bit – byte kavramları ile ilgili kısa bir bilgi vermek gerekirse;
Bit; bilişimde kullanılan en küçük bilgi birimidir.
Byte ise; 8 bit’in bir araya gelmesiyle oluşan veri topluluğudur.
Byte’ın diğer veri boyut birimlerine dönüşümü ise şöyledir:
8 Bit = 1Byte
1024 Byte = 1 KiloByte [KB]
1024 KB = 1 MegaByte [MB]
1024 MB = 1 GigaByte [GB]
1024 GB = 1 TeraByte [TB]
1. Byte yönlendirmeli komutlar:
Örnek:
- Bit yönlendirmeli komutlar:
Örnek:
- Sabit işleyen komutlar:
Örnek:
- Kontrol komutları:
Örnek:
NOT: Program içerisine yazılan etiketlere assembler otomatik olarak adres vermektedir.
Konfigürasyon Tanımlama: ( __CONFIG )
PIC’ e gerilim uygulandığı anda PIC’ in uyması gereken koşulları belirlemede kullanılır.
Konfigürasyon satırında PIC programlamada kullanılan koşullar şunlardır:
Bu komut yazılırken; CONFIG komutunun önünde iki alt çizgi bulunur. Ve her bir koşul tanımı arasında bir boşluk ve & işareti bulunur.
Örnek:
Örnekte; Kod koruma olmayacak, Watchdog timer devrede değil, PIC’ e enerji verildiğinde reset yapılacak ve XT Osilatör kullanılacak şeklinde koşullar belirlenmiştir.