PIC Komutları 2
Yazılış : GOTO k
İşleçler: 0 £ k £ 2047
İşlem: k ® PC<10:0> PCLATH<4:3> ® PC<12:11> d Î [0,1]
Etkilenen Yazmaçlar : YOK
Kodlama : 10 1kkk kkkk kkkk
Tanım : GOTO koşulsuz dallanma komutudur. İlk 11 bit PC<10:0>' ye yüklenir. Yüksek bitler PCLATH<4:3>' yüklenir. GOTO iki çevrimlik komuttur.
Word: 1
Saat Çevrimi (Cycle) : 2
Q1 | Q2 | Q3 | Q4 |
Kod çöz | "k" literalini oku | İşlemi yap | PC'ye yaz |
İşlem Yapma | İşlem Yapma | İşlem Yapma | İşlem Yapma |
İşlemden önce PC =
İşlemden sonra PC = adres
Yazılış : INCF f,d
İşleçler: 0 £ f £ 127, d Î [0,1]
İşlem: (f) + 1 ® (destination)
Etkilenen Yazmaçlar : Z
Kodlama : 00 1010 dfff ffff
Tanım : "f" yazmacının içeriğini 1 artır. Eğer "d" 0 ise sonucu W 'ye, 1 ise "f" yazmacına yaz.
Word: 1
Saat Çevrimi (Cycle) : 1
Q1 | Q2 | Q3 | Q4 |
Kod çöz | "f" yazmacını oku | İşlemi yap | Sonucu hedefe yaz |
İşlemden önce CNT = 0xFF, Z = 0
İşlemden sonra CNT = 0x00, Z = 1
Yazılış : INCFSZ f,d
İşleçler: 0 £ f £ 127, d Î [0,1]
İşlem: (f) + 1 ® (destination)
Etkilenen Yazmaçlar : Yok
Kodlama : 00 1111 dfff ffff
Tanım : "f" yazmacının içeriğini eğer sonuç 0 değilse 1 artır, yoksa komutu atla. Eğer "d" 0 ise sonucu W 'ye, 1 ise "f" yazmacına yaz.
Word: 1
Saat Çevrimi (Cycle) : 1 (2 Eğer atlama yapılırsa)
Q1 | Q2 | Q3 | Q4 |
Kod çöz | "f" yazmacını oku | İşlemi yap | Sonucu hedefe yaz |
Q1 | Q2 | Q3 | Q4 |
İşlem Yapma | İşlem Yapma | İşlem Yapma | İşlem Yapma |
İşlemden önce CNT = 0xFF, Z = 0
İşlemden sonra CNT = 0x00, Z = 1
Yazılış : IORLW k
İşleçler: 0 £ f £ 127, d Î [0,1]
İşlem: (W) .OR. (f) ® (destination)
Etkilenen Yazmaçlar : Z
Kodlama : 00 0100 dfff ffff
Tanım : W yazmacı ile "f" yazmacına VEYA işlemi uygula. Sonucu W 'ye yaz.
Word: 1
Saat Çevrimi (Cycle) : 1
Q1 | Q2 | Q3 | Q4 |
Kod çöz | "k" literalini oku | İşlemi yap | Sonucu yaz |
İşlemden önce W = 0x9A, Z = 0
İşlemden sonra W = 0xBF, Z = 1
Yazılış : IORWF f,d
İşleçler: 0 £ k £ 255
İşlem: (W) .OR. k ® (W)
Etkilenen Yazmaçlar : Z
Kodlama : 11 1000 kkkk kkkk
Tanım : W yazmacı ile "k" literaline VEYA işlemi uygula. Eğer "d" 0 ise sonucu W 'ye, 1 ise "f" yazmacına yaz.
Word: 1
Saat Çevrimi (Cycle) : 1
Q1 | Q2 | Q3 | Q4 |
Kod çöz | "f" yazmacını oku | İşlemi yap | Sonucu yaz |
İşlemden önce W = 0x9A, Z = 0
İşlemden sonra W = 0xBF, Z = 1
Yazılış : MOVF f,d
İşleçler: 0 £ f £ 127, d Î [0,1] < BR > İşlem: (f) ® (destination)
Etkilenen Yazmaçlar : Z
Kodlama : 00 1000 dfff ffff
Tanım : "f" yazmacının içeriğini hedefe taşı.Hedef "d"'ye bağlıdır. Eğer "d" 0 ise sonucu W 'ye, 1 ise "f" yazmacına taşır.
Word: 1
Saat Çevrimi (Cycle) : 1
Q1 | Q2 | Q3 | Q4 |
Kod çöz | "f" yazmacını oku | İşlemi yap | Hedefe Yaz |
İşlemden sonra W = FSR'deki değer, Z = 1
Yazılış : MOVLW k
İşleçler: 0 £ k £ 255
İşlem: k ® W
Etkilenen Yazmaçlar : Yok
Kodlama : 11 00xx kkkk kkkk
Tanım : Sekiz bitlik "k" literali "W" yazmacına yüklenir.
Word: 1
Saat Çevrimi (Cycle) : 1
Q1 | Q2 | Q3 | Q4 |
Kod çöz | "k" literalini oku | İşlemi yap | "W"yazmacına Yaz |
İşlemden Sonra W = 0x5A
Yazılış : MOVWF f
İşleçler: 0 £ f £ 127 < BR > İşlem: (W) ® (f)
Etkilenen Yazmaçlar : Yok
Kodlama : 00 0000 1fff ffff
Tanım : "W" yazmacının içeriğini "W" yazmacına taşı.
Word: 1
Saat Çevrimi (Cycle) : 1
Q1 | Q2 | Q3 | Q4 |
Kod çöz | "W" yazmacını oku | İşlemi yap | Hedefe Yaz |
İşlemden Önce :
OPTION = 0xFF W = 0x4F
İşlemden Sonra :
OPTION = 0x4F W = 0x4F
Hiç yorum yok:
Yorum Gönder