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

Re: Domaci pitanja

by ivan dan
nedelja, 01. jun 2008 - 10:15.


R1 se javlja kod instrukcije jz ako u istom modulu skocis u drugi segment, RS1 isto kod jz ako u jednom modulu imas skok na labelu koja nije definisana u tom modulu(eksterni simbol). Ako skaces u okviru istog segmenta onda nema relokacije jer ti zapisujes pomeraj a ne vrednost adrese na koju skaces pa ce taj pomeraj uvek biti isti gde god relocirao segment.
npr:
extern simbol1
segment txt
jz simbol2 (sadrzaj na lokacijama 2 i 3h nije relokativan jer je skok u isti segment , 0 i 1 adrese su kod instrukcije jz)
jz simbol1 (sadrzaj na 6 i 7 je relokativan tipa RS1)
jz simbol3 (sadrzaj na adresama A,Bh je R1 relokativan)
simbol2: push ax

segment dat
simbol3: dw 1
end

Pozdrav.


----- Original Message ----
From: Ivan Mitic <mitkebgd@gmail.com>
To: ir3sp@rti.etf.bg.ac.yu
Sent: Sunday, June 1, 2008 7:00:01 AM
Subject: Re: [ir3sp] Domaci pitanja

I jos jedno pitanje:

1. Jel neko koristio relokacije tipa R1 i AR1? Na predavanjima ne postoji ni jedan primer sa njima, osim sto se pominju. Nije skroz jasno kako bi se to realizovalo. Jel treba praviti ove relokacije samo za uslovni skok (jz)? Da li ih je potrebno praviti u slucaju da se skace u okviru istog segmenta? I kako bi ustvari izgledao uslovni (relativni) skok na lokaciju funkcije u drugom modulu, jel bi se opet koristila labela?

Ovde bi kratak primer stvarno dobro dosao:)

Pozdrav,

Ivan