<html><body>Nechcete ist nahodou programovat Skype?! Ten pouziva podobne sw prasaciny tak isto...<br><br>A.<br><br><br><br>On Fri, 11 Jun 2010 11:48:10 +0200<br> Pavel Troller <patrol@sinus.cz> wrote:<br>> Zdravím,<br>> jak si to tak v hlavě emuluji, asi je to ono :-)! Program začne <br>>mazat těsně<br>> pod výkonnou smyčkou, napřed tedy umaže svoji ininicalizaci, vlastní <br>>smyčka<br>> má 2 jednobytové instrukce, takže poslední push smaže ten JP a sám <br>>sebe.<br>> Výborně!<br>> Moje řešení je zde:<br>>                 ORG        0FFFAH<br>>FFFA 31                LD        SP,0FFFC<br>>FFFB FC<br>>FFFC FF<br>>FFFD CD                CALL        $<br>>FFFE FD<br>>FFFF FF<br>> Všimněte si, že jsou to opravdu 3 řádky, z toho jedna je dokonce <br>>jen<br>> pseudoinstrukce :-).<br>> Trik je v tom, že instrukce CALL $ na adrese FFFD bude ukládat jako<br>> návratovou adresu 0, čili mazat, a je vlastně jedinou instrukcí <br>>cyklu.<br>> Mazat se začne od adresy FFFB
, čili se smaže kus první instrukce a <br>>jede<br>> se dolů. Po dosažení adresy 0 se SP zawrapuje a smaže operand <br>>instrukce<br>> CALL, poslední CALL tedy bude na adresu 0000 (a dojde k elegantnímu<br>> "odstartování" od začátku prázdné paměti) a poslední uložená <br>>návratová<br>> adresa smaže instrukci CALL a zbytek operandu instrukce LD SP,0FFFAH <br>>:-).<br>> Jednodušeji už to neumím ani já :-).<br>> <br>> Pavel<br>> <br>>> Na 3 teda neviem, ale co toto?<br>>> <br>>> LD HL, navestie<br>>> LD SP, HL<br>>> LD BC, 0<br>>> navestie PUSH BC<br>>> JMP (HL)<br>>> <br>>> miro<br>>> <br>>> <br>>> 2010/6/11 Pavel Troller <patrol@sinus.cz>:<br>>> ><br>>> > Zdravím,<br>>> > tedy pánové, ty vaše nápady jsou složité jak LHC :-). Napovím:<br>>> > Pro Z80 má řešení (včetně úplné inicializace) 3 řádky v asm.<br>>> > P
avel<br>>> _______________________________________________<br>>> HW-list mailing list - sponsored by www.HW.cz<br>>> Hw-list@list.hw.cz<br>>> http://list.hw.cz/mailman/listinfo/hw-list<br>> _______________________________________________<br>> HW-list mailing list - sponsored by www.HW.cz<br>> Hw-list@list.hw.cz<br>> http://list.hw.cz/mailman/listinfo/hw-list<br></patrol@sinus.cz></patrol@sinus.cz></body></html>