Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
 
razor6217
1 / 1 / 2
Регистрация: 13.09.2015
Сообщений: 105
1

Изменение цвета символа с использованием системного прерывания BIOS!

09.11.2017, 13:54. Просмотров 117. Ответов 5
Метки нет (Все метки)

Всем доброго времени суток помогите пожалуйста дописать программу!
Мое задание звучит так вывести зелёную Букву "А"(Что я смог сделать) и при поднятии мыши в верх чтобы символ "А" был красный, при опускании вниз зелёный.(Что я не смог сделать!)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
#include <iostream.h>
#include <conio.h>
 
void main()
{ clrscr();
char s='A';
 
while (1)
{
_asm {
mov ah, 02h
mov bh, 0
mov dh, 0
mov dl, 0
int 10h
mov ah, 09h
mov al, s
mov bh, 0
mov bl, 02d
mov cx, 1
int 10h
}
 
}
 
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2017, 13:54
Ответы с готовыми решениями:

Обслуживание дисплея с использованием прерывания BIOS 10Н
Выводить прямоугольник 5*10 точек в случайную позицию на экране. Каждый раз...

Обслуживание клавиатуры с использованием прерывания BIOS 16Н
Помогите пожалуйста! Вводимые с клавиатуры символы выводить на экран...

Прерывания BIOS
подскажите пожалуйста как правильно пользоваться прерыванием 13h/02h как...

Прерывания BIOS INT 10h
Стоит задача: Написать процедуру, выполняющую функцию 0Bh прерывания BIOS INT...

Защищенный режим: как использовать прерывания BIOS из PM
в защищенном режиме я так понимаю нальзя использовать прерывания так, как это...

5
R71MT
4632 / 1438 / 306
Регистрация: 29.07.2014
Сообщений: 2,476
Записей в блоге: 5
09.11.2017, 14:01 2
с мышью работает INT-33h
0
razor6217
1 / 1 / 2
Регистрация: 13.09.2015
Сообщений: 105
09.11.2017, 14:14  [ТС] 3
Это понятно не понятно как правильно использовать функцию, я вывожу символ, потом вывожу курсор
mov ax,1
int 33h
Но как сделать чтобы цвет символа зависел от позиции курсора???
0
ФедосеевПавел
Модератор
3856 / 2177 / 894
Регистрация: 01.02.2015
Сообщений: 7,248
09.11.2017, 14:44 4
Не от позиции, а от перемещения.

http://www.cyberforum.ru/post10032856.html
Настраиваете пользовательское прерывание от мыши на перемещение. В прерывании разбираетесь куда движется мышь и выполняете действие.
0
razor6217
1 / 1 / 2
Регистрация: 13.09.2015
Сообщений: 105
09.11.2017, 14:55  [ТС] 5
Ничего не понятно И преподаватель ещё говорит вам самое лёгкое, я обалдеваю
0
ФедосеевПавел
Модератор
3856 / 2177 / 894
Регистрация: 01.02.2015
Сообщений: 7,248
09.11.2017, 15:20 6
Кошмар! Жалуйтесь в деканат! Проректору по учебной части! Только там вас поймут и пожалеют!!!

Я не знаю язык С (хотя и могу читать его коды), у меня нет TurboC (BorlandC).

Но если вы будете работать - смогу оказать помощь, подсказать.

Другой вариант - я ради вас займусь изучением C. Обычно, на изучение нового языка и написание "боевой" программы у меня уходит 2 месяца. Если время терпит - приступлю на выходных к обучению.

Так что выбор есть.

Рекомендую всё-таки самостоятельную работу. По пользовательскому обработчику я делал несколько варирантов программы из FAQ:
FAQ для раздела Assembler, MASM, TASM
Управление манипулятором мышь - изменение формы курсора в зависимости от координат.
Удаление элементов по нажатию левой клавиши мыши
При нажатии на правую кнопку мышки, содержимое чётных и нечётных столбцов экрана обменять местами
Вывод текстового файла на экран. Цветовая "подсветка" символов. Изменение цвета фона мышью.
Переключение видеостраниц при нажатии левой кнопки мыши
Обменять верхнюю и нижнюю части экрана по нажатию левой кнопки мыши
Несмотря на разные названия - это одна и та же программа.

Попробуйте взять её за основу и потренироваться в настройках источника прерывания, посмотреть состояние регистров. Всё станет очень быстро простым и понятным. Потом можно будет переоформить часть функций во вставки C или в отдельные асм файлы для раздельной (многофайловой) компиляции.
0
09.11.2017, 15:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.11.2017, 15:20

Как в защищенном режиме использовать шлюз для вызывания прерывания bios?
Как в защищенном режиме использовать шлюз для вызывания прерывания bios?

Можно ли поменять цвет символа, не используя прерывания int 10h
Можно ли поменять цвет символа, не используя прерывания int 10h

Программирование с использованием системного таймера
Bобщем задание такое: 1. Изменить программу так, чтобы результат выводился...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru