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.

programbolumleri 1

Assembly Programı Bölümleri

Başlık:

Programın en başındaki bölümdür.

baslik 1

Etiketler:

Program akışının istenilen bir yere dallanmasını sağlamak amacıyla kullanılır.

Örneğin;

Program akışı devam ederken;

goto 1

komutu ile program akışı;

dongu 1

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):

equ 1
Sabitler:  

 

PIC assembly dilinde hexadesimal sayılar birer sabittir.

sabit 1

ORG Deyimi:

Program komutunun hangi adresten itibaren başladığını gösterir.

org 1
Sonlandırma Bloğu:

Programı belirli bir yerde duraklatmak için sonsuz döngü kullanılabilir.

sonlandirma 1

yukarıdaki sonsuz döngüde;
dongu 1

 

etiketine assembler otomatik bir adres verir.

goto 1

komutu ise program akışını devamlı aynı adrese gönderir.

end 1

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.
sayilar 1

binary hex 1

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.

  1. Byte yönlendirmeli komutlar.
  2. Bit yönlendirmeli komutlar.
  3. Sabit işleyen komutlar.
  4. 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.
bytebitresim 1

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] 

birimler 1

1.  Byte yönlendirmeli komutlar:

 

bytekomut 1

Örnek:

byteornek 1

  1. Bit yönlendirmeli komutlar:bitkomut 1

Örnek:

bitornek 1

  1. Sabit işleyen komutlar:                      sabitkomut 1

Örnek:

sabitornek 1

  1. Kontrol komutları:                                          kontrolkomut 1

Örnek:

kontrolornek 1

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:

config 1

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:

configornek 1

Ö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.

Yazar: Ali Celal

5f59ca35fd9ac7f00cde62f0b0cd0d07?s=90&d=blank&r=g- Elektronik Mühendisi
- E.Ü. Tıp Fakültesi Kalibrasyon Sorumlusu Test kontrol ve kalibrasyon sorumlu müdürü (Sağ.Bak. ÜTS)
- X-Işınlı Görüntüleme Sistemleri Test Kontrol ve Kalibrasyon Uzmanı (Sağ.Bak.)
- Usta Öğretici (MEB)
- Hatalı veya kaldırılmasını istediğiniz sayfaları diyot.net@gmail.com bildirin