Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Asm для начинающих > Резидент для доса |
Автор: Krask 10.12.2006, 00:32 |
Добрый день. Мне надо написать резидентную программу для ДОСа, которая по введенной команде begin начинает все последующие команды записывать в файл до команды end, а после команды show изображать этот файл на экране. Вот я хочу спросить как организовать отлов комманды, и сделать так чтобы ДОС потом не ругался на них типа: bad command or file name. Или как это обойти. |
Автор: anwe 10.12.2006, 10:33 |
Для запуска не обязательно иметь в памяти этот резидент. Просто называешь свое произведение begin.exe и вводишь. А для отлова следующих команда используй стандартные методы подмены векторов прерывания. Сначала выполняй свой код после передавай на стандарную обработку. |
Автор: Krask 10.12.2006, 13:27 |
В том то и дело, что мне нужно сделоать именно резидент. |
Автор: Akina 11.12.2006, 00:16 | ||
Ты должен отлавливать прерывания клавиатуры и фактически организовать свой собственный дубликат буфера клавиатуры... тут тебе сильно поможет то, что из порта клавиатуры можно читать сколько угодно раз, не сбрасывая пришедшего байта... а уж парсить этот буфер, выделять ключевые слова, чистить ненужное до начала записи и дальнейшие действия - это совсем другой разговор... А вот
ну тут уж не нахальничай... с одной стороны, ты САМ вводишь команду на запуска файла с именем begin, с другой - хочешь чтобы ДОС не ругался на его отсутствие... ну чисти основной буфер, что ли... |