Set instruksi 12-bit: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
Edipermadi (bicara | kontrib)
Edipermadi (bicara | kontrib)
Baris 51:
 
'''Berdasarkan strukturnya''', set instruksi 12-bit dapat dikelompokkan menjadi:
* <u>Instruksi berorientasi byte</u>, yaitu ADDWF, ANDWF, CLRF, CLRW, COMF, DECF, DECFSZ, INCF, INCFSZ, IORWF, MOVF, MOVWF, NOP, RLF, RRF, SUBWF, SWAPF, XORWF
* <u>Instruksi berorientasi bit</u>, yaitu BCF, BSF, BTFSC, BTFSS
* <u>Instruksi literal dan kontrol</u>, yaitu ANDLW, CALL, CLRWDT, GOTO, IORLW, MOVLW, OPTION, RETLW, SLEEP, TRIS, XORLW
 
 
'''Berdasarkan fungsinya''', set instruksi 12-bit dapat dikelompokkan menjadi:
* <u>Instruksi aritmatika:Aritmatika</u>, yaitu ADDWF, SUBWF, INCF, DECF, INCFSZ, DECFSZ
* <u>Instruksi logika:Logika</u>, yaitu COMF, ANDLW, ANDWF, IORLW, IORWF, XORLW, XORWF, RLF, RRF
* <u>Instruksi transferTransfer data:</u>, yaitu MOVLW, MOVF, MOVWF, SWAPF
* <u>Instruksi Percabangan:</u>, yaitu BTFSC, BTFSS, CALL, RETLW, GOTO
* <u>Instruksi kendali:Kendali</u>, yaitu OPTION, CLRWDT, SLEEP, TRIS
* <u>Instruksi tambahan:Tambahan</u>, yaitu NOP, CLRW, CLRF, BCF, BSF
 
Beberapa diantara set instruksi 12 bit mempengaruhi [[flag]]. Flag adalah penanda/[[indikator]] kondisi tertentu yang dihasilkan sebuah operasi. Flag yang mungkin terpengaruh adalah Z, DC, C, TO dan PD. Flag Z akan aktif jika [[register]] W bernilai 0x00. Flag C akan aktif jika ada transisi dari 0xff ke 0x00 dan DC akan aktif jika ada transisi dari 0x0f ke 0x10. Flag TO akan aktif jika waktu tunggu WDT (Watchdog Timer) telah habis. Flag PD aktif jika [[mikrokontroler]] memasuki modus SLEEP. Aktifnya sebuah flag ditandai dengan logika "1", kecuali untuk TO dan PD karena keduanya aktif rendah.
 
=== '''Pengkodean''' ===