himik
Ну, полностью код писать не буду. Наводку даю:
(я так понимаю, что это требуется под DOS)
Способ 1.
Используем прерывние
10h (видео) функции скроллирование прямоугольной области экрана.
Если в
ah записать число
06h, то скроллинг осуществляется вверх, а если
07h, то - вниз. Остальные аргументы одинаковы для обеих функций.
ch, cl - соответственно номера строки и колонки левого верхнего угла области скроллинга, (для всего экрана эти координаты 0 и 0)
dh, dl - номера строки и колонки правого нижнего угла области скроллинга,
al - количество строк, на которое нужно произвести сдвиг,
bh - видео атрибут (цвет символа и фона) для заполнения пустого места, например 07h - светло серый символ на черном фоне.
Способ 2.
Прямое обращение к видеопамяти.
Код:
![Выделить весь код](images/misc/selectcode.png)
*push ds
*mov *ax,0B800h
*mov *ds,ax
*mov *ax, Y
*mul *160
*add *ax, X
*add *ax, X
*mov *dx,[ax]
*sub *ax, 160 ; для сдвига вверх
*add *ax, 160 ; для сдвига вниз
*mov *[ax],dx
*pop *ds
[s]Исправлено:
shurikan, 4:41 18-11-2003[/s]