|
Sayfa 3 Toplam: 4
Sayıların Yazım Şekli
0xXX, h'XX' veya 0XXh hexadecimal(16 lık taban) sayıların yazımında kullanılır.
b'XXXXXXXX' binary(2 lik taban) sayıların yazımında kullanılır.
d'XXX' decimal(10 luk taban) sayıların yazımında kullanılır.
Örnek:
0xCE ;Hexadecimal sayı (CE)16
h'CC' ;Hexadecimal sayı (CC)16
00Ch ;Hexadecimal sayı (0C)16
b'00110011' ;Binary sayı (00110011)2
d'255' ;Decimal sayı 255
Bazı PIC Assembly Komutları
LIST: Hangi PIC'ın kullanıldığını belirtir.
LIST P=16F628A ;16F628A kullanılacağını belirt
#INCLUDE: PORTA, PORTB, STATUS, TRISA, TRISB gibi özel yazmaçların adreslerinin belirtildiği INC uzantılı dosyayı dahil eder.
#INCLUDE "P16F628A.INC" ;P16F628A.INC dosyasını dahil et
EQU: Değişkenleri genel amaçlı adreslere atar.
degisken1 EQU 0x20 ;degisken1 i 0x20 adresine ata
degisken2 EQU 0x21 ;degisken2 i 0x21 adresine ata
MOVLW(MOVe Literal to W): Bir sabiti W yazmacına yükler.
MOVLW 0xFF
MOVWF(MOVe W to F): W yazmacındaki değeri F yazmacına yükler.
MOVWF PORTB
MOVF(MOVe F): F yazmacındaki değeri W veya F yazmacına yükler.
MOVF REG, 0 ;REG değişkenindeki değeri W yazmacına yükler
MOVF REG,1 ;REG değişkenindeki değeri gene REG değişkenine yükler
CLRF(CLeaR F): F yazmacının içeriğini siler
CLRF REG
BSF(Bit Set F): F yazmacının istenilen bitini 1 yapar.
BSF REG, 3 ;REG değişkeninin 3. bitini 1 yap
BCF(Bit Clear F): F yazmacının istenilen bitini 0 yapar.
BCF REG,7 ;REG değişkenini 7. bitini 0 yap
GOTO(GO TO adress): Belirtilen adrese gider ve programın akışı o adresten itibaren devam eder.
Dongu
GOTO Dongu ;Sonsuz döngü
CALL(CALL subroutine): Belirtilen alt rutine gider.
RETURN(RETURN from subroutine): Programın akışı alt rutinden ana rutine geri döner.
Dongu
CALL Rutin ;Rutin alt programını çağır
GOTO Dongu
Rutin
RETURN ;Çağrıldığın yere geri dön(GOTO Dongu komutundan devam eder)
BTFSC(Bit Test F Skip if Clear): F yazmacının istenilen bitini test eder 0 a eşitse bir sonraki komutu atlar (işleme almaz).
Dongu
BTFSC REG,2 ;REG değişkenin 2. bitini kontrol et 0 a eşitse sonraki komutu atla ve Sıfır etiketine git
GOTO Dongu
GOTO Sıfır
BTFSS(Bit Test F Skip if Set): F yazmacının istenilen bitini test eder 1 e eşitse bir sonraki komutu atlar (işleme almaz).
Dongu
BTFSS REG,2 ;REG değişkenin 2. bitini kontrol et 1 e eşitse sonraki komutu atla ve Bir etiketine git
GOTO Dongu
GOTO Bir
DECF(DECrease F): F yazmacının değerini 1 azaltır.
DECF REG
DECFSZ(DECrease F Skip if Zero): F yazmacının değerini bir azaltır 0 a eşitse sonraki komutu atlar(işleme almaz).
Dongu
DECFSZ REG ;REG i 1 azalt 0 a eşitse bir sonraki komutu atla ve Sıfır etiketine git
GOTO Dongu
GOTO Sıfır
INCF(INCrease F): F yazmacındaki değeri 1 artırır.
INCF REG
INCFSZ(INCrease F Skip if Zero): F yazmacındaki değeri 1 artırır 0 a eşitse sonraki komutu atlar(işleme almaz)
Dongu
INCFSZ REG ;REG i 1 artır 0 a eşitse bir sonraki komutu atla ve Sıfır etiketine git
GOTO Dongu
GOTO Sıfır
Diğer PIC Assembly komutlarına buradan ulaşabilirsiniz.
|