1. ADDWF [ Add w to f ]
โค้ด 0001 11df ffff
ขนาด1 ไบต์
สัญญาณนาฬิกา 1 ลูก
รูปแบบ (w+f) - d
บิตสถานะ C,D,C,Z
ความหมาย บวกค่าข้อมูลรีจิสเตอร์ f ถ้าเป็น 0 ผลลัพธ์จะเก็บในรีจิสเตอร์ถ้า d เป็น 1 จะเก็บ ในรีจิสเตอร์ f

2.
ANDLW [ AND ค่าคงที่ กับ w ]
โค้ด1110 kkkkk kkkk
ขนาด1 ไบต์
สัญญาณนาฬิกา 1 ลูก
รูปแบบ (w AND K) - W
บิตสถานะ Z
ความหมาย ข้อมูลในรีจิสเตอร์ w จะถูก AND กับค่าคงที่ k ขนาด 8 บิต ข้อมูลที่ได้จะเก็บอยู่ ในรีจิสเตอร์ W

3.
ANDWF [ AND W กับ f ]
โค้ด 0001 01df ffff
ขนาด1 ไบต์
สัญญาณนาฬิกา 1 ลูก
รูปแบบ (w AND f) - d
บิตสถานะ Z
ความหมาย ข้อมูลในรีจิสเตอร์ w จะ AND รีจิสเตอร์ f ถ้า d เป็น0 ผลลัพธ์จะเก็บในรีจิสเตอร์ w ถ้าdเป็น 1 จะเก็บในรีจิสเตอร์ f

4.
BCS [ เคลียร์บิตที่ชี้โดย รีจิสเตอร์ f ]
โค้ด 0100 bbbf ffff
ขนาด1 ไบต์
สัญญาณนาฬิกา 1 ลูก
รูปแบบ 0 -f(b)
บิตสถานะ ไม่มี
ความหมาย บิตb ในรีจิสเตอร์ f จะถูกเปลี่ยนให้เป็น 0

5.
BSF [ เซ็ตบิตที่ชี้โดย รีจิสเตอร์ f ]
โค้ด 0101 bbbf ffff
ขนาด1 ไบต์
สัญญาณนาฬิกา 1 ลูก
รูปแบบ 1 -f(b)
บิตสถานะ ไม่มี
ความหมาย บิต b ในรีจิสเตอร์ f จะถูกเปลี่ยนให้เป็น 1

6.
BTFSC [ ทดสอบบิต ข้าม 1 คำสั่งถ้าเคลียร์ ]
โค้ด 0110 bbbf ffff
ขนาด1 ไบต์
สัญญาณนาฬิกา 1 หรือ 2 ลูก
รูปแบบ กระโดดข้ามถ้า f(b) = 0
บิตสถานะ ไม่มี
ความหมาย ถ้าบิตในรีจิสเตอร์ f เป็น 0 คำสั่งถัดไปจะถูกข้าม

7.
BTFSS [ ทดสอบบิต ข้าม 1 คำสั่งถ้าเซ็ต ]
โค้ด 0111 bbbf ffff
ขนาด1 ไบต์
สัญญาณนาฬิกา 1 หรือ 2 ลูก
รูปแบบ กระโดดข้ามถ้า f(b) =1
บิตสถานะ ไม่มี
ความหมาย ถ้าบิตในรีจิสเตอร์ f เป็น 1 คำสั่งถัดไปจะถูกกระโดดข้าม

8.
CALL [ เรียกใช้งานโปรแกรมย่อย ]
โค้ด1001 kkkk kkkk
ขนาด1 ไบต์
สัญญาณนาฬิกา 2 ลูก
รูปแบบ PC+1
บิตสถานะ ไม่มี
ความหมาย เรียกใช้โปรแกรมย่อยโดยการเก็บตำแหน่งแอคเดสถัดไปไว้ในสแต็ป จากนั้นค่าคงที่จะถูกโหลดไว้ที่รีจิสเตอร์ PC ขนาด 7 บิตโดยบิตที่ 8 จะเป็น 0

9.
CRLF [ เคลียร์รีจิสเตอร์ f ]
โค้ด 0000 011f ffff
ขนาด1 ไบต์
สัญญาณนาฬิกา 1 ลูก
รูปแบบ 00h---f
บิตสถานะ ไม่มี
ความหมาย ค่าในรีจิสเตอร์ f จะถูกเปลี่ยนให้เป็น 0

10.
CLRW [ เคลียร์รีจิสเตอร์ w ]
โค้ด 0000 0100 0000
ขนาด1 ไบต์
สัญญาณนาฬิกา 1 ลูก
รูปแบบ 00h---w
บิตสถานะ Z
ความหมาย ค่าในรีจิสเตอร์ w จะถูกเปลี่ยนให้เป็น 0 และบิต Zero จะเซ็ตเป็น 1

11.
CLRWDT [ เคลียร์วอตช์ดอกไทเมอร์ ]
โค้ด 0000 0000 0100
ขนาด1 ไบต์
สัญญาณนาฬิกา 1 ลูก
รูปแบบ 00h---wdto---wdt prescaler
บิตสถานะ 1-to.1---PO
ความหมาย ค่าของวอตช์ดอกไทเมอร์และค่าปรีสเกลเลอร์ของวอตช์ดอกไทเมอร์จะถูกรีเซ็ต

12.
COMF [ Complement ค่าในรีจิสเตอร์ f ]
โค้ด 0010 010f ffff
ขนาด1 ไบต์
สัญญาณนาฬิกา 1 ลูก
รูปแบบ f---d
บิตสถานะ z
ความหมาย ค่าในรีจิสเตอร์ f จะถูกคอมพลีเมนต์ ถ้า d เป็นศูนย์ ผลลัพธ์จะถูกเก็บเป็นรีจิสเตอร์ W ถ้าd เป็น 1 ผลลัพธ์จะเก็บเป็นรีจิสเตอร์ f

13.
DECF [ ลดค่าในรีจิสเตอร์ f ลง 1 ]
โค้ด 0000 11df ffff
ขนาด1 ไบต์
สัญญาณนาฬิกา 1 ลูก
รูปแบบ (fb) ---d
บิตสถานะ z
ความหมาย เป็นการลดค่าในรีจิสเตอร์ f ลง 1 ถ้า d มีค่าเป็น 0 ผลลัพธ์จะเก็บในรีจิสเตอร์ w แต่ถ้าd เป็น 1 จะเก็บในรีจิสเตอร์ f

14.
DECFSZ [ ลดค่าในรีจิสเตอร์ f ลง 1 และข้าม 1 คำสั่งถ้าเป็น 0 ]
โค้ด 0010 11df ffff
ขนาด1 ไบต์
สัญญาณนาฬิกา 1 ลูก
รูปแบบ (f-1) ---d กระโดดข้ามถ้าผลลัพธ์เป็น 0
บิตสถานะ ไม่มี
ความหมาย เป็นการลดค่าที่เก็บในรีจิสเตอร์ f ลงถ้า d เป็น 0 ผลลัพธ์จะเก็บในรีจิสเตอร์ w แต่ถ้า d เป็น 1 จะเก็บในรีจิสเตอร์ fถ้าผลลัพธ์เท่ากับ 0 คำสั่งถัดไปจะถูกข้าม

15.
GOTO [ กระโดดไปยัง ]
โค้ด 101k kkkk kkkk
ขนาด1 ไบต์
สัญญาณนาฬิกา 2 ลูก
รูปแบบ k-PC<8.0>,pa2,pa1,pa0---PC<11.9>;
บิตสถานะ ไม่มี
ความหมาย กระโดดไปยังแอคเดรสที่ชี้โดยค่าคงที่ขนาด9 บิต

16.
INCF [ เพิ่มค่าในรีจิสเตอร์ f ขึ้น 1 ]
โค้ด 0010 10df ffff
ขนาด1 ไบต์
สัญญาณนาฬิกา 1 ลูก
รูปแบบ (f+1)
—d
บิตสถานะ z
ความหมาย เป็นการเพิ่มค่าที่เก็บในรีจิสเตอร์ f ขึ้น ถ้าd มีค่าเป็น 0 ผลลัพธ์จะเก็บในรีจิสเตอร์ w ถ้าd เป็น 1 จะเก็บในรีจิสเตอร์ f

17.
INCFSZ [ เพิ่มค่าในรีจิสเตอร์ f ]
ขึ้น 1 กระโดดข้ามถ้าเป็น 0
โค้ด 0010 11df ffff
ขนาด1 ไบต์
สัญญาณนาฬิกา 1หรือ 2 ลูก
รูปแบบ (f+1)-d กระโดดข้ามถ้าผลลัพธ์เป็น 0
บิตสถานะ ไม่มี
ความหมาย เพิ่มค่าในรีจิสเตอร์ f ขึ้น 1ถ้าd เป็น 0 ผลลัพธ์จะเก็บในรีจิสเตอร์ w แต่ถ้าd เป็น 1 จะเก็บในรีจิสเตอร์ f ถ้าผลลัพธ์เท่ากับ 0 คำสั่งถัดไปจะถูกกระโดดข้าม
18. IORLW [ OR ค่าคงที่ กับ w ]
โค้ต 1101 kkkkk kkkk
ขนาด 1ไบต์
สัญญาณนาฬิกา 1 ลูก
รูปแบบ (w or k) ---w
บิตสถานะ Z
ความหมาย ข้อมูลในรีจิสเตอร์ w จะ OR กับค่าคงที่ k ขนาด 8 บิตผลลัพธ์จะเก็บในรีจิสเตอร์ w

19.
IORWF [ OR W กับ f ]
โค้ต 0001 00df ffff
ขนาด 1ไบต์
สัญญาณนาฬิกา 1 ลูก
รูปแบบ (w or f) ---d
บิตสถานะ Z
ความหมาย ข้อมูลในรีจิสเตอร์ w กับรีจิสเตอร์ f ถ้า d เป็น 0 ผลลัพธ์จะเก็บในรีจิสเตอร์ w แต่ถ้า d เป็น1 จะเก็บในรีจิสเตอร์ f

20.
MOVF [ ย้ายข้อมูลในรีจิสเตอร์ f ]
โค้ต 0010 00df ffff
ขนาด 1ไบต์
สัญญาณนาฬิกา 1 ลูก
รูปแบบ (f) ---d
บิตสถานะ Z
ความหมาย ค่าข้อมูลในรีจิสเตอร์ f จะถูกย้ายถ้า d มีค่าเป็น 0 ผลลัพธ์จะเก็บในรีจิสเตอร์ w ถ้า d เป็น1 จะเก็บในรีจิสเตอร์ f

21.
MOVLW [ ย้ายข้อมูลใน รีจิสเตอร์ f ]
โค้ต 1100 kkkk kkkk
ขนาด 1ไบต์
สัญญาณนาฬิกา 1 ลูก
รูปแบบ k---w
บิตสถานะ ไม่มี
ความหมาย ค่าคงที่ k จะเคลื่อนย้ายไปรีจิสเตอร์ w

22.
MOVWF [ ย้ายข้อมูลในรีจิสเตอร์ W ไปยัง รีจิสเตอร์ f ]
โค้ต 0000 001f ffff
ขนาด 1ไบต์
สัญญาณนาฬิกา 1 ลูก
รูปแบบ w---f
บิตสถานะ ไม่มี
ความหมาย ข้อมูลในรีจิสเตอร์ W จะเคลื่อนย้ายไปยังรีจิสเตอร์

23.
NOP [ ไม่มีการทำงาน ]
โค้ต 0000 0000 0000
ขนาด 1ไบต์
สัญญาณนาฬิกา 1 ลูก
รูปแบบ ไม่มีการทำงาน
บิตสถานะ ไม่มี
ความหมาย ไม่มีการทำงาน

24. OPTION [ โหลดค่า รีจิสเตอร์ OPTION ]
โค้ต 0000 0000 0010
ขนาด 1ไบต์
สัญญาณนาฬิกา 1 ลูก
รูปแบบ w---option
บิตสถานะ ไม่มี
ความหมาย ข้อมูลในรีจิสเตอร์ w จะโหลดไปยังรีจิสเตอร์ OPTION

25.
RETLW [ ย้อนกลับและนำค่าเข้า รีจีสเตอร์ w ด้วย k ]
โค้ต 1000 kkkk kkkk
ขนาด 1ไบต์
สัญญาณนาฬิกา 2 ลูก
รูปแบบ k---w: Tos----PC
บิตสถานะ ไม่มี
ความหมาย ข้อมูลในรีจิสเตอร์ w จะ โหลดด้วยค่าคงที่ขนาด 8 บิตและโปรแกรมเคาน์เตอร์จะนำค่าที่เก็บไว้ในสเต็คคืน

26.
RLF [ Rotate Left วนซ้าย รีจิสเตอร์ f คิดค่า Carry ด้วย ]
โค้ต 0011 00df ffff
ขนาด 1ไบต์
สัญญาณนาฬิกา 1 ลูก
รูปแบบ f<n>---d<n> f<o>----cc-d<o>
บิตสถานะ c
ความหมาย ข้อมูลในรีจิสเตอร์ จะถูกเลื่อนไปด้านซ้าย 1 บิตคิดแฟลกตัวทดถ้า d เป็น 0 ผลลัพธ์จะเก็บในรีจิสเตอร์ w แต่ถ้า d เป็น1 จะเก็บในรีจิสเตอร์ f

27.
RRF [ Rotate Right วนขวา รีจิสเตอร์ f คิดค่า Carry ด้วย ]
โค้ต 0011 00df ffff
ขนาด 1ไบต์
สัญญาณนาฬิกา 1 ลูก
รูปแบบ f<n>---d<n-1> f<o>----cc-d<1>
บิตสถานะ c
ความหมาย ข้อมูลในรีจิสเตอร์ fจะถูกเลื่อนไปด้านขวา 1 บิต คิดแฟลกตัวทดถ้า d เป็น 0 ผลลัพธ์จะเก็บในรีจิสเตอร์ w แต่ถ้า d เป็น1 จะเก็บในรีจิสเตอร์ f

28.
SLEEP [ เข้าโหมด Sleep ]
โค้ต 0000 0000 0011
ขนาด 1ไบต์
สัญญาณนาฬิกา 1 ลูก
รูปแบบ 0---po:;1---to,00h---WDT0-WDT prescaller
บิตสถานะ TO,PO
ความหมาย ระบบประหยัดพลังงาน บิต วอตช์ ดอกไมเมอร์และวอตช์ดอกปริสเกอเลอร์ จะเคลียร์บิต to จะเซ็ต ไมโครโปรเซสเซอร์ จะเข้าสู่โหมด SLEEP

29.
SUBWF [ ลบค่า w จาก f ]
โค้ต 0000 10df ffff
ขนาด 1รีจิสเตอร์ ไบต์
สัญญาณนาฬิกา 1 ลูก
รูปแบบ (f-w)--d
บิตสถานะ c,dc,z
ความหมาย ทำ 2' Complement รีจิสเตอร์ w จากรีจิสเตอร์ f ถ้า d มีค่าเป็น 0 ผลลัพธ์จะเก็บในรีจิสเตอร์ w แต่ถ้า d เป็น1 จะเก็บในรีจิสเตอร์ f

30.
SWAP [ Swap f ]
โค้ต 0000 10df ffff
ขนาด 1รีจิสเตอร์ ไบต์
สัญญาณนาฬิกา 1 ลูก
รูปแบบ f <0:3>--d<4:7>--d<0:3>
บิตสถานะ ไม่มี
ความหมาย สลับระหว่าง 4 บิตบนกับ 4 บิตล่างในรีจิสเตอร์ f ถ้า d มีค่าเป็น 0 ผลลัพธ์จะเก็บในรีจิสเตอร์ w แต่ถ้า d เป็น1 จะเก็บในรีจิสเตอร์ f

31.
TRIS [ โหลดรีจิสเตอร์ TRIS ]
โค้ต 0000 0000 0fff
ขนาด 1ไบต์
สัญญาณนาฬิกา 1 ลูก
รูปแบบ w--TRIS register f
บิตสถานะ ไม่มี
ความหมาย TRIS รีจิสเตอร์ f(f=5,6.7) จะโหลดค่าในรีจิสเตอร์ w

32.
XORLW [ Exclusive OR ค่าคงที่กับ w ]
โค้ต 1111 kkkk kkkk
ขนาด 1ไบต์
สัญญาณนาฬิกา 1 ลูก
รูปแบบ (W xor k)----w
บิตสถานะ z
ความหมาย ค่าข้อมูลที่อยู่ในรีจิสเตอร์ w จะถูก xor กับค่าคงที่ k ขนาด 8 บิต ข้อมูลที่ได้จะเก็บอยู่ในรีจิสเตอร์ w

33.
XORWF [ Exclusive OR w กับ F ]
โค้ต 0001 10df ffff
ขนาด 1ไบต์
สัญญาณนาฬิกา 1 ลูก
รูปแบบ (W xor f)--d
บิตสถานะ z
ความหมาย ค่าข้อมูลที่อยู่ในรีจิสเตอร์ w จะถูก xor รีจิสเตอร์ fถ้า d มีค่าเป็น 0ผลลัพธ์จะเก็บในรีจิสเตอร์ w ถ้า dเป็น1 จะเก็บในรีจิสเตอร์ f
Hosted by www.Geocities.ws

1