Re: Automodyfikacja kodu programu

Autor: Maciej W. Rozycki (macro_at_macro.ds2.pg.gda.pl)
Data: Mon 28 Apr 1997 - 20:36:33 MET DST


On 27 Apr 1997, Bogdan Gajewski wrote:

> > Zwroc uwage, ze w procesorach Pentium i nowszych, w przypadku
> modyfikacji
> > adresu liniowego znajdujacego sie w obrebie kolejki pobranych rozkazow,
> > jest ona uniewazniana. Nie dotyczy to sytuacji, gdy adres fizyczny
> > modyfikowanego obszaru pamieci znajduje sie w obrebie kolejki pobranych
> > rozkazow, zas adres liniowy -- nie.
> >
> Nie rozumiem .Czy muglbys dokladniej wyjasnic w jakich warunkach
> nastepuje uniewarznienie kolejki.

 Nie wiem czy dokladniej, ale innymi slowami:

 Jezeli procesor wykryje, ze aktualnie wykonywany rozkaz pisze do pamieci,
do obszaru, z ktorego pobral kolejne instrukcje do wykonywania, to kolejka
rozkazow jest czyszczona. Sprawdzenie nastepuje wedlug adresow liniowych,
a nie fizycznych. Znaczy to tyle, ze jezeli do owego obszaru dobierzesz
sie przy uzyciu innego adresu liniowego niz wynikajacy ze zsumowania
adresu bazowego segmentu kodu i przesuniecia wewnatrz tego segmentu, to
taka zmiana nie zostanie wykryta i kolejka nie zostanie uniewazniona.

--
+  Maciej W. Rozycki, Technical University of Gdansk, Poland   +
+--------------------------------------------------------------+
+        e-mail: macro_at_ds2.pg.gda.pl, PGP key available        +


To archiwum zostało wygenerowane przez hypermail 2.1.7 : Tue 18 May 2004 - 16:03:54 MET DST