Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

HITNO POMOC!

[es] :: Asembler :: HITNO POMOC!

[ Pregleda: 3375 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

nen@d
Nenad Tosic
Corby, England

Član broj: 10396
Poruke: 1
*.server.ntli.net



Profil

icon HITNO POMOC!27.05.2003. u 03:20 - pre 254 meseci
Cao,

Ljudi stvarno mi je potrebna pomoc. Da ne duzim problem je sljedeci. Treba da napracim ovo sto vidite ispod, a nemam balge veze kako jer nisam bijo prisutan dok se to radilo u skoli...



Molim sve one koji mogu da pomognu.. i ako je moguce da mi napisu code da broji od 00 do 99 ...

Hvala svima unapred...

Pozdrav!
...:::nenad---2oo3:::...
 
Odgovor na temu

tOwk
Danilo Šegan
Zemun/Beograd

Član broj: 94
Poruke: 2743
*.beograd-3.tehnicom.net

ICQ: 9344053
Sajt: alas.matf.bg.ac.yu/~mm011..


+2 Profil

icon Re: HITNO POMOC!27.05.2003. u 03:34 - pre 254 meseci
Zbog nepotpune formulacije, posmatraću problem ovako:
— traži se x86 asembler
— ne zna se na kom operativnom sistemu se radi
— nije jasno šta znači „broji“

Ovo je onako napamet, ponešto ćeš morati da izmeniš (naročito pošto dugo nisam koristio asembler, pa sam sigurno mnogo „tehničkih“ detalja omašio):
Code:

xor cx,cx
mov ax,100
:CIRKUS
CALL ispisi_cx
inc cx
cmp ax,cx
jnz CIRKUS


Umesto „CALL ispisi_cx“ treba da staviš neku funkciju koja će da ispiše CX registar, npr. pomoću DOS-ovih int 21h funkcija, ili već kako ti je volja.

Takođe, nezgodno je tražiti nekome da zadatak „reši“ zato što ti nisi „bio prisutan dok se to radilo u školi“.
Možda se moje mišljenje promenilo, ali ne i činjenica da sam u pravu.
 
Odgovor na temu

-zombie-
Tomica Jovanovic
freelance programmer
ni.ac.yu

Član broj: 4128
Poruke: 3448
*.dial.InfoSky.Net

Sajt: localhost


+5 Profil

icon Re: HITNO POMOC!27.05.2003. u 04:46 - pre 254 meseci
ja bi rekao da ima više šanse da mu pomogne primer u motorolinom mc68k asembleru..

i ja sam malo zarđao, zato ne zamerite na greškama..

Code:

        MOV.W   #0, D2
LOOP    BSR     ISPISI
        ADDQ    #1, D2
        CMPI.W  #99, D2
        BNE     LOOP



isto što ti je towk rekao važi za subrutinu ISPISI .. moraćeš da je sam pišeš.. ili mi to nismo učili na času, ili sam i ja bio odsutan taj dan.. ;)

PS, kod ima jednu namernu grešku.. na tebi je da je nađeš.. moraš i ti nešto da naučiš usput.. inače, ne bi bilo fer ;)

PPS, sad sam video ustvari da on nije ni tražio ispis, tako da ta subrutina ISPISI ne mora ništa da radi..

Code:

ISPISI  RTS

 
Odgovor na temu

srki
Srdjan Mitrovic
Auckland, N.Z.

Član broj: 2237
Poruke: 3654
*.ihug.net



+3 Profil

icon Re: HITNO POMOC!27.05.2003. u 15:46 - pre 254 meseci
A mozda je mislio na assembly od MIPS procesora jer se i to radi pored motorole na univerzitetima u inostranstvu. Uglavnom se radi u prvoj ili drugoj godini assembly od motorole a sledece godine od mips-a. Ne verujem da je hteo assembly od x86 jer je iz Engleske a ne verujem da se tamo radi assembly za taj procesor, osim mozda ako je u nekoj srednjoj skoli gde se to radi kao kod nas u mg.

move $a0,$zero #inicijalizacija brojaca
addi $t1,$zero, 100 #takodje

loop:
addi $t1,$t1,-1

addi $v0,$zero,1 #ispisivanje rezultata
syscall

bgtz $t1, loop #ako je $t1 >0 onda skoci na loop:
addi $a0,$a0,1
#prethodnu komandu ce UVEK da izvrsi bez obzira da li skace na loop ili ne
#izgleda cudno ali ako nekome treba objasnjenje zasto je to tako neka pita

exit: jr $ra #izlaz iz programa

Ovo sam mogao da uradim i sa samo jednim brojacem ali verovali ili ne ovako je brze zbog pipeline-a. Inace od 486 procesora je i intel uveo pipeline pa je zaista bolje koristiti sto vise registara da ne bi neka naredba cekala na prethodnu da se izvrsi jer joj treba rezultat te naredbe, tako da i Danilov primer moze da se ubrza. Inace zbog superskalarnosti i pipeline danas ce kompajleri maltene uvek dati bolji kod nego da rucno to kodiramo u asembleru jer je tesko voditi racuna o tome koliko naredbi se izvrsava u isto vreme i kolika je velicina pipeline-a, velicina casha itd... Inace jump i branch naredbe najvise usporavaju program jer procesor ne zna unapred koja naredba ce da se izvrsava pa moze da pogresi i krene da izvrsava naredbu koju ne treba dok se izvrsava branch naredba.


[Ovu poruku je menjao srki dana 08.06.2003. u 04:12 GMT]
 
Odgovor na temu

srki
Srdjan Mitrovic
Auckland, N.Z.

Član broj: 2237
Poruke: 3654
*.ihug.net



+3 Profil

icon Re: HITNO POMOC!31.05.2003. u 04:49 - pre 254 meseci
Nenade, je l' ti pomogao neki odgovor? Za koji procesor hoces kod?
 
Odgovor na temu

[es] :: Asembler :: HITNO POMOC!

[ Pregleda: 3375 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.