Professional Documents
Culture Documents
I. NHM LNH DI CHUYN D LiU: 1. Lnh di chuyn d liu trc tip: - C php: MOV <CH>, <NGUN> Trong : . <CH>: c th l thanh ghi, a ch nh trong vng RAM ni . <NGUN>: c th l thanh ghi, a ch nh trong vng RAM ni hoc #<gi tr>
MOV
MOV MOV MOV
B, #24
120,#10110010B R3, A P3,#3EH
2. Nhm lnh di chuyn d liu gin tip: a. Lin quan n vng nh RAM ni: + Lnh c b nh: - C php: MOV <CH>, @Rp Trong : . <CH>: thanh ghi, nh . Rp: l thanh ghi R0 hoc R1 - Thc hin: ly ni dung nh trong vng RAM ni c a ch l ni dung thanh ghi Rp t vo <CH> - V d: MOV MOV MOV 120,#47 R1,#120 A,@R1
; sau khi thc hin xong on lnh ni dung thanh ghi A cha gi tr 47
+ Lnh ghi b nh: - C php: MOV @Rp, <NGUN> Trong : . <NGUN>: thanh ghi, nh hoc #<gi tr> . Rp: l thanh ghi R0 hoc R1 - Thc hin: t ni dung <NGUN> vo nh trong vng RAM ni c a ch l ni dung thanh ghi Rp. - V d 1: MOV MOV R0,#100 @R0, #0E3H
; sau khi thc hin xong on lnh ni dung nh 100 cha gi tr E3H - V d 2: MOV MOV MOV A, #49 R1,#127 @R1, A ; (127) = 49
b. Lin quan n vng nh d liu ngoi: + Lnh c b nh: - C php: MOVX A, @DPTR - Thc hin: ly ni dung nh trong vng d liu ngoi c a ch l ni dung thanh ghi DPTR t vo thanh ghi A
- V d:
MOV DPTR,#1000 MOVX A, @DPTR ; A (1000) + Lnh c b nh: - C php: MOVX @DPTR, A - Thc hin: ly ni dung A t vo nh trong vng d liu ngoi c a ch l ni dung thanh ghi DPTR. - V d: MOV DPTR,#1000
MOV
A, #4EH
MOVX @DPTR, A ; ghi gi tr 4EH vo nh ngoi c a ch 1000 c. Lnh lin quan n vng nh chng trnh (c m lnh): - C php: MOVC A,@A+DPTR - Thc hin: ly ni dung nh trong vng nh chng trnh c a ch l ni dung thanh ghi A + DPTR t vo thanh ghi A. - V d 1: MOV MOV MOVC - V d 2: MOV MOV MOVC TABLE: A, #4 DPTR,#TABLE A, @A+DPTR DB 12H, 4EH, 0C7H, 084H, 055H, A,#2 DPTR,#500 A,@A+DPTR ; A (502)
3. Nhm lnh lin quan n ngn xp: + Ghi vo ngn xp: - C php: PUSH Thanh ghi/ a ch - Thc hin: ct ni dung thanh ghi hoc nh vo nh ngn xp + c ngn xp: - C php: POP Thanh ghi/ a ch - Thc hin: ly ni dung nh ngn xp gn vo thanh ghi, nh + v d: MOV A,#100
MOV
PUSH PUSH
100,#3EH
ACC 100
MOV
MOV POP POP
A, #21H
100, #40 100 ACC
4. Lnh trao i d liu: - C php: XCH A, <NGUN> Trong : <NGUN> c th l thanh ghi, nh hoc @Rp - Thc hin: trao i ni dung thanh ghi A v <NGUN>
b. Cng c nh:
- C php: ADDC A, <NGUN> Trong : <NGUN> c th l thanh ghi, nh, #<gi tr> hoc @Rp - Thc hin: A A + <NGUN> + C
2. Lnh tr: - C php: SUBB A, <NGUN> Trong : <NGUN> c th l thanh ghi, nh, #<gi tr> hoc @Rp - Thc hin: A A - <NGUN> - C (carry bit) 3. Lnh nhn: - C php:
MUL
AB
- Thc hin: A * B = BA (B: byte cao cua kt qua; A: byte thp cua kt qua) 4. Lnh chia: - C php:
DIV
AB
- Thc hin: A : B = A d B (A: cha phn nguyn; B: cha phn d) 5. Lnh tng mt n v:
- Cu php:
INC
<CH>
6. Lnh giam mt n v: - Cu php: DEC <CH> Trong : <CH> c th l thanh ghi, nh - Thc hin: <CH> = <CH> - 1
CJNE
Trong <TOAN HANG> c th l thanh ghi, nh hoc #<gi tr> - Thc hin: So snh A v <TOAN HANG>, nu: + A <TOAN HANG>: nhay n <NHAN> v nu: . A > <TOAN HANG>: bit C = 0 . A < <TOAN HANG>: bit C = 1 + A = <TOAN HANG>: thc hin lnh k tip - Mt dng khc cua lnh: CJNE Ri/@Rp, #<GIA TRI>, <NHAN>
b. Lnh giam ni dung Ri mt n vi va nhay nu bng zero (decrement Ri by 1 and jump if not zero):
- Cu php:
e. Lnh nhay thng qua vic kim tra c ZERO: - Cu php: JZ/ JNZ <NHAN> - Thc hin: nhay n v tr chng trnh c ch nh bi <NHAN> nu Z bng 1 hoc bng 0
A, <NGUN>
A, <NGUN> A, <NGUN>
4. CLR
5. CPL 6. NOP
A
A
7. SWAP
- Cu php:
- Thc hin:
RL
c. Lnh quay trai thanh ghi A vi c C: - Cu php: - Thc hin: C Bit 7 --<----------------- bit 0 RLC A
d. Lnh quay phai thanh ghi A vi c C: - Cu php: - Thc hin: C Bit 7 -->----------------- bit 0 RRC A
Vi ic vi iu khin AT89C51, chung ta c 254 cu lnh, cc cu lnh ny chia ra lm 5 nhm: (1) Nhm cc cu lnh lin quan n s hc. Nh lnh cng (add). lLnh tr (sub). Lnh tng (inc) theo bc 1, Lnh giam (dec) theo bc 1. Php nhn (mul). Php chia (div). Lnh thp phn ha (da). (2) Nhm cc cu lnh lin quan n vic chuyn di bit. Nh lnh nhp 8 bit (mov). Lnh ly 8 bit t bang (movc). Lnh ly 8 bit t b nh ngoi (movx). Lnh ct 8 bit vo ngn xp (push). Lnh ly 8 bit ra khoi ngn xp (pop). Lnh hon chuyn 8 bit (xch), (xchd). (3) Nhm cc cu lnh lin quan n php logic. Nh lnh ly php logic And (anl). Ly php logic Or (orl). Lnh ly php logic Ex-Or (xrl). Lnh ly b (cpl). Lnh cho quay bit qua tri (rl), quay tri c dng c C (rlc). Lnh cho bit quay qua phai (rr), quay phai c dng c C (rrc). Lnh ao 4 bit cao thp trong thanh ghi (swap). (4) Nhm cc cu lnh lin quan n bin cua php ton Bool. Nh lnh t bit 0 (clr). Lnh t bit 1 (setb). Lnh ly bit b (cpl). Lnh ly logic And cho bit (anl). Lnh ly logic Or cho bit (orl). Lnh chuyn bit vo ra c C (mov). Lnh nhy c iu kin theo bit (jc), (jnc), (jb), (jnb), (jbc) (5) Nhm cc cu lnh lin quan n chc nng nhy. Nh lnh gi chng trnh con (call)., (lcall) Lnh quay li (ret), (reti). Lnh nhy (ajmp), sjmp, jmp. Cc lnh nhy c iu kin (jz), (jnz). Lnh nhy sau khi qua php so snh (cjne). Lnh trng (nop).