Пишу резидента для сохранение текстовой станицы (80*25 симфолов) в файл.
Всё шло хорошо,если брать текстовую информацию с самого начала B800h(собстно адрес начала текст-ой видео памяти) и класть 80*25 символов в файл...т.е. страницу #0
Но задача такова,что надо класть в файл сраницу, номер которой введен пользователем. Пусть номер страницы N. Тогда я ввожу переменную "Ofs" = N*80*25*2.....т.е (номер.стр)*(колич символов страницы)*2(2-т.к. каждому символу в памяти соот-ет еще и атрибут )....И начинаю писать 80*25 символов расположенных по адресу B800:"Ofs"....т.е пропускаю "Ofs" байт в видео памяти .....но четно! когда открываю записанный файл он пуст(хотя в окне доса скролл продвинулся на страниц 5)...NEED HELP!
Текстовая видео память.
Модератор: Andy
пользуясь случаем,передаю привет маме...
Скролл - он на то и скролл. В ДОСе всегда одна видеостраница, по умолчанию она находиться в B800h о чем и сказано выше. При скроле просто идет пермещение в пределах одной видеостраницы (текущей активной). Для переключения видеостраниц есть специальные функции. Т.е. если уж надо захватить пять скоролов то надо брать с одного места, с B800h, только в разные моменты времени. Сам ДОС при скроле страницы не переключает (не имеет права, по большому счету - вдруг я что-то храню в других страницах) и физический адрес текста на экране всегда остаеться неизменным.
It's a long way to the top if you wanna rock'n'roll