Uvod u koriscenje MPLAB-a i zadaci iz asemblera.pptx

Embed Size (px)

Citation preview

  • 7/25/2019 Uvod u koriscenje MPLAB-a i zadaci iz asemblera.pptx

    1/21

    UVOD U KORISCENJE MPLAB-A

    I ZADACI IZ ASEMBLERA

  • 7/25/2019 Uvod u koriscenje MPLAB-a i zadaci iz asemblera.pptx

    2/21

  • 7/25/2019 Uvod u koriscenje MPLAB-a i zadaci iz asemblera.pptx

    3/21

  • 7/25/2019 Uvod u koriscenje MPLAB-a i zadaci iz asemblera.pptx

    4/21

  • 7/25/2019 Uvod u koriscenje MPLAB-a i zadaci iz asemblera.pptx

    5/21

  • 7/25/2019 Uvod u koriscenje MPLAB-a i zadaci iz asemblera.pptx

    6/21

  • 7/25/2019 Uvod u koriscenje MPLAB-a i zadaci iz asemblera.pptx

    7/21

  • 7/25/2019 Uvod u koriscenje MPLAB-a i zadaci iz asemblera.pptx

    8/21

  • 7/25/2019 Uvod u koriscenje MPLAB-a i zadaci iz asemblera.pptx

    9/21

  • 7/25/2019 Uvod u koriscenje MPLAB-a i zadaci iz asemblera.pptx

    10/21

    ZADACI IZ ASEMBLERA Napisati program u asembleru koji proverava da li je sadrzaj u akumulatoru veci,

    manji ili jednak 09h. Ako je manji R7=0, ako je jednak R7= i ako je veci R

    !"AR"

    #RA$

    R7=

    R7=0

    R7=%

    &=09h'

    ()09h'

  • 7/25/2019 Uvod u koriscenje MPLAB-a i zadaci iz asemblera.pptx

    11/21

    *program proverava radni reg &=09' koristi + leg

    list p=-77 * list directive to deine processor

    /include )p-77.inc * processor speciic variable deinitions

    errorlevel 120%

    * 3345N68 343566 : 3&;"3566 : 3>>>> ?ARA

  • 7/25/2019 Uvod u koriscenje MPLAB-a i zadaci iz asemblera.pptx

    12/21

    Napisati program u asembleru koji puni memorijske lokacije Htabelu od 20

    heksadecimalno do 29C heksadecimalno brojeva od 40 heksadecimalno do 49

    heksadecimalno.

    !"AR"

    pocet=20h

    ocetakII

    brlok11

    brlok=0

    J(K16!R

    &=0

    (=(I

    brlok=0

    N;

    i l k 20h d 29h b j i 0 9

  • 7/25/2019 Uvod u koriscenje MPLAB-a i zadaci iz asemblera.pptx

    13/21

    *puni memoor lokac 20h do 29h brojevima c01c9

    list p=-7 * list directive to deine processor

    /include )p-7.inc * processor speciic variable deinitions

    errorlevel 120%

    * 3345N68 343566 : 3&;"3566 : 3>>>> ?ARA

  • 7/25/2019 Uvod u koriscenje MPLAB-a i zadaci iz asemblera.pptx

    14/21

    Napisati program u asembleru koji blinka Jpali1gasiK @; diodu.

    N4$A@+A4$A

    5R"

  • 7/25/2019 Uvod u koriscenje MPLAB-a i zadaci iz asemblera.pptx

    15/21

    *poziv potprograma pauza blink dioda

    *pauza L petlja

    list p=-77 * list directive to deine processor

    /include )p-77.inc * processor speciic variable deinitions

    errorlevel 120%

    * 3345N68 343566 : 3&;"3566 : 3>>>> ?ARA

  • 7/25/2019 Uvod u koriscenje MPLAB-a i zadaci iz asemblera.pptx

    16/21

    Napisati program u asembleru koji konvertuje heksadecimalni broj u tri decimalne

    cireM ;400, ;40 ;4. "estirati program sa heksadecimalnim brojevima 6, 56

    0. aksimalne vrednost su ;400 je %, ;40 je 9 a za ;4 je 9. ;400, ;40 ;4

    smestiti na mem. lokacije %C,%%C %2C.

    !"AR"

  • 7/25/2019 Uvod u koriscenje MPLAB-a i zadaci iz asemblera.pptx

    17/21

    /include )p-77a.inc * processor speciic variable deinitions

    3345N68 3O"35!4 : 3&;"3566 : 3&R"35N : 343566 : 3@?3566

    *errorlevel 120%

    ;400 B CD%D

    ;40 B 0E%%

    ;4 B 0E%2

  • 7/25/2019 Uvod u koriscenje MPLAB-a i zadaci iz asemblera.pptx

    18/21

    Napisati program koji ce na 71segmentnom displeju prikazati broj F7.

    !"AR"

    "R!;=0

    "R!

  • 7/25/2019 Uvod u koriscenje MPLAB-a i zadaci iz asemblera.pptx

    19/21

    /include )p-77a.inc * processor speciic variable deinitions

    errorlevel 120%

    *3345N68 : 3&;"3566 : 3>>>> ?ARA

  • 7/25/2019 Uvod u koriscenje MPLAB-a i zadaci iz asemblera.pptx

    20/21

    list p=-77a * list directive to deine processor

    /include )p-77a.inc * processor speciic variable

    deinitions

    errorlevel 120%

    3345N68 3O"35!4 : 3&;"3566 : 3&R"35N : 343566 : 3@?3566

    *>>>>> ?ARA>>>>> 45N!" ;6N"5N!

    * 4block 0E%0 *deinise const

    * end4 *zavrsi const

    5R8 0E00 * processor reset vector

    goto main * go to beginning o program

    5R8 0E0F * interrupt vector location

    mov( R?& *(1R?&

    s(ap !"A"B!,& *status1( dva puta s(ap vrati na isto

    mov( R?!"A *(1prvsta

    s(ap 4@,& *pcl1(

    mov( R?4@ *(1R?4@

    banksel 5R"