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

Pavel Troller patrol na sinus.cz
Pátek Červen 11 11:09:42 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 :-(
> 

Zdravím,
  tedy pánové, ty vaše nápady jsou složité jak LHC :-). Napovím:
Pro Z80 má řešení (včetně úplné inicializace) 3 řádky v asm.
  Pavel


More information about the Hw-list mailing list