04 Lap Trinh Voi Assembly

Embed Size (px)

Citation preview

  • 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