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