Re: Cudno ponasanje programa ponekad i par pitanja
Ako funkcija mozda prihvata argumente ili vraca vrijednost, onda ovo takodje nije u redu. Prva cetiri argumenta se proslijedjuju kroz r0-r3 i vrijednost se vraca kroz r0 (naravno pod pretpostavkom da rezultat moze stati u jednu rijec. Ako nemate pametnije ideje, izvrsavajte Vas kod korak po korak (osim funkcija iz biblioteke). Sigurno cete naici na mjesto gdje dolazi do problema. Ako kojim slucajem dolazi do greske nakon poziva neke od funkcija iz biblioteke, jedini razlog moze biti velicina bafera koji proslijedite ili eventualno ako je proslijedjena pogresna adresa pocetka bafera u koji ce se smjestiti naziv fajla.
Provjerite da Vam se negdje ne desi da nesto stavite na stek, ali ne skinete i obrnuto.
Pozdrav,
Sasa
--- On Sat, 5/28/11, Marko Laušin 08/0052 <lm080052d@student.etf.rs> wrote:
From: Marko Laušin 08/0052 <lm080052d@student.etf.rs>
Subject: Re: [ir3sp] Cudno ponasanje programa ponekad i par pitanja
To: ir3sp@rti.etf.rs
Date: Saturday, May 28, 2011, 12:44 PM
Povecao sam svcStack i dataAbortStack da budu po 256kB, i za svaki
poziv iz asemblera funkicje pisane na C-u koristio sam:
push {r0, r1, r2, r3, r9, r12, lr}
bl cFunkcija
pop {r0, r1, r2, r3, r9, r12, lr}
medjutim opet mi se javlja sledeci ispis:
Unesite rec [max 255 znakova]:test_program2.bin
Out string: test_program2.bin
Out [L]: 1, 00000001h, 1
Out [L]: 2, 00000002h, 2
Out [B]: 0, 00h, 0
Kraj rada.
Kraj rada.
Kraj rada.
Out [B]: 0, 00h, 0
Kraj rada.
Kraj rada.
Kraj rada.
Unesite cio broj [rec]:
Prva 2 reda u ispisu su ok, to ispisuje identifikatore fajlova, ali vec
od treceg reda ne valja.
Na fajl koji predstavlja disk iskopirano je samo prvih 512B.
On Fri, 27 May 2011 23:49:19 -0700 (PDT), Sasa Stojanovic
<stojsasa@yahoo.com> wrote:
> Pretpostavljam da ili je stek premali, pa dolzi do prepunjavanja
> steka ili negdje niste sacuvali cjelokupan kontekst. Pronadjite u
> dokumentaciji za kompajler koji registri se sigurno cuvaju u C
> funkcijama, a koji se potencijalno mijenjaju, pa provjerite da li ste
> na svakom mjestu gdje ste iz asemblera pozivali funkciju napisanu na
> C-u pred poziv obezbjedili cuvanje registara koji se potencijalno
> mijenjaju i po povratku izvrsili restauraciju registara koji se
> potencijalno koriste.
>
> Pozdrav,
> Sasa
>
> --- On FRI, 5/27/11, MARKO LAUŠIN 08/0052 __ wrote:
>
> From: Marko Laušin 08/0052
> Subject: [ir3sp] Cudno ponasanje programa ponekad i par pitanja
> To: ir3sp@rti.etf.rs
> Date: Friday, May 27, 2011, 11:09 PM
>
> Postovani,
>
> u cemu moze biti problem ako se program ponekad ponasa cudno, npr.
> desava mi se da ispise po 2-3 reda "Kraj rada"
> ali da posle toga nastavi da se izvrsava i da se zavrsi kako treba?
>
> Takodje, malopre mi se desilo da pokusam da izvrsim neki test fajl,
> koji je pre toga radio normalno, nekoliko puta za redom je stigao do
> kopiranja iz fajla na "disk", i tu poceo cudno da se ponasa: ispisao
> je par uta "Kraj rada", zatim nekakav ceo broj, i na kraju mi trazio
> da ucitam ceo broj. Posle par pokusaja proradio je normalno, i sad ne
> mogu da reprodukujem prethodnu situaciju.
>
> Napominjem da sam pri testiranju uvek pokretao nove terminale, a one
> iz prethodnog testa iskljucivao, pa bi trebalo da nije ostalo nista u
> cevima.
>
> Takodje, interesuje me sta oznacava to "Kraj rada" sto se pojavljuje
> ponekad pri pokretanju srv.elf, i da li postoji nekakav drugi nacin da
> se iskljuci program srv.elf osim nasilnog gasenja terminala u kome je
> pokrenut?
>
> Unapred zahvalan
> Marko
>
> -----------------------------------------------------------------
> unsubscribe:
> minimalist@rti.etf.rs [1]?subject=unsubscribe%20ir3sp
> -----------------------------------------------------------------
>
>
>
> Links:
> ------
> [1] http://mail.student.etf.rs/mc/compose?to=minimalist@rti.etf.rs
-----Inline Attachment Follows-----
-----------------------------------------------------------------
unsubscribe:
minimalist@rti.etf.rs?subject=unsubscribe%20ir3sp
-----------------------------------------------------------------
Provjerite da Vam se negdje ne desi da nesto stavite na stek, ali ne skinete i obrnuto.
Pozdrav,
Sasa
--- On Sat, 5/28/11, Marko Laušin 08/0052 <lm080052d@student.etf.rs> wrote:
From: Marko Laušin 08/0052 <lm080052d@student.etf.rs>
Subject: Re: [ir3sp] Cudno ponasanje programa ponekad i par pitanja
To: ir3sp@rti.etf.rs
Date: Saturday, May 28, 2011, 12:44 PM
Povecao sam svcStack i dataAbortStack da budu po 256kB, i za svaki
poziv iz asemblera funkicje pisane na C-u koristio sam:
push {r0, r1, r2, r3, r9, r12, lr}
bl cFunkcija
pop {r0, r1, r2, r3, r9, r12, lr}
medjutim opet mi se javlja sledeci ispis:
Unesite rec [max 255 znakova]:test_program2.bin
Out string: test_program2.bin
Out [L]: 1, 00000001h, 1
Out [L]: 2, 00000002h, 2
Out [B]: 0, 00h, 0
Kraj rada.
Kraj rada.
Kraj rada.
Out [B]: 0, 00h, 0
Kraj rada.
Kraj rada.
Kraj rada.
Unesite cio broj [rec]:
Prva 2 reda u ispisu su ok, to ispisuje identifikatore fajlova, ali vec
od treceg reda ne valja.
Na fajl koji predstavlja disk iskopirano je samo prvih 512B.
On Fri, 27 May 2011 23:49:19 -0700 (PDT), Sasa Stojanovic
<stojsasa@yahoo.com> wrote:
> Pretpostavljam da ili je stek premali, pa dolzi do prepunjavanja
> steka ili negdje niste sacuvali cjelokupan kontekst. Pronadjite u
> dokumentaciji za kompajler koji registri se sigurno cuvaju u C
> funkcijama, a koji se potencijalno mijenjaju, pa provjerite da li ste
> na svakom mjestu gdje ste iz asemblera pozivali funkciju napisanu na
> C-u pred poziv obezbjedili cuvanje registara koji se potencijalno
> mijenjaju i po povratku izvrsili restauraciju registara koji se
> potencijalno koriste.
>
> Pozdrav,
> Sasa
>
> --- On FRI, 5/27/11, MARKO LAUŠIN 08/0052 __ wrote:
>
> From: Marko Laušin 08/0052
> Subject: [ir3sp] Cudno ponasanje programa ponekad i par pitanja
> To: ir3sp@rti.etf.rs
> Date: Friday, May 27, 2011, 11:09 PM
>
> Postovani,
>
> u cemu moze biti problem ako se program ponekad ponasa cudno, npr.
> desava mi se da ispise po 2-3 reda "Kraj rada"
> ali da posle toga nastavi da se izvrsava i da se zavrsi kako treba?
>
> Takodje, malopre mi se desilo da pokusam da izvrsim neki test fajl,
> koji je pre toga radio normalno, nekoliko puta za redom je stigao do
> kopiranja iz fajla na "disk", i tu poceo cudno da se ponasa: ispisao
> je par uta "Kraj rada", zatim nekakav ceo broj, i na kraju mi trazio
> da ucitam ceo broj. Posle par pokusaja proradio je normalno, i sad ne
> mogu da reprodukujem prethodnu situaciju.
>
> Napominjem da sam pri testiranju uvek pokretao nove terminale, a one
> iz prethodnog testa iskljucivao, pa bi trebalo da nije ostalo nista u
> cevima.
>
> Takodje, interesuje me sta oznacava to "Kraj rada" sto se pojavljuje
> ponekad pri pokretanju srv.elf, i da li postoji nekakav drugi nacin da
> se iskljuci program srv.elf osim nasilnog gasenja terminala u kome je
> pokrenut?
>
> Unapred zahvalan
> Marko
>
> -----------------------------------------------------------------
> unsubscribe:
> minimalist@rti.etf.rs [1]?subject=unsubscribe%20ir3sp
> -----------------------------------------------------------------
>
>
>
> Links:
> ------
> [1] http://mail.student.etf.rs/mc/compose?to=minimalist@rti.etf.rs
-----Inline Attachment Follows-----
-----------------------------------------------------------------
unsubscribe:
minimalist@rti.etf.rs?subject=unsubscribe%20ir3sp
-----------------------------------------------------------------
- Follow-Ups:
- Re: Cudno ponasanje programa ponekad i par pitanja
- From: Marko Laušin 08/0052 <lm080052d@student.etf.rs>
- Re: Cudno ponasanje programa ponekad i par pitanja
- References:
- Re: Cudno ponasanje programa ponekad i par pitanja
- From: Marko Laušin 08/0052 <lm080052d@student.etf.rs>
- Re: Cudno ponasanje programa ponekad i par pitanja
Previous by date: Re: Cudno ponasanje programa ponekad i par pitanja
Next by date: Re: Cudno ponasanje programa ponekad i par pitanja
Previous by thread: Re: Cudno ponasanje programa ponekad i par pitanja Next by thread: Re: Cudno ponasanje programa ponekad i par pitanja
Previous by thread: Re: Cudno ponasanje programa ponekad i par pitanja Next by thread: Re: Cudno ponasanje programa ponekad i par pitanja