Najdlhsi program na reset ZX Spectra
(zabavny prispevok od mikezt)
------------------------------------
Vo svojich programoch budete mozno niekedy potrebovat funkciu RESET. Ja som vytvoril najdlhsi program na tuto uzitocnu funkciu. Program skutocne vyuziva do posledneho bitu celu pamat, od adresy 16384 (#4000) az po 65535 (#ffff). Tu je zdrojovy text:
ld hl,RESET
ld de,16384
push de
ld bc,RESETLEN
ldir
ret
RESET ld hl,16384+RESETLEN
ld d,h
ld e,l
inc e
ld bc,(65536-16384+RESETLEN)
ld (hl),0
ldir
RESETLEN equ $-RESET
Ako je vidiet, program nie je relokovatelny, ale moze sa prelozit na lubovolne miesto v pamati od 16384+RESETLEN az po 65535-RESETLEN-13. Pre majitelov 128ciek by som doporucil na zaciatok doplnit OUT 32765,16, aby sa im po resete objavila prva stranka a prva videoram. Mozno si hovorite, to nie je mozne, tychto par riadkov zdrojoveho textu sa hrdo nazyva najdlhsi program na reset ZX Spectra? Ano, vazeny priatelia, je to tak. Program totiz sam o sebe nie je tym programom, ktory reset vykonava, ale iba jeho generatorom. Program si pozorne prestudujte a ak vam nic nehovori, vyskusajte si ho krokovat vo svojom oblubenom monitore strojoveho kodu.
Prajem vam vela uspesnych resetov vasho milacika a tiez vasho ZX Spectra.
mikezt