Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.06.2008, 22:39   #1
shtopor
 
Регистрация: 01.06.2008
Сообщений: 7
По умолчанию резидентное дополнение к VC

Срочно нужна помощь.
Нужно написать резидентную программу, которая подсвечивает в Volcov Commander имена файлов с расширениями находящимися в файле exp.txt.
1. С помощью какого прерывания изменить цвет фона под именем файла?
2. Как сделать так, чтобы программа выполняла действия в окне VC?
Использую цветной текстовый режим 80х25.
shtopor вне форума Ответить с цитированием
Старый 01.06.2008, 23:22   #2
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

1. Это можно сделать вообще без прерываний, прямой записью в видеопамять., Если нужно именно прерывание, то:
Цитата:
INT 10 - VIDEO - READ ATTRIBUTES/CHARACTER AT CURSOR POSITION
AH = 08h
BH = display page
Return: AL = character
AH = attribute of character (alpha modes)
SeeAlso: AH=09h
---------------------------------------------
INT 10 - VIDEO - WRITE ATTRIBUTES/CHARACTERS AT CURSOR POSITION
AH = 09h
AL = character
BH = display page
BL = attributes of character (alpha modes) or color (graphics modes)
if bit 7 set in graphics mode, character is xor'ed onto screen
CX = number of times to write character
Note: all characters are displayed, including CR, LF, and BS
SeeAlso: AH=08h,0Ah
2. Какие именно действия?
B_N вне форума Ответить с цитированием
Старый 02.06.2008, 01:13   #3
shtopor
 
Регистрация: 01.06.2008
Сообщений: 7
По умолчанию

С действиями все понятно.
3. Видео память начинается с 0b800h?
shtopor вне форума Ответить с цитированием
Старый 02.06.2008, 01:29   #4
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Цитата:
Сообщение от shtopor Посмотреть сообщение
3. Видео память начинается с 0b800h?
На EGA/VGA - да. Но это первая страница, следующие идут с инкрементом по 4 килобайта. (если режим 80х25). Собственно, адрес текущего буфера должен быть в области данных BIOS, за давностью лет всё это хорошо забылось, но если нужно, можно, конечно, уточнить.
B_N вне форума Ответить с цитированием
Старый 02.06.2008, 17:27   #5
shtopor
 
Регистрация: 01.06.2008
Сообщений: 7
По умолчанию

Написал для левого окна. Не работает. При запуске программы, VC зависает. Посмотрите что можно сделать. Для компиляции использую tasm и tlink. Писал для режима 80х25, файлы отображал в режиме FULL.
Вложения
Тип файла: rar Vc.rar (49.8 Кб, 15 просмотров)
shtopor вне форума Ответить с цитированием
Старый 02.06.2008, 17:30   #6
shtopor
 
Регистрация: 01.06.2008
Сообщений: 7
По умолчанию

Резидентная часть работает.
Зависание происходит при обработке (процедура obr).
shtopor вне форума Ответить с цитированием
Старый 03.06.2008, 16:19   #7
shtopor
 
Регистрация: 01.06.2008
Сообщений: 7
По умолчанию

Нужно ли в программе устанавливать номер видеорежима и номер активной страницы дисплея?
shtopor вне форума Ответить с цитированием
Старый 03.06.2008, 16:28   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

зачем? Текстовый режим что не подойдет?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.06.2008, 21:04   #9
shtopor
 
Регистрация: 01.06.2008
Сообщений: 7
По умолчанию

Проблема с зависанием разрешилась. Всем большое спасибо.
shtopor вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как технически делается дополнение на vBulletin proglamer PHP 3 25.12.2007 10:11