You are on page 1of 8

BI 3

TM TT TP LNH
CHI TIT TP LNH














Ca. -: :x ea ey :xa: :e Wq% 7-a a.e a.e :x 7,xye C. 7x
80 Ca. 3. "ae te A::eJty :xa e.:
I. TM TT TP LNH
Tp lnh ca PIC 16 l trc giao v c chia ra lm 3 nhm lnh:
Lnh x l bit
Lnh x l byte
Lnh x l hng s v iu khin
Mi lnh ca PIC l mt t d liu 14 bit c chia ra lm 2 nhm gm m lnh hot ng (opcode:
operation code) v tc t (operand).
M lnh Opcode cho bit loi lnh m CPU phi thc hin. Cc dng m lnh bao gm:
0
OPCODE
6 7 8 13
d f(FILE#)

0
OPCODE
6 7 8 13
d(BIT#) f(FILE#)
9 10

0
OPCODE
7 8 13
k (literal)

0
OPCODE
11 13
k (literal)
10

Tc t operand l d liu m lnh s x l. Cc tc t bao gm cc thnh phn lit k trong bng sau:
TT Tc
t
M t
1 f Register file address (000 to 07F): l a ch 7 bit ca file thanh ghi 8 bit, ca 1 bank.
2 W Working register: Thanh ghi lm vic hay thanh ghi A.
3 b Bit address within an 8-bit file register: l a ch ca 1 bit nm trong thanh ghi file 8 bit
4 k Literal field, constant data or label: L hng s hoc a ch ca nhn.
5 d Destination select: la chn ni lu d liu: d=0 th lu vo W, d=1 th lu vo f, mc nhin
khng ghi d trong lnh th tng ng d=1.
6 PC Program counter: b m chng trnh.
7 TO Time-out bit: bit bo thi gian ht.
8 PD Power -down bit: bit bo CPU ang lm vic ch ng.

Vi lnh x l byte: th 'f' i din cho file thanh ghi v 'd' i din cho hng lu d liu: nu 'd' bng
0 th d liu sau khi x l lu vo thanh ghi 'W', nu 'd' bng 1 th d liu sau khi x l lu vo thanh ghi 'f'.
Vi lnh x l bit: th 'b' i din cho bit nm trong file thanh ghi 'f''.
Vi lnh x l hng s hoc iu khin: th 'k' i din cho hng s 8 bit hoc a ch 11 bit.
Mt chu k lnh gm 4 chu k dao ng, nu s dng thch anh c tn s 4MHz th thi gian thc
hin mi lnh l 1s. Hu ht cc lnh thc hin mt 1 chu k lnh, ngoi tr lnh kim tra iu kin ng
sai hoc lnh lm thay i gi tr ca thanh ghi PC th thc hin mt 2 chu k my. c
Tp lnh tm tt ca PIC:
Ca. -: :x ea ey :xa: :e Wq% 7-a a.e a.e :x 7,xye C. 7x
Ca. 3. "ae te A::eJty :xa e.: 8I


Ch (1): khi thanh ghi IO b thay i (v d nh lnh MOVF PORT, 1) th gi tr dng trong lnh l

II. TP LNH CHI TIT
1. Lnh: ADDLW Cng hng s k vo W
C php: ADDLW k
Tc t: 0 k 255
Thc thi: (W) + k (W). C nh hng: C, DC, Z. Chu k thc hin: 1.
Chc nng: cng ni dung thanh ghi W vi hng s k 8 bit v kt qu lu vo W.

2. Lnh: ADDWF Cng W vi f
C php: ADDWF f,d
Tc t: 0 f 127, d [0,1]
Thc thi: (W) + (f) (dest). C nh hng: C, DC, Z. Chu k thc hin: 1.
Chc nng: cng ni dung thanh ghi W vi thanh ghi f. Nu d= 0 th lu kt qu vo thanh
ghi W, cn d=1 th lu vo thanh ghi f.

3. Lnh: ANDLW And hng s vi W
C php: ADDLW k
Tc t: 0 k 255
Thc thi: (W) AND (k)(W). C nh hng: Z. Chu k thc hin: 1.
Chc nng: And ni dung thanh ghi W vi hng s k 8 bit, kt qu lu vo thanh ghi W.

4. Lnh: ANDWF And W vi F
Ca. -: :x ea ey :xa: :e Wq% 7-a a.e a.e :x 7,xye C. 7x
88 Ca. 3. "ae te A::eJty :xa e.:
C php: ANDWF f,d
Tc t: 0 f 127, d [0,1]
Thc thi: (W) AND (f) (dest). C nh hng: Z. Chu k thc hin: 1.
Chc nng: And thanh ghi W vi thanh ghi f. Nu d = 0 th kt qu lu vo thanh ghi W, nu
d=1 th kt qu lu vo thanh ghi f.

5. Lnh: BCF xo bit trong thanh ghi F
C php: BCF f,b
Tc t: 0 f 127, 0 b <7
Thc thi: 0 (f<b>). C nh hng: khng. Chu k thc hin: 1.
Chc nng: xa bit b trong thanh ghi f.

6. Lnh: BSF set bit trong thanh ghi F
C php: BSF f,b
Tc t: 0 f 127, 0 b <7
Thc thi: 1 (f<b>). C nh hng: khng. Chu k thc hin: 1.
Chc nng: set bit b trong thanh ghi f ln 1.

7. Lnh: BTFSS kim tra 1 bit trong thanh ghi F v nhy nu bng 1
C php: BTFSS f,b
Tc t: 0 f 127, 0 b <7
Thc thi: nhy nu f<b>=1. C nh hng: khng. Chu k thc hin: 1(2).
Chc nng: kim tra bit b: nu bit b bng 1 th lnh k b b qua v thay bng lnh NOP, nu
bit b bng 0 th thc thi lnh k.

8. Lnh: BTFSC kim tra 1 bit trong thanh ghi F v nhy nu bng 0
C php: BTFSC f,b
Tc t: 0 f 127, 0 b <7
Thc thi: nhy nu f<b>=0. C nh hng: khng. Chu k thc hin: 1(2).
Chc nng: kim tra bit b: nu bit b bng 0 th lnh k b b qua v thay bng lnh NOP, nu
bit b bng 1 th thc thi lnh k.

9. Lnh: CALL gi chng trnh con
C php: CALL k
Tc t: 0 k 2047
Thc thi: (PC + 1) TOS; kPC
C nh hng: khng. Chu k thc hin: 2.
Chc nng: gi chng trnh con. a ch tr v (PC+1) c ct vo ngn xp. Thanh ghi
PC c np a ch ca chng trnh con v chng trnh con c thc hin.

10. Lnh: CLRF xo thanh ghi f
C php: CLRF f
Tc t: 0 f 127
Thc thi: 00h (f); 1 Z. Trng thi nh hng: Z. Chu k thc hin: 1.
Chc nng: xo thanh ghi f v c Z bng 1.

11. Lnh: CLRW xo thanh ghi W
C php: CLRW
Tc t: khng
Thc thi: 00h (W), 1 Z. C nh hng: Z. Chu k thc hin: 1.
Chc nng: xo thanh ghi W v c Z bng 1.

12. Lnh: CLRWDT xo WDT
Ca. -: :x ea ey :xa: :e Wq% 7-a a.e a.e :x 7,xye C. 7x
Ca. 3. "ae te A::eJty :xa e.: 83
C php: CLRWDT
Tc t: khng
Thc thi: 00 WDT; 0 B m chia trc ca WDT; 1 TO; 1 PD
C nh hng: TO, PD . Chu k thc hin: 1.
Chc nng: lnh CLRWDT s xo b nh thi WDT v b m chia trc ca WDT. Cc
bit PD, TO v mc 1.

13. Lnh: COMF b thanh ghi f
C php: COMF f,d
Tc t: 0 f 127, d [0,1]
Thc thi: ( f ) (dest). C nh hng: Z. Chu k thc hin: 1.
Chc nng: b 1 ni dung thanh ghi f. Nu d=0 th kt qu lu vo thanh ghi W. Nu d=1 th
kt qu lu vo thanh ghi f.

14. Lnh: DECF gim ni dung thanh ghi f
C php: DECF f,d
Tc t: 0 f 127, d [0,1]
Thc thi: (f) 1 (dest). C nh hng: Z. Chu k thc hin: 1.
Chc nng: gim ni dung thanh ghi f i 1. Nu d= 0 th kt qu lu vo thanh ghi W. Nu
d= 1 th kt qu lu vo thanh ghi f.

15. Lnh: DECFSZ gim ni dung thanh ghi f v nhy nu bng 0
C php: DECFSZ f,d
Tc t: 0 f 127, d [0,1]
Thc thi: (f) 1 (dest); C nh hng: khng. Chu k thc hin: 1(2).
Chc nng: gim ni dung thanh ghi f i 1. Nu d = 0 th kt qu lu vo thanh ghi W. Nu d
= 1 th kt qu lu vo thanh ghi f. Nu kt qu bng 0 th b qua lnh k v thay bng lnh
NOP.

16. Lnh: GOTO lnh r nhnh khng iu kin
C php: GOTO k
Tc t: 0 k 2047
Thc thi: k PC. C nh hng: khng. Chu k thc hin: 2.
Chc nng: nhy khng iu kin n a ch k. a ch ni nhy n np vo PC v CPU
tip tc thc hin lnh ti ni nhy n.

17. Lnh: INCF lnh tng ni dung thanh ghi f
C php: INCF f,d
Tc t: 0 f 127, d [0,1]
Thc thi: (f) + 1 (dest). C nh hng: Z. Chu k thc hin: 1.
Chc nng: tng ni dung ca thanh ghi f ln 1. Nu d = 0 th kt qu lu vo thanh ghi W.
Nu d = 1 th kt qu lu tr li vo thanh ghi f.

18. Lnh: INCFSZ lnh tng ni dung thanh ghi f v nhy nu bng 0
C php: INCFSZ f,d
Tc t: 0 f 127, d [0,1]
Thc thi: (f) + 1 (dest). C nh hng: khng. Chu k thc hin: 1(2).
Chc nng: tng ni dung ca thanh ghi f ln 1. Nu d= 0 th kt qu lu vo thanh ghi W.
Nu d= 1 th kt qu lu vo thanh ghi f. Nu kt qu l bng 0 th b qua lnh k v c
thay bng lnh NOP.

19. Lnh: IORLW lnh OR hng s vi W
C php: IORLW k
Ca. -: :x ea ey :xa: :e Wq% 7-a a.e a.e :x 7,xye C. 7x
84 Ca. 3. "ae te A::eJty :xa e.:
Tc t: 0 k 255
Thc thi: (W) OR k W. C nh hng: Z. Chu k thc hin: 1.
Chc nng: Or hng s k 8 bit vi W. Nu d= 0 th kt qu c lu vo thanh ghi W. Nu
d= 1 th kt qu lu vo thanh ghi f.

20. Lnh: IORWF lnh OR W vi f
C php: IORWF f,d
Tc t: 0 f 127
Thc thi: (W) OR f (dest). C nh hng: Z. Chu k thc hin: 1.
Chc nng: Or ni dung thanh ghi W vi thanh ghi f. Nu d= 0 th kt qu lu vo thanh ghi
W. Nu d= 1 th kt qu lu vo thanh ghi f.

21. Lnh: MOVLW lnh np d liu vo thanh ghi W
C php: MOVLW k
Tc t: 0 k 255
Thc thi: k W. C nh hng: khng. Chu k thc hin: 1.
Chc nng: np d liu 8 bit k vo thanh ghi W.


22. Lnh: MOVF lnh copy d liu t thanh ghi W sang f
C php: MOVF f,d
Tc t: 0 f 127, d [0,1]
Thc thi: (f) (ni n). C nh hng: Z. Chu k thc hin: 1.
Chc nng: copy ni dung thanh ghi f sang ni n tu thuc vo gi tr ca d. Nu d =
0 th ni n l thanh ghi W. Nu d=1 th ni n chnh l thanh ghi f. Trng hp d=1
rt tin li kim tra thanh ghi file v c Z b nh hng: nu ni dung thanh ghi f bng 0
th c Z bng 1, nu khc 0 th c Z bng 0.


23. Lnh: MOVWF lnh copy d liu
C php: MOVWF f
Tc t: 0 f 127, d [0,1]
Thc thi: (W) f. Trng thi nh hng: khng. Chu k thc hin: 1.
Chc nng: copy ni dung thanh ghi W sang thanh ghi f.


24. Lnh: NOP lnh khng hot ng
C php: NOP
Tc t: khng c
Thc thi: khng lm g c. Trng thi nh hng: khng. Chu k thc hin: 1.
Chc nng: khng lm g c

25. Lnh: RETFIE lnh tr v t chng trnh con phc v ngt.
C php: RETFIE
Tc t: khng c.
Thc thi: TOS PC, 1 GIE. C nh hng: khng. Chu k thc hin: 2.
Chc nng: kt thc chng trnh con phc v ngt, tr li chng trnh chnh. a ch tr
v nh ngn xp tr li cho PC, bit cho php ngt ton cc GIE = 1 cho php ngt.

26. Lnh: RETLW lnh tr v t chng trnh con
C php: RETLW k
Tc t: 0 k 255
Thc thi: k W, TOS PC. Trng thi nh hng: khng. Chu k thc hin: 2.
Ca. -: :x ea ey :xa: :e Wq% 7-a a.e a.e :x 7,xye C. 7x
Ca. 3. "ae te A::eJty :xa e.: 85
Chc nng: kt thc chng trnh con tr li chng trnh chnh, ng thi np hng s k
vo thanh ghi W, a ch tr v trong nh ngn xp tr li cho PC.

27. Lnh: RLF lnh xoay tri qua c C
C php: RLF f,d
Tc t: 0 f 127, d [0,1]
Thc thi:

Trng thi nh hng: C. Chu k thc hin: 1.
Chc nng: xoay ni dung ca thanh ghi f v c C sang tri mt bit. Nu d= 0 th kt qu
c lu vo thanh ghi W. Nu d= 1 th kt qu lu vo thanh ghi f.

28. Lnh: RRF lnh xoay phi qua c C
C php: RRF f,d
Tc t: 0 f 127, d [0,1]
Thc thi:

Trng thi nh hng: C. Chu k thc hin: 1.
Chc nng: xoay ni dung ca thanh ghi f v c C sang phi 1 bit. Nu d= 0 th kt qu c
lu vo thanh ghi W. Nu d= 1 th kt qu lu vo thanh ghi f.

29. Lnh: RETURN lnh kt thc chng trnh con
C php: RETURN
Tc t: khng
Thc thi: TOS PC. Trng thi nh hng: khng. Chu k thc hin: 2.
Chc nng: lnh kt thc chng trnh con tr li chng trnh chnh, a ch tr v trong
nh ngn xp tr li cho PC.

30. Lnh: SLEEP lnh ng
C php: SLEEP
Tc t: khng
Thc thi: 00h WDT; 0 b m chia trc ca WDT; 1 TO; 0 PD
C nh hng: TO, PD. Chu k thc hin: 1.
Chc nng: PD = 0 cho bit CPU ang ch ng, b dao ng ngng hot ng. Bit TO
=1. B nh thi WDT v b chia trc b xa.

31. Lnh: SUBLW lnh tr hng s cho thanh ghi W
C php: SUBLW k
Tc t: 0 k 255
Thc thi: k (W) (W). C nh hng: C, DC, Z. Chu k thc hin: 1.
Chc nng: hng s k 8 bit tr cho ni dung thanh ghi W v kt qu lu vo thanh ghi W.

32. Lnh: SUBWF lnh tr thanh ghi f cho thanh ghi W
C php: SUBLW f,d
Tc t: 0 f 127, d [0,1]
Thc thi: (f) (W) (dest). C nh hng: C, DC, Z. Chu k thc hin: 1.
Chc nng: ni dung thanh ghi f tr cho ni dung thanh ghi W. Nu d= 0 th kt qu lu vo
thanh ghi W. Nu d= 1 th kt qu lu vo thanh ghi f.

33. Lnh: SWAPF lnh hon chuyn 4 bit ca thanh ghi f
Ca. -: :x ea ey :xa: :e Wq% 7-a a.e a.e :x 7,xye C. 7x
86 Ca. 3. "ae te A::eJty :xa e.:
C php: SWAPF f,d
Tc t: 0 f 127, d [0,1]
Thc thi: (f<3:0>) (dest<7:4>); (f<7:4>) (dest<3:0>)
C nh hng: khng. Chu k thc hin: 1.
Chc nng: 4 bit cao v 4 bit thp ca thanh ghi f c i vi nhau. Nu d= 0 th kt qu lu
vo thanh ghi W. Nu d= 1 th kt qu lu vo thanh ghi f.

34. Lnh: XORLW lnh XOR hng s vi W
C php: XORLW k
Tc t: 0 k 255
Thc thi: (W) XOR k (W)
C nh hng: Z. Chu k thc hin: 1.
Chc nng: XOR ni dung thanh ghi W vi hng s k 8 bit, kt qu lu vo thanh ghi W.

35. Lnh: XORWF lnh XOR W vi f
C php: XORLW f,d
Tc t: 0 f 127, d [0,1]
Thc thi: (W) XOR (f) (dest). C nh hng: Z
Chc nng: XOR ni dung thanh ghi W vi ni dung thanh ghi f. Nu d= 0 th kt qu c
lu vo thanh ghi W. Nu d= 1 th kt qu lu vo thanh ghi f.

III. TI LIU THAM KHO

You might also like