Docsity
Docsity

Pripremite ispite
Pripremite ispite

Studirajte zahvaljujući brojnim resursima koji su dostupni na Docsity-u


Nabavite poene za preuzimanje
Nabavite poene za preuzimanje

Zaradite bodove pomažući drugim studentima ili ih kupite uz Premium plan


Školska orijentacija
Školska orijentacija

Vezba broj 4 i 5 - Programiranje- Visoka elektrotehnicka skola, Vežbe od Programiranje

Kompletna vezba iz predmeta mikroracunari sa resenjima

Tipologija: Vežbe

2016/2017

Učitan datuma 17.01.2017.

gospon_dragan
gospon_dragan 🇸🇷

2 dokumenti

1 / 15

Srodni dokumenti


Delimični pregled teksta

Preuzmite Vezba broj 4 i 5 - Programiranje- Visoka elektrotehnicka skola i više Vežbe u PDF od Programiranje samo na Docsity! Микрорачунари Задаци за лабораторијску вежбу 4 Задатак 01. Написати програмску секвенцу према следећем алгоритму: • У акумулатор A уписати вредност $F0. • У акумулатор B уписати вредност $12. • Садржај акумулатора A уписати на меморијску локацију $F000. • Садржај акумулатора B уписати у акумулатор A. • Повећати садржај акумулатора A за 1. • Користећи индексно адресирање и регистар Y, садржај акумулатора A уписати у меморијску локацију $F001. • Учитати садржај са локација $F000 и $F001 у регистар D. • Користећи директно адресирање, уписати садржак регистра A у меморијску локацију $0000. • Повећати садржај меморијске локације $0000 за 1 користећи директно адресирање. Решење. ldaa #$F0 ldab #$12 staa $F000 tba inca ldy #$F000 staa $01,y ldd $f000 staa $0000 inc $0000 Задатак 02. Написати програмску секвенцу према следећем алгоритму: • У регистар D уписати константну вредност $55AA. • Акумулатор A уписати на меморијску локацију $0000 користећи директно адресирање. • Користећи директно адресирање, уписати садржај акумулатора B на меморијску локацију $0001. • Садржај акумулатора A уписати у акумулатор B. • Користећи индексно адресирање и регистар X, у акумулатор A уписати вредност са адресе $0001. • Садржај регистра D уписати у RAM меморију на адресама $F000 и $F001. • Повећати садржај у RAM меморији на адреси F001. • У акумулатор B уписати константну вредност $20. • Сместити садржај акумулатора B на меморијску локацију $F007. Решење. ldd #$55AA staa $0000 stab $0001 tab ldx #$0000 ldaa $01,x std $F000 inc $F001 ldab #$20 stab $F007 PAGE 1 Задатак 03. Написати програмску секвенцу која одговара следећем алгоритму: • У акумулатор A уписати вредност $77. • Садржај акумулатора A пребацити у акумулатор B. • Повећати садржај акумулатора A за 1. • Вредност акумулатора D уписати почевши од меморијске локације $0080 користећи директно адресирање. • У акумулатор B уписати вредност $FF. • Пребацити садржај акумулатора B у акумулатор A. • Користећи индексно адресирање и проивољни индекс-регистар, уписати садржај акумулатора B на локацију $F010. • Користећи проширено адресирање, повећати садржај локације $F010 за 1. • Учитати у регистар D садржај са меморијских локација $F010 и $F011. Решење. ldaa #$77 tab inca std $0080 ldab #$FF tba ldx #$F000 stab $10,x inc $F010 ldd $F010 Задатак 04. Написати програмску секвнецу према следећем алгоритму: • У акумулатор B уписати константну вредност $80. • Вредност акумулатора B уписати у адресу $0020 користећи директно адресирање. • Садржај акумулатора B пребацити у акумулатор A. • Повећати садржај акумулатора B за 1. • Садржај регистра D уписати на меморијске локације $F010 и $F011. • Користећи индексно адресирање и регистар X, садржај акумулатора A уписати на адресу $0000. • Користећи индексно адресирање и регистар Y, садржај регистра B уписати на адресу $0001. • У акумулатор A уписати вредност $00. • Садржај акумулатора A уписати у акумулатор B. Решење. ldab #$80 stab $0020 tba incb std $F010 ldx $0000 staa $00,x ldy $F000 stab $01,y ldaa #$00 tab Задатак 05. Написати програмску секвенцу која одговара следећем алгоритму: PAGE 1 • Користећи индексно адресирање и индекс-регистар Y, у произвољни акумулатор уписати податак са локације $F000. • Садржај регистра D уписати на локације $0020 и $0021 користећи директно адресирање. • Вредност меморијске локације $0021 повећати за 1. • Садржај акумулатора B ископирати у акумулатор A. • Садржај акумулатора A уписати на локацију $F007 користећи проширено адресирање. • Повећати садржај акумулатора B за 1. Решење. ldaa #$00 tab incb ldy #$F000 ldaa $00,y std $0020 inc $0021 tba staa $F007 incb Задатак 10. Према датом алгоритму, саставити програмску секвенцу. • У акумулатор B уписати константну вредност $10. • У акумулатор A учитати вредност са порта (тј. меморијске локације) $8000. • Повећати вредност акумулатора A за један, а затим још за један. • Садржај регистра D сместити директним адресирањем почевши од локације $0000. • Користећи индексно адресирање и регистар X, у акумулатор B уписати податак са адресе $8001. • Садржај акумулатора B уписати у акумулатор A. • Повећати садржај акумулатора A за 1. • Повећати садржај локације $F000 за 1 користећи проширено адресирање. • Уписати садржај акумулатора B у локацију $F001. Решење. ldab #$10 ldaa $8000 inca inca std $0000 ldx #$8001 ldab $00,x tba inca inc $F000 stab $F001 Задатак 11. Саставити програмску секвенцу која одговара следећем алгоритму: • У регистар D уписати константну вредност $4000. • Повећати садржај регистра A за 1, а затим још за 1. • Садржај акумулатора A директним адресирањем уписати на локацију $00C0. PAGE 1 • Садржај акумулатора B пребацити у акумулатор A. • Садржај акумулатора A ископирати на адресу $F010 користећи проширено адресирање. • Користећи индексно адресирање и произвољни индексни регистар, у акумулатор B уписати садржај са локације $000F. • Повећати садржај локације $000F за 1 проширеним адресирањем. • У акумулатор A уписати вредност $BB. • Садржај регистра A уписати на адресу $F011. Решење. ldd #$4000 inca inca staa $00C0 tba staa $F010 ldx #$0000 ldab $0F,x inc $000F ldaa #$BB staa $F011 Задатак 12. Према приложеном алгоритму, написати одговарајућу програмску секвенцу. • У регистар A уписати податак са локације $F000. • Повећати вредност акумулатора A за 1. • У регистар B уписати константну вредност $10. • Садржај регистра D уписати почевши од адресе $F000. • Садржај регистра B уписати у акумулатор A. • Користећи индексно адресирање и регистар X, у локацију $F004 уписати вредност акумулатора A. • Повећати вредност акумулатора A за 1, а затим још за 1. • Садржај акумулатора А уписати на адресу $0000 користећи директно адресирање. • Повећати садржај локације $0000. Решење. ldaa $F000 inca ldab #$10 std $F000 tba ldx #$F000 staa $04,x inca inca staa $0000 inc $0000 Задатак 13. Саставити програмску секвенцу према следећем алгоритму: • У регистар A уписати константну вредност #$FF. • Повећати садржај акумулатора A за 1. • Садржај акумулатора A копирати у акумулатор B. • Регистар D копирати на меморијске локације $F007 и $F008. PAGE 1 • Повећати за 1 садржај меморијске локације $F008. • Користећи индексно адресирање и индекс-регистар Y, у акумулатор B уписати садржај локације $F000. • Повећати садржај акумулатора B за 1. • Садржај акумулатора B пребацити у акумулатор A. • Садржај регистра D уписати на адресе $F009 и $F00A. Решење. ldaa #$FF inca tab std $F007 inc $F008 ldy $F000 ldab $00,y incb tba std $F009 Задатак 14. Саставити асемблерску секвенцу према следећем алгоритму: • У акумулатор A уписати константну вредност $AA. • Повећати садржај акумулатора A за 1. • Садржај акумулатора A уписати на адресу $0000 користећи директно адресирање. • Повећати садржај локације $0000 за 1 користећи проширено адресирање. • Садржај акумулатора A копирати у регистар B. • Повећати садржај акумулатора B за 1, а потом још за 1. • Користећи индексно адресирање и регистар X, уписати садржај акумулатора B на локацију $F000. • Повећати садржај локације $F000 за 1. • Уписати садржај регистра D на локације $F009 и $F00A користећи проширено адресирање. Решење. ldaa #$AA inca staa $0000 inc $0000 tab incb incb ldx #$F000 stab $00,x inc $F000 std $F009 Задатак 15. Формирати програмску секвенцу која одговара следећем алгоритму: • У регистар B уписати константу $00. • Садржај регистра B копирати у регистар А. • Садржај регистра A увећати за 1, а затим још за један. • Садржај регистра D уписати почевши од локације $F008. • Вредност локације $F008 повећати за 1. • Користећи регистар X, индексним адресирањем садржај регистра A уписати на локацију $F007. PAGE 1 • У акумулатор A уписати константну вредност $27. • Повећати вредност акумулатора A за 1. • Уписати садржај регистра A на локацију $F000. Решење. ldd #$AA55 std $0000 inca inc $0001 tab ldx #$0000 stab $27,x ldaa #$27 inca staa $F000 Задатак 20. На основу следећег алгоритма написати одговарајућу програмску секвенцу: • Уписати у акумулатор A садржај меморијске адресе $F000. • Садржај акумулатора A уписати у акумулатор B. • Повећати вредност регистра B за 1, а затим још за 1. • Користећи индексно адресирање и произвољни индекс-регистар, садржај акумулатора B уписати на локацију $F001. • Учитати у акумулатор D вредност са адреса $0000 и $0001, користећи директно адресирање. • Уписати у регистар B константу $27. • Уписати на адресу $0002 садржај регистра B. • Повећати садржај меморијске локације $0000 за 1, користећи проширено адресирање. • Садржај меморијске локације $0000 уписати у акумулатор A. Решење. ldaa $F000 tab incb incb ldx $F001 stab $00,x ldd $0000 ldab #$27 stab $0002 inc $0000 ldaa $0000 Задатак 21. Саставити програмску секвенцу која одговара следећем алгоритму: • У акумулатор A уписати константну вредност $FF. • Садржај акумулатора A сместити на меморијску локацију $0000 користећи директно адресирање. • Повећати садржај акумулатора A за 1. • Садржај акумулатора A уписати у регистар B. • Регистар D ископирати на меморијску адресу $F000. • Повећати вредност меморијске локације $F001 за 1. • Садржај меморијске локације $F001 уписати у регистар B, користећи индексно адресирање и регистар Y. PAGE 1 • Повећати садржај регистра B за 1. • Садржај регистра B уписати на локацију $000F користећи директно адресирање. Решење. ldaa #$FF staa $0000 inca tab std $F000 inc $F001 ldy $F000 ldab $01,y incb stab $000F Задатак 22. Написати програмску секвенцу која одговара следећем алгоритму: • У регистар D уписати вредност са меморијских локација $F000 и $F001. • Повећати садржај акумулатора A за 1, а затим још за 1. • Садржај акумулатора A пребацити у акумулатор B. • Користећи индексно адресирање и регистар X, акумулатор A уписати на адресу $007F. • Повећати садржај адресе $007F за 1. • У акумулатор A уписати константну вредност $10. • Пребацити садржај акумулатора A у меморијску локацију $0000 користећи директно адресирање. • У акумулатор B уписати садржај акумулатора А. • Садржај акумулатора A уписати на локацију $F000, користећи проширено адресирање. Решење. ldd $F000 inca inca tab ldx #$0000 staa $7F,x inc $007F ldaa #$10 staa $0000 tab staa $F000 Задатак 23. Према следећем алгоритму саставити одговарајућу програмску секвенцу: • У акумулатор B уписати константну вредност $7F. • Садржај акумулатора B уписати у акумулатор A. • Повећати садржај акумулатора A за 1. • Садржај акумулатора D уписати на меморијске локације $F000 и $F001. • Повећати садржај меморијске локације $F001 користећи проширено адресирање. • У акумулатор A уписати вредност са локације $0000 користећи директно адресирање. PAGE 1 • Садржај акумулатора A уписати на локацију $F007 користећи индексно адресирање и индексни регистар Y. • Вредност у акумулатору A уписати у акумулатор B. • Вредност у акумулатору B уписати на локацију $0001. Решење. ldab #$7F tba inca std $F000 inc $F001 ldaa $0000 ldy #$F005 staa $02,y tab stab $0001 Задатак 24. Према датом алгоритму саставити одговарајућу програмску секвенцу. • У акумулатор A уписати вредност са меморијске локације $F007. • Повећати садржај акумулатора A за 1, а потом још за 1. • Садржај акумулатора A уписати у меморијску локацију $0050 директним адресирањем. • Садржај акумулатора A индексним адресирањем и произвољним индекс- регистром уписати у меморијску локацију $F000. • Садржај акумулатора A уписати у акумулатор B. • Регистар D уписати у меморију почевши од адресе $0000 коришћењем директног адресирања. • Садржај меморијске локације $0001 повећати за 1 проширеним адресирањем. • Регистар B „напунити“ константном вредношћу $FF. • Садржај регистра B уписати на локацију $F001. Решење. ldaa $F007 inca inca staa $0050 ldx #$F000 staa $00,x tab std $0000 inc $0001 ldab #$FF stab $F001 Задатак 25. Саставити програмску секвенцу на основу следећег алгоритма: • У акумулатор A уписати вредност са локације $F007 користећи индексно адресирање и индексни регистар X. • Повећати садржај регистра A за 1. • Садржај акумулатора A уписати у акумулатор B. • Регистар D уписати на локације $0000 и $0001. • У регистар B уписати константну вредност $0A. • Садржај регистра B уписати на меморијску локацију $0000 користећи директно адресирање. PAGE 1
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved