[ n1tr0 @ 31.03.2006. 06:56 ] @
Na fax-u smo u ovom semestru poceli sa asemblerom(AT&T sintaksa), pa me zanima sledece:
shvatio sam kako funkcionise stek, medjutim imam jedan problem - sta treba napisati kada prosledjujem adresu niza steku(push pa sta?).

Npr ako imam sledece:
Code:

.section .data
niz:   .long 10
        .long 15
        .long 4
        .long 576
        .long 66


E sada kada zelim da prosledim adresu niza na stek ako uradim
Code:
push niz
on prosledi prvu vrednost, a ako uradim
Code:
push $niz
opet prosledi pogresno.
[ Mikky @ 31.03.2006. 16:32 ] @
Code:

push offset niz

ili
Code:

lea eax, niz
push eax


Ovo prvo obicno koristis ako je niz promenljiva u .data sekciji, a ovo drugo mora da se koristi ako je niz u nekoj dinamickoj memoriji (tj ta memorija moze posle da se oslobodi ili promeni), npr lokalne promenljive u okviru procedure.
[ n1tr0 @ 01.04.2006. 18:28 ] @
Malo sam pogresio u kodu programa. Adresa se prosledi sa
Code:
 push $niz 

@Mikky Rekao sam AT&T sintaksa....
[ del-boy @ 02.04.2006. 23:25 ] @
Kolega, neposredno adresiranje ... Malo teorije nije na odmet...

I ja sam razmišljao ispočetka kako to da uradim, ali jedino što je imalo smisla je upravo neposredno adresiranje, pa je i progarilo...

Uglavnom, bitno je da si to rešio...