Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Asm для начинающих > смена активной видео страницы |
Автор: Dreamuchiy 11.11.2011, 23:38 |
меняю видеостраницу функцией 05h прерывания int 10h, страница вроде как меняется и курсор появляется, а текст не выводит, он появляется при возврате на нулевую страницу ! Что делать? |
Автор: iff 13.11.2011, 13:47 |
Какой функцией для вывода текста пользуетесь? |
Автор: Dreamuchiy 15.11.2011, 04:57 |
функция 09h прерывания int 10h..... |
Автор: iff 15.11.2011, 14:38 | ||||
Тогда всё понятно. Эта функция в качестве параметра требует номер страницы в регистре BH. Как решить (вывод белой "*" начерном фоне): 1)
Здесь вначале узнаётся номер активной страницы (если он вам известен заранее, то можно просто написать mov bx,0107h - это для видеостраницы номер 1) 2)
для этой функции не нужен в качестве параметра номер страницы. Она полезна, если осуществляется вывод текста как в консольном приложении. Если вы пишите действительно консольное приложение (пользователь вводит текст, а программа выводит текст), то лучше использовать соответствующиефункции int 21h |
Автор: Dreamuchiy 15.11.2011, 16:20 |
int 21h это же DOSовское ! Я пишу (пытаюсь) мини ОС под себя. |
Автор: iff 15.11.2011, 19:28 | ||
Где указано это в данной теме? Используйте 2 предложенных варианта! |
Автор: Dreamuchiy 15.11.2011, 21:04 | ||
Я попробую ваши варианты ! Большое спасибо за совет ! Но я посмотрел у меня подпрограмма выводящая символ выглядит так:
Программа вызывающая эту подпрограммму заранее заносит номер видеостраницы и символ непосредственно перед её вызовом |
Автор: iff 16.11.2011, 14:24 |
Значит ошибка либо в setcursor, либо данные адрессуются неверно (например регистр ds указывает не на тот сегмент, где video_page). |