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

Jan Kral kral na fortech.cz
Pátek Červen 11 17:47:33 CEST 2010


Na adrese 0000 umistit push registru HL, ktery obsahuje 0 a za to rjmp na 0. Zacit se zasobnikem na nejvyssi adrese a tim dojde i ke smazani obou techto instrukci kdyz dojde zasobnik az k nim, protoze obe maji delku 1 bytu ( u toho push HL to sice jen predpokladam, ale i kdyby byl 2 byty, tak by to nevadilo, protoze by se nejdriv prepsala instrukce rjmp a pri pristim behu by se prepsal i ten push) a push HL uklada byty 2

S pozdravem JK

> -----Original Message-----
> From: hw-list-bounces na list.hw.cz [mailto:hw-list-bounces na list.hw.cz] On
> Behalf Of Miroslav Šinko
> Sent: Friday, June 11, 2010 11:00 AM
> To: HW-news
> Subject: Re: CPU kvízeček na páteček :-)
> 
> 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 :-(
> 
> miro
> 
> 
> 2010/6/11 Pavel Troller <patrol na sinus.cz>:
> > Zdravím,
> >  to nefunguje. Instrukce LDIR a LDDR se v průběhu cyklu opakovaně
> načítají.
> > Pokud instrukce sama sebe poškodí (je dvoubajtová, např. LDIR=EDB0),
>> > nedokáže smazat zbývající byte. Takže bez doplnění nějakým dalším
> kódem ne-eee.
> >  Pavel
> >
> >> Pre Z80 ma narychlo napadla instrukcia LDDR...
> >>
> >> miro
> >>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list


More information about the Hw-list mailing list