Rutiny DOWNHL a UPHL pro pohyb v adresovém prostoru videoRAM ZX Spectra známe z knihy Assembler a ZX Spectrum od Universuma.
Tyto rutiny se staly defacto standardní součástí vykreslovacích rutin, programátoři na Spectru si na ně zvykli a obejít se bez nich na jiné platformě jim může přijít těžké.
Naštěstí na Ondrovi (Tesla Ondra SPO-186) není vytvoření podobné rutiny těžké.
Kupodivu se ale její ekvivalent neobjevil v Ondra GDK.
Zde předkládaná rutina má tu výhodu, že nepřekročí horní a dolní okraj obrazovky.
DOWNHL ld a,l
rlca
dec a
ret z
rrca
ld l,a
ret
UPHL ld a,l
rlca
inc a
ret z
rrca
ld l,a
ret
Kratší verze s přetečením (co vyjede nahoře objeví se dole, a naopak, ovšem nultý mikrořádek se na Ondrovi z hardwarových důvodů nezobrazuje) by byla:
DOWNHL rlc l
dec l
rrc l
ret
UPHL rlc l
inc l
rrc l
ret
Veselé a dobře prokóděné Vánoce!