assembly wk 01

Upload: herdwi

Post on 08-Jul-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/19/2019 Assembly Wk 01

    1/49

    1

    OLEH :

    EPYK SUNARNO

    JURUSAN TEKNIK ELEKTRO INDUSTRI

    POLITEKNIK ELEKTRONIKA NEGERI SURABAYAINSTITUT TEKNOLOGI SEPULUH NOPEMBER

    SURABAYA

      2007

    B A H A S A A S S E M B L Y

    Untuk Semester !

    S"#$t %$&"'

    J$m(M"n))u ! J$m 

  • 8/19/2019 Assembly Wk 01

    2/49

    2

    BAB I. PENDAHULUAN

    1.1. Perbedaan MIKROPROSESSOR  dan

    MIKROKONTROLLER ======================================

    MIKROPROSESSOR 

      Adalah sebuah single chip yang hanyaberisi CPU ( Central Prcessing Unit !.

    Untu" #e#bentu" sebuah #ini#u# siste##i"r"#puter dari sebuah #i"rprsessr

    #asih dibutuh"an peralatan pendu"ung$%A& ( %and# Acces &e#ry !

    %'& (%ead 'nly &e#ry !

    I' ( Unit Input 'utput !

  • 8/19/2019 Assembly Wk 01

    3/49

    3

    MIKROKONTROLLER 

      Adalah sebuah single chip yang di dala#)

    nya sudah berisi

    ) CPU ( Central Prcessing Unit !) %A& (%and# Acces &e#ry!

    ) %'& (%ead 'nly &e#ry!

    ) I' (Unit Input 'utput!

    ) *i#erCunter + ,erial C'& Prt.

  • 8/19/2019 Assembly Wk 01

    4/49

    4

     

    Data Bus (-!

     Address Bus (1!

    Bl" Diagra# &I/%'P%',E,,'%

    CPU %A& %'& I'Prt

  • 8/19/2019 Assembly Wk 01

    5/49

    5

     

    Bl" Diagra# &I/%'/'N*%'LLE%

    CPU

    %A&

    %'&

    I' Prt,erial Prt*i#erCunter 

  • 8/19/2019 Assembly Wk 01

    6/49

    6

    &i"rprsessr diprdu"si #ulai 0 th 121dng INTEL yang prdu"sinya type  µP

    8080 

    ,elan3utnya per"e#bangan µP :• &trlla -44

    • %CA 1-41

    • &', *echnlgy -546• 7ilg 7-4

  • 8/19/2019 Assembly Wk 01

    7/49

    7

      &i"r"ntrller diprdu"si #ulai

    0 tahun 12 dengan INTEL yang

    prdu"sinya type -28 ( &C,)8-!yang di dala#nya sdh ada 1 /Byte

    EP%'&+ 8 Byte %A&+ 62 I' dan -

    bit *i#er 

  • 8/19/2019 Assembly Wk 01

    8/49

    8

    *ype %'& %A& I'

    -451

    -451AH-456AH

    -4C51BH

    -9C51:A

    -9C51:B

    8 / Byte

    8 / Byte8 / Byte

    8 / Byte

    8 / Byte

    8 / Byte

    16- Byte

    16- Byte65 Byte

    16- Byte

    65 Byte

    65 Byte

    8 ; - Bit

    8 ; - Bit8 ; - Bit

    8 ; - Bit

    8 ; - Bit

    5 ; - Bit

    /eluarga &i"r"ntrler &C,)51 

  • 8/19/2019 Assembly Wk 01

    9/49

    9

  • 8/19/2019 Assembly Wk 01

    10/49

    10

    Deskripsi PIN pada MCS-51

    No.Pi

    Na!a Pi "#ter 

    ati$ 

      %etera&a

    20 'ND 'ro(d

    40 )CC Po*er S(pp#+

    32 ... 39 P0.7 ,.P0.0 D7 . D0

     "7 .. "0

    Port 0 dapat er$(&si s& I/ iasa loworder multiplex addres/data 

    1 , 8 P1.0 ,. P1.7 Port 1 ada#a port para##e# 8 it d(aara idiretioa# +a& dapatdi&(aka (t(k era&ai keper#(a &eera# p(rpose I/

    21 , 28 P2.0 ,.. P2.7 "8 .. "15 Port 2 Port 2 er$(&si sea&ai Ioiasa ata( i& order address pada saat!e&akses !e!or+ seara 16 it

    M/) DP

  • 8/19/2019 Assembly Wk 01

    11/49

    11

    No.Pi

    Na!aPi

     "#ter 

    ati$ 

      %etera&a

    10 , 17 P/ 3 "da#a port para#e# 8 it d(a ara +a&!e!i#iki $(&si pe&&ati sea&ai erik(t

      10

      11

      12

      13  14

      15

      16

      17

      P3.0

      P3.1

      P3.2

      P3.3  P3.4

      P3.5

      P3.6

      P3.7

    D

    D

    IN0

    IN10

    1

    :

    D

    Port Seria# Ip(t

    Port Seria# /(tp(t

    Port ;

  • 8/19/2019 Assembly Wk 01

    12/49

    12

    No.Pi

    Na!aPi

     "#ter 

    ati$ 

      %etera&a

      29 PS;N "da#a pi PS;N Pro&ra! Store ;a#e>a& !er(paka si+a# pe&otro# +a&!e!o#eka pro&ra! !e!or+ ekstera#!as(k keda#a! (s se#a!a prosespe!eriape&a!i#a itr(ksi $eti&

      31

     

    ;"

     

    Pada kodisi =/: pi ii aka er$(&sis& ;" ;a#e "ddress +ait(!ikrokotro##er aka !e?a#aka pro&ra!+a& ada pada !e!or+ ekstera# sete#asiste! di ;S;

      19 "=1 Ip(t /si#ator  

      18 "=2 /(tp(t /si#ator

  • 8/19/2019 Assembly Wk 01

    13/49

    13

    1.2. Sistem Bilangan

    • ,iste# bilangan DE,I&AL• ,iste# bilangan BINE%

    • ,iste# bilangan '/*AL

    • ,iste# bilangan HE/,ADE,I&AL

  • 8/19/2019 Assembly Wk 01

    14/49

    14

    1.6.1. ,iste# bilangan BINE%

    - Bilangan BINE% adalah bilangan berbasis 6- La#bang bilangannya 4 dan 1- ,iste# bilangan ini dipa"ai pada siste#

    #i"r"ntrler.- Cnth "n

  • 8/19/2019 Assembly Wk 01

    15/49

    15

    1.6.6. ,iste# bilangan '/*AL

    - Bilangan '/*AL adalah bilangan berbasisi -

    - La#bang bilangannya 4+ 1+ 6+ 9+ 8+ 5+ dan 2- Cnth "n

  • 8/19/2019 Assembly Wk 01

    16/49

    16

    1.6.9. ,iste# bilangan HE/,ADE,I&AL

    - Bilangan dengan dasar 1

    - La#bang bilangannya $4+ 1+ 6+ 9+ 8+ 5+ + 2+ -+ + A+ B+ C+ D+ E dan :

    - Cnth "n

  • 8/19/2019 Assembly Wk 01

    17/49

    17

    BAB II.PE%AN=/A* LUNA/

    &I/%'/'N*%'LE% &C,)51

    6.1. Pendahuluan

    • ,ebuah #i"r"ntrler tida" a"an

    dapat be"er3a bila tida" diberi"an

    prgra# "epadanya.• ,iste# "er3a #i"r"ntrler dapat

    dirubah setiap saat sesuai dengan

    prgra# yang diberi"an "epadanya.

  • 8/19/2019 Assembly Wk 01

    18/49

    18

    • Instru"si)instru"si perang"at luna" berbeda

    untu" #asing)#asing 3enis #i"r"ntrller.

    • ,ebuah #i"r"ntrler tida" dapat#e#aha#i instru"si)instru"si yang berla"u

    pada #i"r"ntrler 3enis lain.

    Cnth$  &i"r"ntrler buatan Intel dengan

      #i"r"ntrler buatan 7ilg #e#ili"i

    perang"at instru"si yang berbeda• Instru"si)instru"si pada #i"r"ntrler

    di"enal sebagai bahasa pe#rgra#an siste#

    #i"r"ntrler 

  • 8/19/2019 Assembly Wk 01

    19/49

    19

      6.6. 'perand dan E"spresi

    Asse#bler 

    a. Opean! 

      @et(k (!(! se!(a istr(ksi da#a!asse!#er Ite# dapat dit(#iska sea&ai

    erik(t

    >LABEL$? &NE&'NIC >'PE%AND? >'PE%AND? >'PE%AND? >@/'&EN*A%?

  • 8/19/2019 Assembly Wk 01

    20/49

    20

      A(!#a operad ter&at(& pada t+pe!e!oi. Se!(a operad dapat dia&i

    da#a! 6 ke#o!pok +ait(

    1. Si!o# %(s(s "sse!#er 

    2. Pe&a#a!ata ak =a&s(&

    3. Pe&a#a!ata =a&s(& I!!ediate

    Data

    4. Pe&a#a!ata Data

    5. Pe&a#a!ata @it

    6. Pe&a#a!ata %ode

    7. /perator "sse!#er 

  • 8/19/2019 Assembly Wk 01

    21/49

    21

    • Si!o# %(s(s "sse!#er 

      "sse!#er te#a !e+ediaka eerapa si!o#(t(k !e(?(kka re&ister tertet( sea&aioperad.

    Coto

     " "k(!(#ator 

    0 ,. 7 e&ister Sera&(a

    DP Data Poiter e&ister 16 @it

    PC Pro&ra! Co(ter  C Carr+ B#a&

    @ e&ister @

  • 8/19/2019 Assembly Wk 01

    22/49

    22

    •  Pe&a#a!ata ak =a&s(&

    /perad pe&a#a!ata tak#a&s(& !e(?(k ke se(a

    re&ister +a& erisi #okasi a#a!at

    !e!or+ +a& aka di&(akada#a! operasi.

    =okasi +a& +ata ter&at(&

    pada isi re&ister saat istr(ksi

    di?a#aka.

  • 8/19/2019 Assembly Wk 01

    23/49

    23

    •  Pe&a#a!ata ak =a&s(&

    t(k !e#aksaaka pe&a#a!ata

    tak #a&s(& di&(aka si!o#

      Coto

      M/) "1

    M/) 0"

    M/) 124

  • 8/19/2019 Assembly Wk 01

    24/49

    24

    •  Pe&a#a!ata ak =a&s(&

    Pe&a#a!ata tak #a&s(& Idiret iiiasa di&(aka (t(k !e#ak(kape(#isa pe!idaa ata(

    pe!aaa eerapa data da#a! #okasi!e!ori +a& !e!p(+ai (r(taerat(ra.

    Aika proses ii di#ak(ka de&a

    !e&&(aka pe&a#a!ata #a&s(& ?(!#aaris pro&ra! +a& diper#(ka aka (k(ppa?a&.

  • 8/19/2019 Assembly Wk 01

    25/49

    25

    •  Pe&a#a!ata ak =a&s(&

      Coto+a pe(#isa data 08 pada a#a!at50 i&&a 57.

    =isti& a.1

    /' 0

    M/) 50E08M/) 51E08

    M/) 52E08

    M/) 53E08

    M/) 54E08M/) 55E08

    M/) 56E08

    M/) 57E08

    ;ND

  • 8/19/2019 Assembly Wk 01

    26/49

    26

    •  Pe&a#a!ata ak =a&s(&

      De&a di&(aka siste! pe&a#a!ata tak#a&s(& dapat di(a !e?adi

      =isti& a.2.

    /' 0M/) 0E50

    F

    =//P M/) 0E08INC 0

    CAN; 0E58=//P

    ;ND

  • 8/19/2019 Assembly Wk 01

    27/49

    27

    •  Pe&a#a!ata ak =a&s(&

      Da#a! #isti& pro&ra! a.2 diatas 0di&(aka sea&ai re&ister +a&

    !e+i!pa a#a!at dari data +a& aka

    dit(#iska. De&a !e#ak(ka

    pea!aa pada isi 0 da

    !e&(#a& perita pe(#isa data ke

    a#a!at +a& dit(?(k 0 i&&a re&ister

    ii !e(?(kka i#ai 57 G 1 ata(58. De&a de!ikia arisa perita

    pada =isti& a.1 dapat die#i!iasi.

  • 8/19/2019 Assembly Wk 01

    28/49

    28

    •  Pe&a#a!ata ak =a&s(&

      MCS-51 !e!p(+ai se(a re&ister 16 it DPda d(a (a re&ister 8 it 0 da 1 +a& dapatdi&(aka (t(k !e#ak(ka pe&a#a!ata tidak#a&s(&.

    Coto-oto perita +a& !e&&(aka siste!pe&a#a!ata tak #a&s(& ada#a

    M/) 0" F %4 sebagai reg. penyi#pan ala#atM/) "1 F %1 sebagai reg. penyi#pan ala#at

     "DD "0 F %4 sebagai reg. penyi#pan ala#at M/) DP" F DP*% sebagai reg. penyi#pan ala#atM/)C ""GDP F DP*% sebagai register

    penyi#pan ala#at

  • 8/19/2019 Assembly Wk 01

    29/49

    29

    •  Pe&a#a!ata =a&s(&

    I!!ediate Data Proses pe&a#a!ata ii ter?adi pada se(aperita ketika i#ai operad !er(paka data

    +a& aka diproses.

    @iasa+a operad terse(t se#a#( dia*a#ide&a tada HE seperti pada oto erik(t.

    M/) "E05

    M/) "E45M/) @E0;4

    M/) DPE4356

  • 8/19/2019 Assembly Wk 01

    30/49

    30

    •  Pe&a#a!ata =a&s(&

    I!!ediate Data /perad +a& di&(aka pada i!!ediate data ?(&a dapat er(pa i#a&a ertada !(#ai - 256i&&a G 256.

    Coto M/) "E -1

    sa!a de&a

    M/) "E0BB

    @i#a&a -1 ada#a sa!a de&a i#a&a 0dik(ra&i 1 da#a! et(k eksa i#a&a 00.Aika dik(ra&i de&a 1 asi#+a ada#a 0BB.De&a pe&ertia seperti ii i#a&a -1 dapat

    dia&&ap sa!a de&a 0BB.

  • 8/19/2019 Assembly Wk 01

    31/49

    31

    •  Pe&a#a!ata Data

    Proses pe&a#a!ata ii ter?adi pada se(aperita ketika i#ai operad !er(paka a#a!atdari data +a& aka diisi dipidaka ata(diproses.

    Coto M/) P0"

    Port 0 ada#a sa#a sat( I/ pada MCS-51 +a&!e!p(+ai a#a!at 80. Perita pada oto di

    atas se#ai !e&iri!ka data ak(!(#ator ke Port0 ?(&a !er(paka perita pe!idaa datadari ak(!(#ator ke a#a!at 80 sei&&a dapat ?(&a dit(#iska

    M/) 80".

  • 8/19/2019 Assembly Wk 01

    32/49

    32

    6.6. %egister Pada &i"r"ntrler

    &C,)51

    e&ister

      "da#a te!pat !e+i!pa!e&o#adata se!etara pada saat

    !ikroprosessor !ikrokotro##er

    eker?a.

  • 8/19/2019 Assembly Wk 01

    33/49

    33

    Pa!a M"S#$1 te!apat antaa lain:

    ;'IS; 8 it " "(!(#ator 3

    @ 4

    0 51 6

    2 7

    ;'IS; 16 it

    DP DP DP=

      PC PC Pro&ra! Co(ter

  • 8/19/2019 Assembly Wk 01

    34/49

    34

    6.9. Instru"si Pe#rgra#an Pada

    &i"r"ntrler &C,)51

    • Pada &C,)51 #e#punyai 0 65 instru"si

    pe#rgra#an yang secara garis besar dibagi

    #en3adi $

    1. *ranser Data

    6. 'perasi Arit#ati"a

    9. 'perasi Lgi"a

    8. &anipulasi ariabel Blean

    5. Instru"si Percabangan

  • 8/19/2019 Assembly Wk 01

    35/49

    35

    2.3.1. Istr(ksi ras$er Data

    • Istr(ksi ras$er Data !e!p(+ai eraeka

    ra&a! et(k +a& ereda +a& dises(aika

    de&a dari!aa data terse(t erasa#

    S/C; da aka ditras$er ke!aaD;SIN"I/NS.

    • Istr(ksi ii !e&&(aka operad M/) +a&

    tidak !e&(a isi data pada s(!er So(re

    da a+a !e&kopi !e&&adaka data daris(!er So(re ke t(?(a Destiatios

    %enis &enis Inst'(si Tans)e *ata

  • 8/19/2019 Assembly Wk 01

    36/49

    36

    %enis#&enis Inst'(si Tans)e *ata

    a. "CCM="/ ;'IS;

    Metode ii ada#a !e&kopi data dari s(at(

    e&ister 0 J 7 ke "(!(#ator "

    "+nt+, : &' A+%4

    &' A+%1

    &' A+%6

    &' A+%9

    &' A+%8&' A+%5

    &' A+%

    &' A+%2

  • 8/19/2019 Assembly Wk 01

    37/49

    37

    . ;'IS; "CCM="/

    Metode ii ada#a !e&kopi data +a& erada di

     "(!(#ator " ke s(at( e&ister 0 J 7

    "+nt+, : &' %4+A

    &' %1+A

    &' %6+A&' %9+A

    &' %8+A

    &' %5+A&' %+A

    &' %2+A

    "CCM="/ D"" IMM;DI";

  • 8/19/2019 Assembly Wk 01

    38/49

    38

    . "CCM="/ D"" IMM;DI";

    Metode ii ada#a (t(k !e&isi data ke da#a!

     "(!(#ator " de&a data 8 it seara

    #a&s(&. Pada !etode ii di&(aka tada Epada data +a& aka diisika.

    "+nt+, : &' A+68H&' A+2:H

    &' A+4:EH

    &' A+4:-H

    &' A+144

    &' A+655

    &' A+4::H

    d ;'IS; D"" IMM;DI";

  • 8/19/2019 Assembly Wk 01

    39/49

    39

    d. ;'IS; D"" IMM;DI";

    Metode ii ada#a (t(k !e&isi data ke da#a!

    s(at( e&ister 0 J 7 de&a data 8 it

    seara #a&s(&. Pada !etode ii di&(akatada E pada data +a& aka diisika.

    "+nt+, : &' %4+68H

    &' %1+2:H&' %6+4:EH

    &' %9+4:-H

    &' %8+144

    &' %5+655

    &' %+4::H

    &' %2+4:H

  • 8/19/2019 Assembly Wk 01

    40/49

    40

    e. ;'IS; ;'IS;

    Metode ii ada#a !e&kopi data +a& erada di

    e&ister 0-7 ke s(at( e&ister 0-7 +a&#ai.

    "+nt+, : &' %4+%5

    &' %8+%4&' %6+%1

    &' %+%6

    &' %8+%2&' %5+%1

    &' %9+%6

    &' %2+%9

    $ "CCM="/ DI;C

  • 8/19/2019 Assembly Wk 01

    41/49

    41

    $. "CCM="/ DI;C

    Istr(ksi ii aka !e!idaka data dari se(a

    a#a!at itera# "M ke "(!(#ator tapa !e#a#(i

    re&ister #ai+a.

    "+nt+, : &' A+64H

    &' A+61H&' A+66H

    &' A+69H

    &' A+68H&' A+65H

    &' A+6:H

    & DI;C "CCM="/

  • 8/19/2019 Assembly Wk 01

    42/49

    42

    &. DI;C "CCM="/

    Istr(ksi ii aka !e!idaka data dari

     "(!(#ator ke se(a a#a!at itera# "M

    tapa !e#a#(i re&ister #ai+a.

    "+nt+, : &' 64H+A

    &' 61H+A&' 66H+A

    &' 69H+A

    &' 68H+A&' 65H+A

    &' 6:H+A

    "CCM="/ INDI;C

  • 8/19/2019 Assembly Wk 01

    43/49

    43

    . "CCM="/ INDI;C

    +pe istr(ksi ii a+a dapat !e&&(aka

    re&ister 0 da 1 sea&ai poiter 

    "+nt+, : &' A+%4

    &' A+%1

    i. INDI;C "CCM="/

    +pe istr(ksi ii a+a dapat !e&&(aka

    re&ister 0 da 1 sea&ai poiter 

    "+nt+, : &' %4+A

    &' %1+A

    ? ;'IS; DI;C

  • 8/19/2019 Assembly Wk 01

    44/49

    44

    ?. ;'IS; DI;C

    Istr(ksi ii aka !e!idaka data dari se(a

    a#a!at itera# "M ke e&ister-re&ister +a&

    erada di Mikrokotro##er.

    "+nt+, : &' %4+64H

    &' %1+61H&' %6+66H

    &' %9+69H

    &' %8+68H&' %5+65H

    &' %+6H

    &' %2+6:H

    k DI;C ;'IS;

  • 8/19/2019 Assembly Wk 01

    45/49

    45

    k. DI;C ;'IS;

    Istr(ksi ii aka !e!idaka data dari se(a

    e&ister ke se(a a#a!at itera# "M +a&

    erada di Mikrokotro##er.

    "+nt+, : &' 66H+%4

    &' 68H+%1&' 65H+%6

    &' 6-H+%9

    &' 6AH+%8&' 6CH+%5

    &' 6DH+%

    &' 6EH+%2

    #. DI;C DI;C

  • 8/19/2019 Assembly Wk 01

    46/49

    46

    #. DI;C DI;C

    Istr(ksi ii aka !e!idaka data dari se(a

    a#a!at itera# "M ke se(a a#a!at itera#

    "M ?(&a.

    "+nt+, : &' 66H+64H

    &' 68H+61H&' 65H+69H

    &' 6-H+6H

    &' 6AH+64H&' 6CH+6H

    &' 6DH+6:H

    &' 6EH+61H

    !. DI;C D""

  • 8/19/2019 Assembly Wk 01

    47/49

    47

    !. DI;C D""

    Pada istr(ksi ii aka !e&isi data pada se(a

    a#a!at itera# "M seara #a&s(& de&a ara

    !e!as(kka data de#apa it.

    "+nt+, : &' 66H+4:EH

    &' 68H+2EH&' 65H+69H

    &' 6-H+:H

    &' 6AH+4D5H&' 6CH+4B8H

    &' 6DH+66H

  • 8/19/2019 Assembly Wk 01

    48/49

    48

    . INDI;C - D""

    Pada istr(ksi +a& dipakai disii !e&&(akare&ister INDI;C sea&ai re&ister pe!roses+a

    de&a diisi data seara #a&s(&.

    "+nt+, :

    &' %4+61H

    &' %1+4C-H

  • 8/19/2019 Assembly Wk 01

    49/49

    49

    o. INDI;C - DI;C

    Pada istr(ksi +a& dipakai disii !e&&(akare&ister INDI;C sea&ai re&ister pe!roses+a

    de&a diisi data dari a#a!at itera# "M.

    "+nt+, :

    &' %4+61H

    &' %1+65H