DOWNHL a UPHL pro Tesla Ondra

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!