T p l nh trong Vi đi u khi n đ c chia làm 5 nhóm: ượ
Nhóm l nh di chuy n d li u
Nhóm l nh s h c
Nhóm l nh logic
Nhóm l nh r nhánh
Nhóm l nh x lí bit
Tr c khi xem ph n d i, các b n c n xem l i bài tr c n m rõ ph nướ ướ ướ
c ng, đ c bi t là vùng nh Ram c a vi đi u khi n. Chú ý các thu t ng
sau:
Các byte RAM 8 bit c a vi đi u khi n đ c g i là " ượ ô nh", n uế
các ô nh có ch c năng đ c bi t th ng đ c g i là " ườ ượ thanh ghi",
n u là bit thì đ c g i là "ế ượ bit nh".
d li u c a m t ô nh là tr ng thái (0 ho c 1) c n thi t l p cho ế
các bit c a ô nh (8 bit)
2.2. NHÓM L NH DI CHUY N
2.2.1. L nh chuy n d li u t m t thanh ghi Rn vào thanh ghi A:
Cú pháp: Mov A,Rn
L nh này chi m dung l ng b nh ROM là 2 Byte ế ượ
Th i gian th c hi n: 1 chu kì máy
Công d ng: Chuy n d li u c a thanh ghi Rn vào thanh ghi A, d
li u trên thanh ghi Rn không đ i
Ví d : Gi s thanh ghi R5 mang d li u v i giá tr là 0A5H
(10100101B)
L nh Mov A,R5
Sau khi l nh đ c th c hi n A mang d li u giá tr A5H, Rn ượ
không đ i
giá tr thanh ghi A tr c khi th c hi n l nh không c n quan tâm ướ
2.2.2. L nh chuy n d li u t ô nh có đ a ch direct vào thanh
ghi A:
- 1 -
Cú pháp: Mov A,direct
L nh này chi m dung l ng b nh ROM là 2 Byte ế ượ
Th i gian th c hi n: 1 chu kì máy
Công d ng: chuy n d li u c a ô nh có đ a ch b ng direct vào
thanh ghi A.
Ví d : Gi s thanh ghi có đ a ch 33H mang d li u v i giá tr
09H (00001001B)
L nh Mov A,33H
Sau khi l nh đ c th c hi n A mang d li u giá tr 09H ượ
2.2.3. L nh chuy n d li u t ô nh có đ a ch gián ti p vào ế
thanh ghi A:
Cú pháp: Mov A,@Ri
L nh này chi m dung l ng b nh ROM là 1 Byte ế ượ
Th i gian th c hi n: 1 chu kì máy
Công d ng: chuy n d li u c a ô nh 'có đ a ch b ng giá tr c a
thanh ghi Ri' vào thanh ghi A.
Ví d : Gi s tr c khi th c hi n l nh ô nh có đ a ch 33H mang ướ
d li u v i giá tr là 09H (00001001B) và thanh ghi R1 đ c thi t ượ ế
l p giá tr là 33H
L nh Mov A,@R1
Khi l nh đ c th c hi n A nh n d li u t ô nh có v trí b ng ượ
giá tr đ c thi t l p trong thanh ghi R1, t c là A nh n d li u t ượ ế
ô nh có đ a ch 33H, chú ý: tr c đó ô nh 33H mang d li u là ướ
09H.
Sau khi l nh đ c th c hi n A mang giá tr là 09H (00001001B) ượ
2.2.4. L nh đ a d li u vào thanh ghi A ư
Cú pháp: Mov A,#data
L nh này chi m dung l ng b nh ROM là 2 Byte ế ượ
Th i gian th c hi n: 1 chu kì máy
Công d ng: thi t l p d li u cho thanh ghi A ế
- 2 -
Ví d : Mu n thanh ghi A mang d li u có giá tr là 56H ta th c
hi n l nh
Mov A,#56H
Sau khi l nh đ c th c hi n A mang giá tr là 56H ượ
2.2.5. L nh chuy n d li u t A vào thanh ghi Rn
Cú pháp: Mov Rn,A
L nh này chi m dung l ng b nh ROM là 1 Byte ế ượ
Th i gian th c hi n: 1 chu kì máy
Công d ng: chuy n d li u t thanh ghi A vào thanh ghi Rn (n=0-
7)
Ví d :
Mov A,#56H
Mov R1,A
Sau khi các l nh đ c th c hi n R1 mang giá tr là 56H ượ
2.2.6. L nh chuy n d li u t m t ô nh có đ a ch direct vào
thanh ghi Rn
Cú pháp: Mov Rn,direct
L nh này chi m dung l ng b nh ROM là 2 Byte ế ượ
Th i gian th c hi n: 1 chu kì máy
Công d ng: chuy n d li u c a ô nh có đ a ch direct vào thanh
ghi Rn (n=0-7)
Ví d : gi s ô nh 55H mang d li u có giá tr là A3H
Mov R4,55H
Sau khi các l nh đ c th c hi n R4 mang giá tr là A3H ượ
2.2.7. Thi t đ t d li u cho thanh ghi Rnế
Cú pháp: Mov Rn,#data
L nh này chi m dung l ng b nh ROM là 2 Byte ế ượ
Th i gian th c hi n: 1 chu kì máy
Công d ng: thi t đ t d li u cho thanh ghi Rn ế
- 3 -
Ví d : Mu n thanh ghi Rn mang d li u có giá tr là 37H ta th c
hi n l nh
Mov A,#37H
Sau khi l nh đ c th c hi n A mang giá tr là 37H ượ
2.2.8. L nh chuy n d li u t thanh ghi A vào m t ô nh có đ a
ch direct
Cú pháp: Mov direct,A
L nh này chi m dung l ng b nh ROM là 2 Byte ế ượ
Th i gian th c hi n: 1 chu kì máy
Công d ng: chuy n d li u t thanh ghi A vào m t ô nh có đ a
ch direct.
Ví d :
Mov A,#77H
Mov 69H,A
Sau khi các l nh đ c th c hi n ô nh 69H mang giá tr là 77H ượ
(giá tr c a các bit đ c thi t l p trong ô nh 69H là 01110111B ) ượ ế
2.2.9. L nh chuy n d li u t thanh ghi Rn vào m t ô nh có đ a
ch direct
Cú pháp: Mov direct,Rn
L nh này chi m dung l ng b nh ROM là 2 Byte ế ượ
Th i gian th c hi n: 1 chu kì máy
Công d ng: chuy n d li u t thanh ghi A vào m t ô nh có đ a
ch direct
Ví d :
Mov Rn,#78H
Mov 7AH,Rn
Sau khi các l nh đ c th c hi n ô nh 7AH mang giá tr là 78H ượ
2.2.10. L nh chuy n d li u t m t ô nh có đ a ch direct này
vào m t ô nh có đ a ch direct khác
Cú pháp: Mov direct,direct
- 4 -
L nh này chi m dung l ng b nh ROM là 3 Byte ế ượ
Th i gian th c hi n: 1 chu kì máy
Công d ng: chuy n d li u t ô nh có đ a ch direct này vào
m t ô nh có đ a ch direct khác
Ví d :gi s thanh ghi 20H mang d li u có giá tr là FFH
Mov 22H,20H
Sau khi l nh đ c th c hi n thanh ghi 22H mang giá tr là FFH ượ
2.2.11. L nh đ a d li u vào ô nh có đ a ch direct ư
Cú pháp: Mov direct,#data
L nh này chi m dung l ng b nh ROM là 3 Byte ế ượ
Th i gian th c hi n: 2 chu kì máy
Công d ng: thi t l p d li u cho ô nh có đ a ch direct ế
Ví d :
Mov 52H,#43H
Sau khi các l nh đ c th c hi n ô nh 52H mang giá tr là 43H ượ
2.2.12. L nh chuy n d li u t m t ô nh có đ a ch gián ti p vào ế
ô nh có đ a ch direct
Cú pháp: Mov direct,@Ri
L nh này chi m dung l ng b nh ROM là 2 Byte ế ượ
Th i gian th c hi n: 2 chu kì máy
Công d ng: Chuy n d li u c a ô nh có đ a ch b ng giá tr c a
thanh ghi Ri vào ô nh có đ a ch direct
Ví d :
Mov 30H,#46H
Mov R0,#30H
Mov 23H, @R0
Sau khi các l nh đ c th c hi n ô nh 23H mang giá tr là 46H ượ
2.2.13. L nh chuy n d li u t thanh ghi A vào ô nh có đ a ch
gián ti pế
Cú pháp: Mov @Ri,A
- 5 -