Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

8086, LDS / LES: Određivanje segmenta i offseta

[es] :: Asembler :: 8086, LDS / LES: Određivanje segmenta i offseta

[ Pregleda: 2111 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

stameni
Ivan Stamenković

Član broj: 6739
Poruke: 538



+9 Profil

icon 8086, LDS / LES: Određivanje segmenta i offseta09.11.2004. u 15:08 - pre 236 meseci
Prilično dugo u assemblerima koristim ove naredbe, ali mi nije jasno koja se tačno vrednost pomoću njih upisuje u registre. Naime, ako imam objekat na adresi ABCDEh i kažem

Code:
LDS SI, objekat


može biti
Code:
DS = ABCDh, SI = 000Eh,

ali i
Code:
DS = ABCCh, SI = 001Eh,

takođe i
Code:
DS = ABCBh, SI = 002Eh

itd.

Ipak, procesor mora da bira samo jednu kombinaciju. Koju? Da li viših šesnaest bitova adrese ulaze u segmentni registar, a niža četiri u registar opšte namene (tako da je offset minimalan) ili postoji neko drugo pravilo?
 
Odgovor na temu

zvrba
The Lord of Chaos

Član broj: 31716
Poruke: 105
*.fina.hr.



Profil

icon Re: 8086, LDS / LES: Određivanje segmenta i offseta10.11.2004. u 07:27 - pre 236 meseci
Procesor nista ne bira nego samo cita ono sto pise u memoriji.

Tvoj objekat (operand instrukcije) je ADRESA u memoriji. Sa te adrese procesor cita 4 bajta i prva dva bajta spremi u offset registar (npr. SI), a druga dva bajta spremi u segmentni registar (npr. DS za LDS instrukciju).
 
Odgovor na temu

stameni
Ivan Stamenković

Član broj: 6739
Poruke: 538



+9 Profil

icon Re: 8086, LDS / LES: Određivanje segmenta i offseta10.11.2004. u 10:49 - pre 236 meseci
Ah, far pointer, što bi se reklo. Hvala :)
 
Odgovor na temu

[es] :: Asembler :: 8086, LDS / LES: Određivanje segmenta i offseta

[ Pregleda: 2111 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.