«« ( Date ) »» // «« ( Thread ) »» // ir3sp - 2009

Pitanja u vezi projekta - Asemblerske direktive

by Ivan Milenkovic
nedelja, 04. januar 2009 - 20:37.

U opisu pikokompjutera u knjizi Joze Dujmovica stoji da programer moze da eksplicitno zada mesto u memoriji na kome ce se nalaziti neki simbol, asemblerskom direktivom oblika simbol = konstanta.

Takodje u istoj knjizi je opisan nacin adresiranja preko zadavanja adrese simbola kao mesta gde se nalazi operand. Ovo je bitno i koristi se za direktno i indirektno adresiranje, preciznije za definisanje adresa od 0 do 7 u tabeli simbola koje se koriste pri direktnom i indirektnom adresiranju

Na istom mestu je opisan i nacin adresiranja gde se za operand neposredno uzima adresa simbola u memoriji.

Iz ovoga sledi da programer fiksno zadaje lokaciju simbola u memoriji i stara se da se za direktno i indirektno adresiranje koriste samo simboli koji se nalaze na lokacijama od 0 do 7. Medjutim programer moze da definise i proizvoljan broj drugih simbola na proizvoljnom "mestu" u memoriji dok god im pristupa samo poslednje navedenim nacinom adresiranja (tj. dok ne koristi zaista rezervisanu adresu, vec samo vrednost te adrese).

Sa druge strane, direktivama DC i DS je moguce odvojiti jedno ili vise
mesta u memoriji kojima se moze pristupati direktno ili indirektno, ali
se u principu ne zna gde ce biti razmestene u vreme izvrsavanja.

Problem koji nastaje je da se uz pomoc direktiva DC i DS ne moze uticati na lokaciju definisanog simbola, a ni asembler ne moze unapred znati kojim ce se nacinom adresiranja koristiti definisani simbol, od cega u principu zavisi u kom delu memorije treba da rezervise mesto.

Kako razresiti ovaj problem?