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

Pavel Troller patrol na sinus.cz
Pátek Červen 11 09:24:46 CEST 2010


Zdravím,
  měl bych tu malý kviz pro znalce assembleru/strojního kódu.
  Zkuste pro váš oblíbený CPU (ne každý to ale asi zvládne, viz dále) vymyslet
řešení následující úlohy (řešení znám např. pro architektury Z80 nebo I8080).
  Zadání: Mějme von Neumannovu architekturu (tj. společná programová a datová
paměť) a adresní prostor zcela zaplněný pamětí RAM (uvažujme například 
klasický 64kB prostor osmibitového CPU), která není chráněna proti zápisu.
Tento stav může nastat např. bootem nějakého OS (např. CP/M) z ROM do RAM
a následně odstránkováním ROM.
  Cílem je sestrojit program, který celou RAM vymaže, a to včetně sebe sama,
tedy tak, že v paměti RAM budou samé nuly. Nesmí zbýt jediný nenulový byte.
Konečným stavem tedy (na výše zmíněných architekturách) bude to, že CPU bude
po "skončení" (vymazáním sebe sama) programu probíhat zcela prázdnou pamětí
stále dokola a vykonávat instrukce NOP (které mají u výše uvedené architektury
kód 00). Jiné podmínky nejsou dány. Pokud chcete, můžete si zadání upravit tak,
že paměť nebude vyplněna nulami, ale takovým kódem, který representuje
instrukci NOP nebo jinou neškodnou instrukci vámi použitého procesoru :-).

  Zdraví Pavel.


More information about the Hw-list mailing list