Поиск:

Ответ в темуСоздание новой темы Создание опроса
> смена активной видео страницы, не выводит текст 
:(
    Опции темы
Dreamuchiy
Дата 11.11.2011, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 26.12.2006

Репутация: нет
Всего: -1



меняю видеостраницу функцией 05h прерывания int 10h, страница вроде как меняется и курсор появляется, а текст не выводит, он появляется при возврате на нулевую страницу ! Что делать?
--------------------
Мечтаю написать в карман Биллу Гейтсу... Или как минимум посмотреть крах Майкрософт...
PM MAIL   Вверх
iff
Дата 13.11.2011, 13:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Администратор
**


Профиль
Группа: Участник
Сообщений: 949
Регистрация: 23.3.2007

Репутация: 4
Всего: 16



Какой функцией для вывода текста пользуетесь?


--------------------
DOS... Синей пеленой экран заполнил чистый DOS 
Мышь... Стала вдруг квадратной, потеряла форму мышь... 
Я разбил окно, девяностопятое мастдайное окно, 
И поставил DOS, и тогда увидел: Это счастье, — вот оно.  
PM MAIL WWW   Вверх
Dreamuchiy
Дата 15.11.2011, 04:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 26.12.2006

Репутация: нет
Всего: -1



функция 09h прерывания int 10h.....
--------------------
Мечтаю написать в карман Биллу Гейтсу... Или как минимум посмотреть крах Майкрософт...
PM MAIL   Вверх
iff
Дата 15.11.2011, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Администратор
**


Профиль
Группа: Участник
Сообщений: 949
Регистрация: 23.3.2007

Репутация: 4
Всего: 16



Тогда всё понятно. Эта функция в качестве параметра требует номер страницы в регистре BH.
Как решить (вывод белой "*" начерном фоне):
1)
Код

mov ah,0fh
int 10h
mov ax,092ah
mov bh,bl
mov bl,07h
mov cx,1
int 10h

Здесь вначале узнаётся номер активной страницы (если он вам известен заранее, то можно просто написать mov bx,0107h - это для видеостраницы номер 1)
2)
Код

mov ax,0e2ah
int 10h

для этой функции не нужен в качестве параметра номер страницы. Она полезна, если осуществляется вывод текста как в консольном приложении. Если вы пишите действительно консольное приложение (пользователь вводит текст, а программа выводит текст), то лучше использовать соответствующиефункции int 21h


--------------------
DOS... Синей пеленой экран заполнил чистый DOS 
Мышь... Стала вдруг квадратной, потеряла форму мышь... 
Я разбил окно, девяностопятое мастдайное окно, 
И поставил DOS, и тогда увидел: Это счастье, — вот оно.  
PM MAIL WWW   Вверх
Dreamuchiy
Дата 15.11.2011, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 26.12.2006

Репутация: нет
Всего: -1



int 21h это же DOSовское ! Я пишу (пытаюсь) мини ОС под себя. 
--------------------
Мечтаю написать в карман Биллу Гейтсу... Или как минимум посмотреть крах Майкрософт...
PM MAIL   Вверх
iff
Дата 15.11.2011, 19:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Администратор
**


Профиль
Группа: Участник
Сообщений: 949
Регистрация: 23.3.2007

Репутация: 4
Всего: 16



Цитата(Dreamuchiy @  15.11.2011,  16:20 Найти цитируемый пост)
int 21h это же DOSовское ! Я пишу (пытаюсь) мини ОС под себя.  

Где указано это в данной теме?

Используйте 2 предложенных варианта!


--------------------
DOS... Синей пеленой экран заполнил чистый DOS 
Мышь... Стала вдруг квадратной, потеряла форму мышь... 
Я разбил окно, девяностопятое мастдайное окно, 
И поставил DOS, и тогда увидел: Это счастье, — вот оно.  
PM MAIL WWW   Вверх
Dreamuchiy
Дата 15.11.2011, 21:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 26.12.2006

Репутация: нет
Всего: -1



Я попробую ваши варианты ! Большое спасибо за совет ! Но я посмотрел у меня подпрограмма выводящая символ выглядит так:
Код

print:
call setcursor               ;подпрограмма установки позиции курсора
mov ah,09h
mov al,[symb]             ;загружаем символ
mov bh,[video_page]  ;загружаем номер страницы
mov bl,[color_symb]    ;цвет
mov cx,1
int 10h
ret

Программа вызывающая эту подпрограммму заранее заносит номер видеостраницы и символ непосредственно перед её вызовом
--------------------
Мечтаю написать в карман Биллу Гейтсу... Или как минимум посмотреть крах Майкрософт...
PM MAIL   Вверх
iff
Дата 16.11.2011, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Администратор
**


Профиль
Группа: Участник
Сообщений: 949
Регистрация: 23.3.2007

Репутация: 4
Всего: 16



Значит ошибка либо в setcursor, либо данные адрессуются неверно (например регистр ds указывает не на тот сегмент, где video_page).


--------------------
DOS... Синей пеленой экран заполнил чистый DOS 
Мышь... Стала вдруг квадратной, потеряла форму мышь... 
Я разбил окно, девяностопятое мастдайное окно, 
И поставил DOS, и тогда увидел: Это счастье, — вот оно.  
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для начинающих"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm для начинающих | Следующая тема »


 




[ Время генерации скрипта: 0.0766 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.