Re: CPU kvízeček na páteček :-)

Miroslav Šinko sinkomiro na gmail.com
Pátek Červen 11 11:07:48 CEST 2010


2010/6/11 Miroslav Šinko <sinkomiro na gmail.com>:
> Aha, no...
> napadlo ma iny sposob so zasobnikom, ale tiez to este nemam domyslene:
> -na adresu FFFD dat instrukciu CALL 0 (t.j. byty CD 00 00), ktora sa
> vykona ako posledna. Aktualny PC, ktory sa bude ukladat na zasobnik
> bude 0.
> -kedykolvek predtym nastavit SP na FFFE, t.j. ten CALL sposobi, ze sa
> CD na adrese FFFD a este 1 byte na adrese FFFC prepisu nulami
> Toto umozni mat este jednu 1-bytovu instrukciu pred CALL. Teraz uz len
> domysliet ten kod, ktory premaze celu RAM vratane seba, okrem
> poslednej instrukcie... DJNZ je svina 2-bytova :-(

To by mozno ani nemuselo vadit.. Nie som si tym vobec isty, ale mat
cyklus, ktory by mazanie skoncil adresou FFFB (teda kod 10h instrukcie
DJNZ). Na uz zmienenej adrese FFFC by bol 2. byte instrukcie DJNZ
(offset skoku), ten by sa uz prepisal CALL-om. Jedine fakt teraz
neviem, ci by nezblblo vykonavanie DJNZ, keby sa jej podkopal prvy
byte... Simulator teraz nemam :-(

miro


More information about the Hw-list mailing list