Re: poziv funkcije - veeeliko neslaganje
Kada generisete poziv funkcije iza instrukcije call se nalayi relativna
adresa funkcije tj. razlika prave adrese funkcije i trenutne pozicije na
kojoj se nalazi instrukcija call.
Pogledajte primere generisanog koda - projekat samples. Tu mozete naci
primere gde se generise poziv funkcije koji radi. Na primer u fajlu
sample1.Sample.java mozete videti:
current = Code.pc;
Code.put(Code.call);
Code.put2(adrF - current);
Znaci uzima se trenutna pozicija, generise se CALL pa se generise
relativni pomeraj.
Pazite generisu se dva bajta iza instrukcije CALL.
Pozdrav,
Jovan
> checkFunctionCall algoritam ima jednu bitnu razliku u odnosu na ono sto
> ocekuje mjvm (to je ona java VM za mikro javu),
>
> u skripti pise
>
> put(Code.call)
>>
> put4(f.adr);
>>
> a ja sam dobio korektno izvrsavanje tek kada sam napisao:
>
> put(getOpcode("call"));
> put2(fun.getAddress() - (pc-1));
>
> Molim samo potvrdu od asistenta da je greska u skripti (da ne bude posle
> da
> se pojavi neka nova vm kod koje ce ono sto je u skripti napisano da radi
> :)
>
> poz, Milan
>
adresa funkcije tj. razlika prave adrese funkcije i trenutne pozicije na
kojoj se nalazi instrukcija call.
Pogledajte primere generisanog koda - projekat samples. Tu mozete naci
primere gde se generise poziv funkcije koji radi. Na primer u fajlu
sample1.Sample.java mozete videti:
current = Code.pc;
Code.put(Code.call);
Code.put2(adrF - current);
Znaci uzima se trenutna pozicija, generise se CALL pa se generise
relativni pomeraj.
Pazite generisu se dva bajta iza instrukcije CALL.
Pozdrav,
Jovan
> checkFunctionCall algoritam ima jednu bitnu razliku u odnosu na ono sto
> ocekuje mjvm (to je ona java VM za mikro javu),
>
> u skripti pise
>
> put(Code.call)
>>
> put4(f.adr);
>>
> a ja sam dobio korektno izvrsavanje tek kada sam napisao:
>
> put(getOpcode("call"));
> put2(fun.getAddress() - (pc-1));
>
> Molim samo potvrdu od asistenta da je greska u skripti (da ne bude posle
> da
> se pojavi neka nova vm kod koje ce ono sto je u skripti napisano da radi
> :)
>
> poz, Milan
>
- Follow-Ups:
- unsubscribe ri4pp
- From: Vojislav Tanaskovic <tanaskovicvojislav@yahoo.ca>
- unsubscribe ri4pp
- References:
- poziv funkcije - veeeliko neslaganje
- From: "Milan Aleksic" <milanaleksic@gmail.com>
- poziv funkcije - veeeliko neslaganje
Previous by date: poziv funkcije - veeeliko neslaganje
Next by date: Re: Break naredba
Previous by thread: poziv funkcije - veeeliko neslaganje Next by thread: unsubscribe ri4pp
Previous by thread: poziv funkcije - veeeliko neslaganje Next by thread: unsubscribe ri4pp