Instruction Set

  • FAKTA: Jumlah set suruhan yang digunakan dalam PIC16F877A adalah sebanyak 35 set suruhan.

Bilangan ini dianggap sedikit jika dibandingkan dengan jumlah instruction set yang digunakan dalam Microcontroller jenis yang lain (Motorolla 68HC908, Intel 8085 dll.)

Jadi bertuahlah ANDA kerana tidak perlu belajar begitu banyak set suruhan.

Untuk melihat kesemua set suruhan yang terdapat di dalam PIC16F877A, sila download datasheet disini. Kemudian pergi ke BAB 15 untuk melihat rumusan set suruhan.

——————————————————————————————————————————————————–

WREG

********Pada Topik ini hanya menerangkan mengenai penggunaan WREG, manakala ciri-ciri bagi WREG tidak dibincangkan disini.

  • INFO : WREG adalah singkatan daripada perkataan “Working Register”.

Sebagai seorang rakyat Malaysia, saya pasti anda semua akan kenal dengan bangunan tertinggi di Malaysia iaitu KLCC tower. Cuba anda bayangkan didalam ruangan RAM PIC16F877A terdapat EMPAT(4) bangunan tinggi (Setinggi KLCC). Dimana setiap bangunan ini masing-masing diberi nama BANK0, BANK1, BANK2 dan BANK3 seperti yang ditunjukkan dalam Rajah 1 dibawah:

Rajah1: File Register Map PIC16F877A

Seperti yang anda dapat perhatikan dalam Rajah 1 diatas, setiap BANK terdiri daripada Register yang terletak pada alamat yang telah ditetapkan.Umpamanya seperti bangunan KLCC yang terdiri daripada susunan berpuluh-puluh tingkat.

Untuk pengetahuan anda, Semua Register yang berada didalam Bank-Bank itu adalah STATIK (Tetap).  Umpama seperti Kedai Mamak yang terletak didalam KLCC.

Oleh yang demikian, sekiranya anda (CPU) perlu menghantar DATA masuk ke dalam Register atau mengambil DATA dari Register, anda (CPU) boleh melakukannya melalui “ORANG TENGAH” yang bernama WREG.

Berikut adalah beberapa suruhan yang digunakan untuk memasukkan DATA ke WREG.

1. MOVLW    0xFF

Suruhan No.1 ini bermaksud:

PINDAHkan L ke dalam WREG, dimana L merujuk kepada DATA terdapat di bahagian operand dalam contoh ini ialah 0xFF. Selepas melaksanakan suruhan ini, WREG akan memegang DATA 0xFF (WREG=0xFF).

2.  MOVF       FileReg , W

Contoh penggunaan Suruhan No.2

MOVF     PORTC , W

Suruhan ini bermaksud:

PINDAHkan DATA dari File Register ke WREG, dimana File Register merujuk kepada mana-mana Register yang terdapat didalam Bank.

Selepas melaksanakan Suruhan ini, WREG akan memegang DATA yang terdapat didalam PORTC (WREG=PORTC)

Manakala untuk memindahkan DATA dari WREG ke File Register, kita akan guna suruhan berikut:

  • MOVWF      fileReg

Suruhan bermaksud:

PINDAHkan DATA dalam WREG ke fileReg, dimana fileReg adalah mana-mana Register yang terdapat didalam RAM (Bank 0 – 3)

Note: Bagi mereka yang pernah belajar microcontroller jenis Intel 8085 atau Motorolla 68HC908, WREG adalah sama seperti Accumulator.

LATIHAN

a) Nyatakan data yang terdapat didalam WREG selepas melaksanakan suruhan berikut:

  1. MOVLW      B’11100101′
  2. MOVLW      H’0xC1′
  3. MOVLW      0xAA
  4. MOVLW      .255
  5. MOVLW      D’254′

b) Diberi DATA yang terdapat di dalam file-file Register yang beralamat 0x20, 0x21, 0x22, 0x23 masing-masing adalah B’11110000′ , B’10100101′ , D’244′ , H’AB’

Nyatakan data yang terdapat di dalam WREG selepas melaksanakan suruhan berikut:

  1. MOVF      0x20,W
  2. MOVF      0x21,W
  3. MOVF,     0x22,W
  4. MOVF,     0x23,W

c) Nyatakan DATA yang terdapat di dalam Rigister yang beralamat 0x30,0x31,0x32 selepas melaksanakan suruhan-suruhan berikut:

MOVLW      B’11110000′

MOVWF      0x30

MOVLW      B’10101011′

MOVWF      0x31

MOVF          0x30,W

MOVWF      0x32

p/s: Sekiranya anda inginkan jawapan, sila tinggalkan komen anda dibawah ini.

Sekian,

SELAMAT MENJAWAP

Tinggalkan komen