Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Расчет адреса следующей/предыдущей пиксельной строки экрана, DOWN HL, UP HL — широко используемые при программировании графики процедуры для перехода к следующей и предыдущей пиксельной строке экрана с учётом нелинейной раскладки видеопамяти, то есть с переходом между строками знакомест и третями экрана.
- Из названия процедуры следует, что адрес находится в регистровой паре HL. Также используются варианты этой процедуры для других регистровых пар. Существует несколько версий процедуры, отличающихся размером и быстродействием, а также оформлением в виде подпрограммы или макроса. Время выполнения процедуры зависит от адреса текущей пиксельной строки. В случае реализации функционала в виде отдельной процедуры, условные переходы необходимо заменить на условный возврат (JR Z,EXIT -> RET Z).
- ;В этом варианте процедуры также используется флаг переноса.
- ;Он установлен, если был переход к следующей строке знакомест.
- ;Время выполнения этой версии кода в тактах:
- ; 27 переход в пределах строки знакомест
- ; 49 переход в следующую строку знакомест
- ; 59 переход в следующую треть экрана
- DOWN_HL:
- INC H
- LD A,H
- AND 7
- JR NZ,EXIT ;CY=0
- LD A,L
- ADD A,32
- LD L,A
- JR C,EXIT ;CY=1
- LD A,H
- ADD A,-8
- LD H,A ;CY=1
- EXIT:
- UP_HL:
- LD A,H
- DEC H
- AND 7
- JR NZ,EXIT
- LD A,L
- SUB 32
- LD L,A
- JR C,EXIT
- LD A,H
- ADD A,8
- LD H,A
- EXIT:
Advertisement
Add Comment
Please, Sign In to add comment