ASSEMBLY
Assembler
Assembler, mikro denetleyicileri ve işlemcileri programlamak için kullanılan assembly programlama dilini derleyen yada yazdığımız programı entegreye yüklenebilecek hale getiren yani heksadesimal yapan programdır.

Gpasm , mpasm PIC mikro denetleyicileri için yapılmış assembler programıdır.

Assembly
Makine dili olarakda geçen, en düşük seviyedeki dildir. Pic ve benzeri entegreleri programlamak için bu dil kullanılır.Özel bir programı yoktur. Herhangi bir editörle yazılabilir. Çevrilecek dosya formatının salt metin dosyası olması gerekmektedir.

Assembly Komutları

d = 0 ise sonuç W yazmacına

d = 1 ise sonuç F yazmacına yazılır.

k = 0 ile 255 arasında bir sayı.

f = 0 ile 127 arasında bir sayı. Yazmaç adresi tanımlar.

b = 8 bitlik yazmaç adresi.

W = Working register.

ADDLW : k sayısı ile W yazmacının içeriği toplanır.

ADDLW k

ADDWF : F yazmacının içeriği ile W yazmacının içeriği toplanır.

ADDWF f , d

ANDLW : k sayısı ile W yazmacının içeriğine mantık (lojik) “ve”uygulanır ve sonuç W yazmacının içerisine yazılır.

ANDLW k

ANDWF: F yazmacının içeriği ile W yazmacının içeriğine mantık (lojik) "ve” uygulanır.

ANDWF f,d

BCF : F yazmacının içeriğinin belirtilen bitini sıfır yapar.

BCF f,b

BSF : F yazmacının içeriğinin belirtilen bitini bir yapar.

BSF f,b

BTFSC : F yazmacının belirtilen biti 0 ise bir sonraki komut işlenmez.

BTFSC f,b

BTFSS : F yazmacın belirtilen biti 1 ise bir sonraki komut işlenmez.

BTFSS f,b

CALL : Önceden yazılan alt program çağrılır.

CALL Alt_Program

CLRF : F yazmacının içeriğitemizlenir .

CLRF f

CLRW : W yazmacının içeriği temizlenir.

CLRW

CLRWDT : Watchdog timer içeriği temizlenir.

CLRWDT

COMF : F yazmacının içeriği terslenir. Sıfırlar bir, birler sıfır yapılır.

COMF f ,d

DECF : F yazmacının içeriği 1 azaltılır.

DECF f,d

DECFSZ: F yazmacının içeriği 1 azaltılır eğer değer sıfır olursa bir komut atlanır.

DECFSZ f,d

GOTO : Belirtilen adrese gidilir.

GOTO Etiket

INCF : F yazmacının içeriği 1 arttırılır.

INCF f,d

INCFSZ : F yazmacının içeriği 1 arttırılır eğer değer sıfır olursa bir komut atlanır.

INCFSZ f,d

IORLW: k sayısı ile W yazmacına mantık (lojik) "yada” uygulanır. Sonuç W yazmacına yazılır.

IORLW k

IORWF : F yazmacının içeriği ile W yazmacının içeriğine mantık (lojik) “yada” uygulanır.

IORWF f,d

MOVLW : k sayısı W yazmacına aktarılır.

MOVLW k

MOVWF : W yazmacının içeriği F yazmacına aktarılır.

MOVWF f,d

NOP : Bir saat çevrimi boyunca işlem yapılmaz.

NOP

RETFIE : Kesme programına geri dönülür.

RETFIE

RETLW : Program akışı alt programdan ana programa döner. Ve k sayısı W yazmacına aktarılır.

RETLW k

RETURN : Alt programdan çıkılır.

RETURN

RLF : F yazmacındaki içeriği bir bit sola kaydırır.

RLF f,d

RRF : F yazmacındaki içeriği bir bit sağa kaydırır.

RRF f,d

SLEEP: PIC uyku koduna geçer ve çok az güç harcar.

SLEEP

SUBLW : k sayısından W yazmacındaki sayıyı çıkarır.

SUBLW k

SUBWF : F yazmacından W yazmacının içeriğini çıkarır.

SUBWF f,d

SWAPF : F yazmacının üst dört biti ile alt dört biti yer değiştirir.

SWAPF ,d

XORLW : W yazmacı ile k sayısına mantık XOR uygulanır ve sonucu W yazmacına yazar.

XORLW k

XORWF : W yazmacı ile F yazmacına mantık XOR uygulanır.

XORWF f , d
<<Geri İleri >>