5/27/2018 04 Lap Trinh Voi Assembly
1/671Pham Quoc Thinh, ictu.edu.vn.
Lp trnh vi Assembly cho 8051
ICTU 2010
Chng 3 Vi iu khin 8051v lp trnh hp ng
5/27/2018 04 Lap Trinh Voi Assembly
2/672
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
Cc lnh ton shc
Cc lnh logic
Cc lnh quay
Cc lnh so snh
Cc cha ch8051
Ni dung bi ging
5/27/2018 04 Lap Trinh Voi Assembly
3/673
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
ADD v ADDC
SUBB
MUL
DIV
INC
DECDA
Cc lnh s hc
C 24 opcode s hc c phn thnh cc loi sau y:
5/27/2018 04 Lap Trinh Voi Assembly
4/674
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
Flag: N l 1 bit thanh ghi, cho bit tnhtrng ca kt qutmt hot ng
Cc th1 trong hai trng thi vigi tr0hoc 1
Cc cshc cho bit trng thi cakt quca cc hot ng ton hc ( +,
, *, / )
Cc c s hc
5/27/2018 04 Lap Trinh Voi Assembly
5/675
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
C 4 cshc trong 8051Cnh(C)Cnhph(AC)Ctrn(OV)
Cchn l(P)
Tt ccc ctrn y c lu trtrong ttrng thi chng trnh (PSW)
Cc c s hc (Cc c c iu kin)
CY AC -- RS1 RS0 0V -- PPSW.7 PSW.6 PSW.5 PSW.4 PSW.3 PSW.2 PSW.1 PSW.0
5/27/2018 04 Lap Trinh Voi Assembly
6/676
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
CC theo di cc hot ng khng duCOV theo di cc hot ng c du
Cc c s hc (Cc c c iu kin)
CY PSW.7 C nh AC PSW.6 C nh ph -- PSW.5 Cho ngi s dng RS1 PSW.4 Bit 1 la chn bank thanh ghi RS0 PSW.3 Bit 0 la chn bank thanh ghi 0V PSW.2 C trn -- PSW.1 C ngi s dng nh ngha P PSW.0 C chn l
5/27/2018 04 Lap Trinh Voi Assembly
7/677
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
Cc lnh nh hng ti c (1/2)
Lnh Mnemonic Cc cnh hngADD C AC OV
ADDC C AC OV
SUBB C AC OV
MUL C = 0 OV
DIV C = 0 OV
DA A CSETB C C = 1
MOV C, bit C
5/27/2018 04 Lap Trinh Voi Assembly
8/678
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
Cc lnh nh hng ti c (2/2)
Lnh Mnemonic Cc cnh hngORL C, bit C
ANL C, bit C
RLC C
RRC C
CLR C C = 0
CPL C C = /C
CJNE C
5/27/2018 04 Lap Trinh Voi Assembly
9/679
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
ADD A, source ; A = A + source
ADDC A, source ; A = A + source + C
Thanh ghi Aphi tham gia trong cc php cng
CCc t ln 1 nu c mt bit nhbit 7
CACc t ln 1 nu c mt bit nhbit 3
Cc lnh ADD v ADDC
5/27/2018 04 Lap Trinh Voi Assembly
10/6710
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
F5h 1111 0101
+ 0Bh + 0000 1011
100h 0000 0000
Sau ghi cng, thanh ghi A (ch) cha 00 v cc cnh
sau:CY = 1 c nhtD7
P = 0 v scc bit 1 l 0
AC = 1 v c c nhtD3 sang D4
V d 1
Chra cbnh hng bi cc lnh sau.MOV A, #0F5h ; A = F5hADD A, #0Bh ; A = F5 + 0B = 00
5/27/2018 04 Lap Trinh Voi Assembly
11/6711
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
V d 2Gisvtr RAM trong khong 40h42h c gi trcho trc.
Vit mt chng trnh tm tng ca cc gi tr vtr trongRAM . cui chng trnh, A cha byte thp v R7 chabyte cao
Vtr RAM: 40h = (7Dh), 41h = (EBh), 42h = (C5h)
Gii php:MOV A, 40h ; A = gi trRAM nh40h trong RAMMOV R7, #0 ; R7 = 0ADD A, 41h ; Cng A vi nh41h trong RAMJNC NEXT ;nu CY = 0, A khng btrnINC R7 ; Tng R7 nu CY=1
NEXT: ADD A, 42h ; Cng A vi nh42h trong RAMJNC NEXT1 ; nu CY = 0, A khng btrnINC R7 ; Tng R7 nu CY=1
NEXT1:END
5/27/2018 04 Lap Trinh Voi Assembly
12/67
12
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
V d 3
Vit mt on chng trnh cng hai s16-bit. Hai sl 3CE7h v 3B8Dh. t kt qutrong R7 v R6; R6 chabyte thp.
CLR C ; xo C=0
MOV A, #0E7h ; A=E7h
ADD A, #8Dh ; cng vi byte thp A=74h v C=1
MOV R6, A ; R6 = A(byte thp)
MOV A, #3Ch ; da byte cao vo A
ADDC A, #3Bh ; cng byte cao v cCY
; 3B + 3C + 1 = 78 (hex)
MOV R7, A ; Ghi byte cao vo R7
5/27/2018 04 Lap Trinh Voi Assembly
13/67
13
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
DA A Hnh ng Hiu chnh thp phn thanh ghi A Sdng sau khi cng hai sBCD
Lnh DA
V d4:MOV A, #47h ; A=47h ton hng BCD thnht
MOV B, #25h ; B=25h ton hng BCD th
hai
ADD A, B ; kt qu(A=6Ch)
DA A ; hiu chnh (A=72h)
ADDC ..DA A
ADD ..DA A
5/27/2018 04 Lap Trinh Voi Assembly
14/67
14
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
V d 4 ca lnh DA
Hex BCD
47 0100 0111
+ 25 + 0010 01016C 0110 1100
+ 6 + 0110
72 0111 0010
5/27/2018 04 Lap Trinh Voi Assembly
15/67
15
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
SUBB A, ngun
Khng mn: A = A ngunVi mn:A = A ngun c
Sau khi thc thi:CCset lnh 1 nu mn thm vo bit 7
CACset lnh 1 nu mn thm vo bit 3
Lnh SUBB SUBB A, #dataSUBB A, directSUBB A, @Ri , vi i =0 hoc 1SUBB A, Rn, vi n =0,1,,7
5/27/2018 04 Lap Trinh Voi Assembly
16/67
16
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
MUL AB
Sdng thanh ghi A v B nhcc thanh ghi ch
v ngunNhn 2 strong A v B, sau phn byte cao dttrong B v phn byte thp t trong A
Ctrn OVt ln 1 nu kt qu>FFhCh cC = 0
Lnh MUL
5/27/2018 04 Lap Trinh Voi Assembly
17/67
17
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
DIV AB
Sdng thanh ghi A v B nhcc thanh ghi chv ngun
Strong A chia cho strong B. Kt qut trongA, phn dt trong B
Ctrn OVt ln 1 nu Strong Bl 00h (li
chia cho 0)
CC lun bng 0
Lnh DIV
5/27/2018 04 Lap Trinh Voi Assembly
18/67
18
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
tng (INC) hoc gim (DEC) vtr bnhcchnh bi cc ton hngKhng thay i cc cshc
V d: INC 7Fh ; Ni dung 7Fh tng 1DEC R1 ; Ni dung trong R1 gim 1
Cc lnh INC v DEC
INC A
INC direct
INC @Ri Vi i=0 hay 1
INC Rn Vi n=0,,7
5/27/2018 04 Lap Trinh Voi Assembly
19/67
19
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
Cc hot ng logic
Cc hot ng quay v trao i
Cc hot ng so snh
Hot ng logic trong 8051
5/27/2018 04 Lap Trinh Voi Assembly
20/67
20
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
ANDOR
XOR
NOT
Cc chc nng logic chung
C sn cc lnh cho 8051 thc hin ccchc nng logic
5/27/2018 04 Lap Trinh Voi Assembly
21/67
21
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
ANL ch, ngunch = ch ANDngun
ORL ch, ngun
ch = ch ORngun
XRL ch, ngun
ch = ch XORngun
Thng thng, ch l thanh ghi A hay mta chtrc tip trong RAM ni
Cc lnh logicANL direct, A
ANL direct, #data
ANL A, #data
ANL A, direct
ANL A,@Ri vi i=0 hay 1ANL A, Rn vi n=0,,7
5/27/2018 04 Lap Trinh Voi Assembly
22/67
22
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
Cc ton hng ngun c thmt trong 4 cha ch(tc thi/thanh ghi/ trc tip/gin tip)
ANLc thc sdng xo (0) cc bit nht nh
ORLc thc sdng set (1) cc bit nht nh
Cc lnh logic
Instruction ANL A,R0 ORL A,R0 XRL A,R0
A before: 10010111 10010111 10010111
R0 before: 11110010 11110010 11110010
A afterwards: 10010010 11110111 01100101
V d
5/27/2018 04 Lap Trinh Voi Assembly
23/67
23
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
CLR A
Tt ccc bt trong thanh ghi Ac xo
CPL ATt ccc bt trong thanh ghi Abo
Ch cc lnh CLRv CPLchhot ng trn
thanh ghi A
Cc lnh CLR v CPL
5/27/2018 04 Lap Trinh Voi Assembly
24/67
24
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
Thanh ghi A quay mt mt bit tri hoc phi (ch
hot ng vi A)
C thbao gm cnhtrong hot ng
quay
Cc lnh quay RL ARR A
RLC A
RRC A
5/27/2018 04 Lap Trinh Voi Assembly
25/67
25
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
RL AQuay A mt bit sang tri
RLC A
Quay A v cnhmt bit sang tri
RR A
Quay A mt bit sang phi
RRC A
Quay A v cnhmt bit sang phi
Cc lnh quay
5/27/2018 04 Lap Trinh Voi Assembly
26/67
26
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
01234567
RL A
01234567C
RLC ACarry Flag
01234567
RR A
Before: 10011100 After: 00111001
C01234567
Carry FlagRRC A
Before: 10011100 CY = 0 After: 00111000 CY = 1
Before: 10011100 After: 01001110
Before: 10011100 CY = 1 After: 11001110 CY = 0
Cc lnh quay
5/27/2018 04 Lap Trinh Voi Assembly
27/67
27
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
Lnh hon i 4 bit phn thp v 4 bit phn caoca thanh ghi A.
017 6 5 4 3 2
High Nibble Low Nibble
SWAP A
Lnh trao i SWAP
Thanh ghi A = 5Eh (gi tr ban u) sau khi SWAP thanh ghi A =E5h
5/27/2018 04 Lap Trinh Voi Assembly
28/67
28
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
CJNE ch, ngun, a chtng i
u tin so snh ton h
ng ngu
n v ch
Nhy ti a chtng i (chng trnh con)nu chng khng bng
Cc lnh so snh
C nh = 1, nu ch nh hn ngun,Nu khng, CY = 0.
5/27/2018 04 Lap Trinh Voi Assembly
29/67
29
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
Hot ng so snhCJNE A, #data, relative
CJNE A, direct, relativeCJNE @Ri, #data, relative vi i=0 hay 1
CJNE Rn, #data, relative Vi i=0,,7
; v d !!
CJNE R7, #60H, NOT_EQ; hin ti R7 = 60H..
NOT_EQ:
JC REG_LOW
; hin ti C = 0, R7 > 60H..
REG_LOW:
; hin ti C = 1. R7 < 60H
5/27/2018 04 Lap Trinh Voi Assembly
30/67
30
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
V d 5
Vit mt on chng trnh gim st cng P1 cho tikhi P1=63h.
Gii php:
MOV P1, #0FFh ; P1 l cng vo
HERE: MOV A, P1 ; c P1
CJNE A, #63h, HERE ; gim st cho ti khi; P1=63h
5/27/2018 04 Lap Trinh Voi Assembly
31/67
31
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
Cha ch: Mt phng php
Chra ni ton hng(ngun v ch)
Cc ton hng c thc truy cp nhthno
Cc kiu nh a ch
5/27/2018 04 Lap Trinh Voi Assembly
32/67
32
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
a chtc thi (v d: MOV A, #55H)
a chthanh ghi (v d: MOV A,R0)
a chtrc tip (v d: MOV A,30H)
a chgin tip thanh ghi (v d: MOV A, @R0)
a chchs(v d: MOVC A, @A+PC)
a chtuyt i (v d: ACALL address11)
a chdi (v d: LCALLaddr16 )
a chtng i (v d: SJMPrelative)
Cc ch a ch
5/27/2018 04 Lap Trinh Voi Assembly
33/67
33
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
Ton hng ngun l mt hng s/k tdliu tcthi
Nu ton hng l mt s, chng tphi thm du #trc n
V d: ADD A, #56h ; cng 56(16)vi strong thanhghi A
V d: MOV R6, #81 ; np 81(10)vo R6
a ch tc thi
5/27/2018 04 Lap Trinh Voi Assembly
34/67
34
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
Lnh Hot ng
MOV A, #0AFh Chuyn gi trAFh vo thanh ghi A
ANL 15h, #88h AND (bit vi bit) a ch15h vi gi tr88h
MOV DPTR, #0ABCDh Chuyn ABCDhv thanh ghi DPTR
MOV R3, #1Ch Chuyn 1Chvo R3
MOV R2, #A Chuyn k tASCII A (41h)v thanh ghi R2
V d ca a ch tc thi
5/27/2018 04 Lap Trinh Voi Assembly
35/67
35
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
Thm #trc bt k gi trtc thi
Chc ton hng ngun c thl tc thi
Thm h sau sh16, bsau sh2;
Sdng bao cc k t
Cc sh16 bt u vi A-F th thm 0 ngtrc
Ch ca a ch tc thi
MOV A,#ABh
5/27/2018 04 Lap Trinh Voi Assembly
36/67
36
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
Ngun/ch u c nh vtrong Cc thanh ghiCPU (tc l R0 R7; A; DPTR)
V d: MOV A, R5 ; Sao chp gi trtrong R5 v A
V d: MOV R3, A ; Sao chp gi trtrong A v R3V d: ADD A, R2 ; Thm R2 vo A
V d: MOV R7, DPL
MOV R6, DPH
a ch thanh ghi
5/27/2018 04 Lap Trinh Voi Assembly
37/67
37
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
Vic gii quyt chhiu qunht:
Khng cn truy xut bnh
Cc lnh thc thi nhanh hn nhiu
Kt qu: tc (v thhiu qu) tng
C thchuyn dliu giaAccv Rn(n = 0 n 7)nhng khng thchuyn dliu gia cc thanh ghiRn
V d: MOV R4, R7 (Khng hp l)
Ch ca a ch thanh ghi
5/27/2018 04 Lap Trinh Voi Assembly
38/67
38
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
Cc cu hi n tp
1. Ngi lp trnh c thto ra mt cha chmi?
2. Chra lnh chuyn gi tr1000 0000 (binary) vo R3.
3. Ti sao lnh sau y khng hp l? MOV R2, DPTR
4. ng hay sai. DPTR l mt thanh ghi 16 bit cng c thtruy xut vo nh ng byte thp byte cao.
5. PC (Bm chng trnh) cng c nh dng byte thpbyte cao?
5/27/2018 04 Lap Trinh Voi Assembly
39/67
39
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
Ngun/ch u l trng a ch8-bit trong lnh
Sdng chny truy cp 128 byte RAMvcc thanh ghi SFR
Vtr ca ton hng l cnh khng ththay i khi chng trnh chy nhng ni dung cththay i c
Khng linh hot
a ch
cc thnh ph
n trong m
tbng dliu
a ch trc tip
5/27/2018 04 Lap Trinh Voi Assembly
40/67
40
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
Lnh Hot ngMOV 80h, A hayMOV P0, A
Sao chp ni dung thanh ghi A vo a ch80h
MOV A, 80h hay
MOV A, P0
Sao chp ni dung ti a ch80h (P0) vothanh ghi A
ABC EQU 80h
MOV A, ABC
Sao ni dung ta chtrc tip vi nhn ABCvo thanh ghi A, c Port 0 vo A
MOV R0, 12h Sao chp ni dung ta ch12h trong RAMvo R0
MOV 0A8h, 77hhay
MOV IE, 77h
V d a ch trc tip
MOV direct,direct
D f El i & T l i i
5/27/2018 04 Lap Trinh Voi Assembly
41/67
41
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
Vi d a ch trc tip
MOV R2, #5 ; R2 = 05
MOV A, 2 ; Sao vtr 02 (R2) ti A
MOV B, 2 ; Sao vtr 02 (R2) ti B
MOV 7, 2 ; Sao vtr 02 ti 07 (R2 ti R7)
MOV direct,direct
D t t f El t i & T l i ti
5/27/2018 04 Lap Trinh Voi Assembly
42/67
42
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
V d 6
Gii php :
PUSH 05 ; t R5 vo ngn xp
PUSH 06 ; t R6 vo ngn xpPUSH 0E0h ; t ni dung A vo ngn xp
POP 0F0h ; Ly nh stack vo B
; now register B = register A
POP 02 ; Ly nh stack vo R2; now R2 = R6
POP 03 ; Ly nh stack vo R3
; now R3 = R5
Ch ra m t R5, R6 v A vo stack v sau ly chng vo
R2, R3 v B thanh ghi B = thanh ghi A, R2 = R6 v R3 = R5.
D t t f El t i & T l i ti
5/27/2018 04 Lap Trinh Voi Assembly
43/67
43
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
Ngn xp v ch a ch trc tip
ChCha chtrc tip c cho phpt vo stack
PUSH A (Khng hp l)
PUSH 0E0h (Hp l
PUSH R3 (Khng hp l)
PUSH 03 (hp l)
POP R4 (khng hp l)
POP 04 (hp l)
PUSH direct
POP direct
Department of Electronics & Telecommunications
5/27/2018 04 Lap Trinh Voi Assembly
44/67
44
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
Gi tra chbgii hn 1 byte 00FFh (128-byteRAM v SFR)
Sdng MOV di chuyn dliu tchnh nvo chnh n c thdn n kt qukhng thon trc li
Ch ca a ch trc tip
MOV A, A
Department of Electronics & Telecommunications
5/27/2018 04 Lap Trinh Voi Assembly
45/67
45
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
Sdng mt thanh ghi gia chca ton hng; tcl sdng thanh ghi nhmt con tr
Ch R0 v R1c thc sdng khi dliu trong CPU
(Khong
a ch
t
00h7Fh) v d
. MOV A,@R1
R0 ,R1v DPTR c thc sdng khi a chtvtrbnhngoi V d. MOVX A,@R1 MOVX A,@DPTR
Phi t du @trc tn thanh ghi
a ch gin tip thanh ghi
Department of Electronics & Telecommunications
5/27/2018 04 Lap Trinh Voi Assembly
46/67
46
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
Sau
B nh
chng trnh
Trc
a ch
ACC
R0ADD A, @R0200
201
B nh dliu
1231
32
30
10
31
ACC
R0
31
22
a ch gin tip thanh ghi (ADD A,@R0)
Department of Electronics & Telecommunications
5/27/2018 04 Lap Trinh Voi Assembly
47/67
47
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
Lnh Hot ngMOV @R1, A Sao chp ni dung ca A ti a chc tr
bi R1
MOV A, @R0 Sao chp ni dung ca a chc trbi R0vo A
MOV @R1, #35h Chuyn gi tr35h vo a chc trbi R1
MOV @R0, 80h hay
MOV @R0, P0
Sao chp dliu tP0 v vtr c trbi R0
MOVX A, @R0 Sao chp ni dung a chdliu ngoi ctrbi R0 vo thanh ghi A
MOVX A, @DPTR Sao chp ni dung a chdliu ngoi ctrbi DPTR vo thanh ghi A
V d ca a ch gin tip
MOV @Ri,#data where i=0 or 1
Department of Electronics & Telecommunications
5/27/2018 04 Lap Trinh Voi Assembly
48/67
48
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
Vit mt on chng trnh sao chp gi tr55h vo vtr 40h n 44h trong RAM sdng:
(c) Cha chtrc tip;
(d) Cha chgin tip thanh ghi khng sdng vnglp;
(e) vi mt vng lp
V d 7
Department of Electronics & Telecommunications
5/27/2018 04 Lap Trinh Voi Assembly
49/67
49
Department of Electronics & Telecommunications
Pham Quoc Thinh, ictu.edu.vn.
MOV A, #55h ; np gi tr55H vo A
MOV 40h, A ; Sao A vo vtr 40h trong RAM
MOV 41h, A ; Sao A vo vtr 41h trong RAMMOV 42h, A ; Sao A vo vtr 42h trong RAM
MOV 43h, A ; Sao A vo vtr 43h trong RAM
MOV 44h, A ; Sao A vo vtr 44h trong RAM
Gii php ca v d 7(a) Ch a ch trc tip
Department of Electronics & Telecommunications
5/27/2018 04 Lap Trinh Voi Assembly
50/67
50
p
Pham Quoc Thinh, ictu.edu.vn.
MOV A, #55h ; np gi trA=55h
MOV R0, #40h ; np con trR0 = 40h
MOV @R0, A ; Sao chp A vo trong RAM c trbi R0
INC R0 ; Tng con tr. R0 = 41hMOV @R0, A ; Sao chp A vo trong RAM c trbi R0
INC R0 ; Tng con tr. R0 = 42h
MOV @R0, A ; Sao chp A vo trong RAM c trbi R0
INC R0 ; Tng con tr. R0 = 43hMOV @R0, A ; Sao chp A vo trong RAM c trbi R0
INC R0 ; Tng con tr. R0 = 44h
MOV @R0, A ; Sao chp A vo trong RAM c trbi R0
Gii php ca v d 7 (b)Ch a ch gin tip thanh ghi khng c vng lp
Department of Electronics & Telecommunications
5/27/2018 04 Lap Trinh Voi Assembly
51/67
51
p
Pham Quoc Thinh, ictu.edu.vn.
MOV A, #55h ; A = 55h
MOV R0, #40h ; np con tr. R0 = 40h, a chRAM
MOV R2, #05 ; Np bm, R2 = 5
AGAIN: MOV @R0, A ; Sao chp A vo trong RAM c trbi R0
INC R0 ; Tng con trR0
DJNZ R2, AGAIN ; Lp li cho ti khi R2=0
Gii phpV d C) Loop method
DJNZ : gim v nhy nu khc 0
DJNZ direct, relative
DJNZ Rn, relative vi n = 0,1,,,7
MOV R2, #05h ; v d
LP:;--------------------------------
; do 5 timesinside the loop
;--------------------------------
DJNZ R2, LP ; R2 as counter
Department of Electronics & Telecommunications
5/27/2018 04 Lap Trinh Voi Assembly
52/67
52
p
Pham Quoc Thinh, ictu.edu.vn.
V d 8 (looping)Vit on chng trnh xo 15 vtr RAM btu ta ch60h.
CLR A ; A = 0
MOV R1, #60h ; Np con tr. R1 = 60h
MOV R7, #15 ; np bm, R7 = 15 (0F trong HEX)
AGAIN: MOV @R1, A ; Xo vtr RAM trbi R1
INC R1 ; Tng R1
DJNZ R7, AGAIN ; Lp li khi bm =0; xoa mt v RAM a ch60hCLR A
MOV R1,#60h
MOV @R1,ASetup a loop using DJNZ and register R7 as counter
Department of Electronics & Telecommunications
5/27/2018 04 Lap Trinh Voi Assembly
53/67
53Pham Quoc Thinh, ictu.edu.vn.
V d 9 (block transfer)Vit mt on chng trnh sao chp mt khi
10byte dliu tRAM bt u a ch35h ti RAMbt u ta ch60h
MOV R0, #35h ; con trngunMOV R1, #60h ; con trchMOV R3, #10 ; bm
BACK:MOV A, @R0 ; nhn mt byte tngun
MOV @R1, A ; sao n n chINC R0 ; tng con trngunINC R1 ; tng con trchDJNZ R3, BACK ; lm d10 byte
; COPY 1 TIMES
MOV R0,#35h
MOV R1,#60h
MOV A,@R0
MOV @R1,A
Department of Electronics & Telecommunications
5/27/2018 04 Lap Trinh Voi Assembly
54/67
54Pham Quoc Thinh, ictu.edu.vn.
Sdng con trtrong chng trnh cho phpxl Cu trc dliu ng mt lith
Dliu ng: Gi trdliu khng bcnh
Ch ca a ch gin tip
Department of Electronics & Telecommunications
5/27/2018 04 Lap Trinh Voi Assembly
55/67
55Pham Quoc Thinh, ictu.edu.vn.
Sdng thanh ghi nnv mt lch-offset to thnh mt a chc hiu qucho lnh JMPhay MOV
c sdng theo c php mt chmc camt mng hay mt bng look-up
Thng thng, DPTRl thanh ghi nn v thanhghi Al offset lch
Atng/gim theo c php trong danh sch
a ch ch sMOVC A, @A+DPTR
MOVC A, @A+PC
JMP @A+DPTR
Department of Electronics & Telecommunications
5/27/2018 04 Lap Trinh Voi Assembly
56/67
56Pham Quoc Thinh, ictu.edu.vn.
Sau
Program
memory
Trc
ACC
DPTR
MOVC A, @A + DPTR2000
2001
41
00 10
31
ACC
56
56
a ch ch s
MOVC A, @A + DPTR
V d: MOVC A,@A+DPTR
Department of Electronics & Telecommunications
5/27/2018 04 Lap Trinh Voi Assembly
57/67
57Pham Quoc Thinh, ictu.edu.vn.
Lnh Hot ng
MOVC A, @A + DPTR Sao chp byte m lnh tm thy a chROM c nh dng bi thanh ghi A vthah ghi DPTR ti A
MOVC A, @A + PC Sao chp byte m lnh tm thy a chROM c nh dng bi vic cng thm Av PC ti thanh ghi A
JMP @A + DPTR Nhy ti a chc nh dng bi victhm A v DPTR, y l mt lnh nhykhng c iu kin v slun thc hin.
V d ca a ch ch s
Department of Electronics & Telecommunications
5/27/2018 04 Lap Trinh Voi Assembly
58/67
58Pham Quoc Thinh, ictu.edu.vn.
V d 10 (Bng look-up)Vit mt chng trnh nhn gi trx tP1 v gix2ra P2, tip tc
ORG 0h
MOV DPTR, #300h ; np a chbng look-up sMOV A, #0FFh ; A = FF
MOV P1, A ; P1 l cng voBACK: MOV A, P1 ; c X
MOV A, @A+DPTR ; c x tbngMOV P2, A ;xut ra P2SJMP BACK ; lm li
ORG 300h
TABLE: DB 0, 1, 4, 9, 16, 25, 36, 49, 64, 81
END
Department of Electronics & Telecommunications
5/27/2018 04 Lap Trinh Voi Assembly
59/67
59Pham Quoc Thinh, ictu.edu.vn.
Sdng trong cc lnh nhy (JMP)
a chtng i: mt gi tr8 bit(-128 n+127)
Bn c thxl a chtng i nhlmt offset
Nhn chra ch nhy (ni dng li)Assembler pht hin ra a chtng ibng cch sdng nhn
a ch tng i SJMP tng iDJNZ trc tip, tng iDJNZ Rn, tng i vi n=0,1,,7
Department of Electronics & Telecommunications
5/27/2018 04 Lap Trinh Voi Assembly
60/67
60Pham Quoc Thinh, ictu.edu.vn.
a chtng i c cng vo PC
Tng l a chca lnh tip theo c thcthi
Nhn chra ch ca ch nhy(ni dng li).
a ch tng i
Department of Electronics & Telecommunications
5/27/2018 04 Lap Trinh Voi Assembly
61/67
61Pham Quoc Thinh, ictu.edu.vn.
B m chng trnh+ offset
= a ch hiu qu
= a ch ca lnh tip theo
+ Offset
Branch OpcodeOffset
Next Opcode
Next Instruction
B m chng trnh
a ch tng i
Department of Electronics & Telecommunications
5/27/2018 04 Lap Trinh Voi Assembly
62/67
62Pham Quoc Thinh, ictu.edu.vn.
Lnh Hot ng
SJMP NXT Nhy ti a chtngi vi nhn 'NXT'; y lmt lnh nhy khng c iu kin
DJNZ R1, DWN Gim thanh ghi R1 i 1 v nhy ti a chtng
i 'DWN' nu kt quR1 khc 0
V d v a ch tng i
0035
Department of Electronics & Telecommunications
5/27/2018 04 Lap Trinh Voi Assembly
63/67
63Pham Quoc Thinh, ictu.edu.vn.
Chsdng vi cc lnhACALLvAJMP
Bc "nhyln nht c ththc hin c l 2K
a ch tuyt i
Chsdng vi cc lnh LCALLv LJMP
Bc "nhyln nht c th thc hin c l 64K
a ch di
ACALL address11
AJMP address11
211= 2048=2K
Department of Electronics & Telecommunications
5/27/2018 04 Lap Trinh Voi Assembly
64/67
64Pham Quoc Thinh, ictu.edu.vn.
a chtuyt i: 11-bit a chlnh 2-byte
a chdi: 16-bit a chtrong lnh 3-byte
Phm vi ca nhy" ca di ln hn tuyt iTuy nhin, chtuyt i c code ngn hn(2 byte), do thc hin nhanh hn
Ch a ch di v tuyt i
Department of Electronics & Telecommunications
5/27/2018 04 Lap Trinh Voi Assembly
65/67
65Pham Quoc Thinh, ictu.edu.vn.
C rt nhiu phng php lm mt nhim vMt shiu quhn trong khi mt sth khng
Chn cha chng shon thnh nhim v
hiu quChng ta hy gii quyt mt trng hp ngin nhv d: Xoa vtr nht30h n 7Fh.
Chng ta c thsdng lnh MOV trong chachtrc tip
Nhng chng trnh sdi v tn khng gian m
Ti sao phi s dng nhiu ch ?
Department of Electronics & Telecommunications
5/27/2018 04 Lap Trinh Voi Assembly
66/67
66Pham Quoc Thinh, ictu.edu.vn.
MOV 30h, #00h ; Clear Array [0]
MOV 31h, #00h ; and Array [1]
. ; Keep on going
.
.
MOV 7Eh, #00h ; Clear Array [78]
MOV 7Fh, #00h ; Clear Array [79]
Ch a ch trc tip sdng n 240 byte
MOV R0, #30h ;t con tr bt u mng
clear_arr: MOV @R0, #00 ;Xoa v tr tr bi R0
INC R0 ; tng con tr 1CJNE R0, #80H, clear_arr ;
NEXT: . . . . . . . . ;
; lnh tip
S dng a ch gin tip ch cn 8 byte, tit kim232 byte !
Ti sao phi s dng nhiu ch a ch?
V vy, thsdng cha chgin tip nhsau:
80x3 = 240
3 byte cho lnh MOV direct, #data
5/27/2018 04 Lap Trinh Voi Assembly
67/67
Lp trnh vi Assembly cho 8051
ICTU 2010
END of Lecture