» »

Zbirnik-program

Zbirnik-program

Mediator ::

Dobil sem naslednjo nalogo, ki je ne znam. Prosim, če mi lahko kdo pomaga!NAjlepša hvala!

V zbirniku, ki ste ga spoznali na predavanjih, napišite program, ki na sklad shrani vrednosti od 1 do n (n predtem prebere iz sklada).
Program naj nato na lokacijo 60 zapiše vsoto tistih števil, ki so večja od x (x prebere iz pomnilniške lokacije 55)
Program stestirajte na simulatorju.

Quikee ::

Ja in keri zbirnik je to ??

BluPhenix ::

Hmm...

ldx $0022 /*$0022 ->n v hex
loop ldaa vrednost
psha
dex
cmpx #$0000
bne loop

....aaaahh ne da se mi.

Nariši si ti lepo flow diagram in boš videl da ni tako teško, če pa je pa še malo vadi.

Goldee ::

to bo veretn kaksna motorola 86 hc 11?
And Now for Something Completely Different...

-two things I like about UK -Monty Python & Pink Floyd-

Quikee ::

Take programe za pisat smo mi dobli pri ORA v 1. letniku FERI.

Goldee ::

hocem rect 68hc11..

Mediator ::

za CISC procesorje...:8)

BluPhenix preveč napreden si za mene!Drugače pa hvala!

BluPhenix ::

Ja 68hc11 :) bravo :).

Counter odvisno kakšen assembler ste uporabljali, kje si dobil to nalogo?

Mediator ::

Tole je program za sestevek 6 stevil, zelo primitiven. Zdaj me pa še poleg onega programa zgoraj zanima kak se da Dolžino polja shranit na skladu ?

LOCO 1
STOD 150
ADDD 200
stod 200
LOCO 2
STOD 151
ADDD 200
stod 200
LOCO 3
STOD 152
ADDD 200
stod 200
LOCO 4
STOD 153
ADDD 200
stod 200
LOCO 5
STOD 154
ADDD 200
stod 200
LOCO 6
STOD 155
ADDD 200
stod 200

Mediator ::

Tak, tukaj sta obe dve nalogi:

CISC - prva naloga
V zbirniku podanem na vajah napišite program, ki izračuna vsoto elementov polja. Začetek polja je na naslovu 150, v polju naj bo 6 poljubnih števil (vi jih napišete v programu). Dolžino polja shranite na skladu. Rezultat (vsoto) naj zapiše na naslov 200. Program stestirajte na simulatorju.
V tej nalogi izjemoma ni potrebno uporabljati skokov - števila seštejete tako, da napišete program, ki namesto zanke pač vsebuje 6 ADDD ukazov.


CISC - Druga naloga
V zbirniku, ki ste ga spoznali na predavanjih, napišite program, ki na sklad shrani vrednosti od 1 do n (n predtem prebere iz sklada).
Program naj nato na lokacijo 60 zapiše vsoto tistih števil, ki so večja od x (x prebere iz pomnilniške lokacije 55)
Program stestirajte na simulatorju.


TULE JE PA SIMULATOR Simulator

Zgodovina sprememb…

  • spremenilo: Mediator ()

Goldee ::

resitev:::

start
LDAA grem_se_ucit_ker_je_dobro_zame
STAA v_glavo
BEQ znam
JMP ucim_se_znova

glej ce smo mi dali to skoz bos tudi ti. in dobro je zate da se naucis asemblerja ker ti bo to koristilo. kaj ti pomaga ce ti jaz zdaj to resim (ali kdo drug)?

Mediator ::

Polde, predobro vem da mi bo koristlo, ampak danes me je kr stisnalo ko sn vido da morem oddat do 12 ure. Ponavadi vse naloge rešim še prvi dan, zdajle pa res nimam časa za preštudirat zadeve.Hvala ker pomagate

Quikee ::

"Zdaj me pa še poleg onega programa zgoraj zanima kak se da Dolžino polja shranit na skladu ?"
ja easy...
LOCO 10
PUSH
pa ga mas v skladu

Quikee ::

Probaj to... za prvi del naloge...

01: LOCO 10 // nastavis stevilo ponavljanj
02: PUSH // shranis v sklad


// zacetek
03: POP // vzemes stevilo ponavljanj iz sklada
04: STOD 30 // shranis na lokacijo 30 v pomnilnik

05: LOCO 1 // v AC shranis 1
06: PUSH // das AC v sklad
07: STOD 20 // 1 shranis na lokacijo 20 .. stevec

08: LOCO 1 // v AC shranis 1
09: ADDL 1 // iz SP+1 pristejes AC rezultat v AC
10: PUSH // AC shranis na sklad
11: LOCO 1 // nalozis v AC vrednost 1
12: ADDD 20 // pristejes 1 stevcu
13: STOD 20 // shranis povecan stevec nazaj na lokacijo 20
14: SUBD 30 // odstejes od stevila ponavljanj
15: JNZE 08 // skoci v primeru AC != 0

Mediator ::

Quikee:
"
Zdaj me pa še poleg onega programa zgoraj zanima kak se da Dolžino polja shranit na skladu ?"
ja easy...
LOCO 10
PUSH
pa ga mas v skladu"


To mi da v sklad stevilo 10, kak bi pa dobil stevilo stevil v polju iz prve naloge?(probal sem z addl pa neka ne a štima)
tukaj je samo program, kam bi mogu pol vstavit števc?
LOCO 1
STOD 150
ADDD 200
stod 200
LOCO 2
STOD 151
ADDD 200
stod 200
LOCO 3
STOD 152
ADDD 200
stod 200
LOCO 4
STOD 153
ADDD 200
stod 200
LOCO 5
STOD 154
ADDD 200
stod 200
LOCO 6
STOD 155
ADDD 200
stod 200


2.)
Glede druge naloge:lepo si se potrudu,res hvala,se prav še zaj rabim še zaj da mi sešteje števila, kis o večja od števila na poziciji 55.

Zgodovina sprememb…

  • spremenilo: Mediator ()

Quikee ::

prvi del naloge:
V zbirniku, ki ste ga spoznali na predavanjih, napišite program, ki na sklad shrani vrednosti od 1 do n (n predtem prebere iz sklada).

Glede na ta primer ko si ga dal ne mores naredit za n ponavljanj. Naloga pa pravi n pred tem preberes iz sklada... torej moras tukaj naredit:
POP
STOD recimo 30
torej iz sklada preberes... in shranis v pomnilnik na lokacijo 30.

Da pa preveris v simulatorju pa mores vrednost n shranit najprej na sklad... samo to ni del samega programa ampak inicializacija.. torej:
LOCO 10
PUSH
torej na sklad das 10... oz. s tem je misljeno n=10 oz. 10 ponavljanj.

To se le dobro nauci... in tudi resevat na list... mi smo mogli podoben program napisat na izpitu!

EDIT:

Aja to oboje sem jaz ze napisal v mojem programu:
01: LOCO 10 // nastavis stevilo ponavljanj
02: PUSH // shranis v sklad

// zacetek
03: POP // vzemes stevilo ponavljanj iz sklada
04: STOD 30 // shranis na lokacijo 30 v pomnilnik

vrjetno bi se se dalo izboljsat ali pa ni cisto prav... jaz sem ze malo izven prakse ker je dolgo od tega ko sem pisal v tem zbirniku. Preizkusi ce dela v simulatorju.

Lahko pa vrednost n pustis v skladu.. jaz sem jo zapisal posebej na pomnilnisko lokacijo ker je pomoje lazje. Potem pa bi res moral uporabit kak LODL ali ADDL ukaz. Samo nikjer ne pise da ne smes naredit na tak nacin oz. da se vrednost n na koncu programa se vedno more nahajat v skladu.

Zgodovina sprememb…

  • spremenil: Quikee ()

Bockor ::

Counter, ker vidim (po nalogah) da si mi sošolec na feriju, te prosim, če mi pomagaš pri tvoji c++ nalogi z datotekami za katero si že spraševal(podčrtaj besede ki se n krat ponavljajo). Enkrat sem ti že poslal zasebno sporočilo vendar ni bilo odgovora.:8)
Jaz ti pa lahko pomagam pri zbirniku, saj smo glih danes to delali z kolegom.
LP


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[ASM] Pomoč, ne najdem napake

Oddelek: Programiranje
51028 (904) c0dehunter
»

Programiranje v zbirniku - potrebujem pomoč

Oddelek: Programiranje
51635 (1572) St@jler
»

Zbirnik!

Oddelek: Programiranje
81662 (1397) Gundolf
»

razumevanje programa-pomoč

Oddelek: Programska oprema
5857 (772) house
»

[Naloga] Arhitektura CISC -> programiranje

Oddelek: Programiranje
81323 (1162) Quikee

Več podobnih tem