|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
30.09.2011, 20:17 | #1 |
Пользователь
Регистрация: 04.09.2010
Сообщений: 25
|
Бегающая буква в .com формате (и резидентная)
Привет всем
Возникла проблема в лице программы ( Задали сделать резидентную программу в формате .com (ранее с ним никогда не работала , потому ступор), в которой буква s будет перемещаться по прямой линии слева направо. Подскажите пожалуйста как ее сделать?! Я пробовала сделать нечто подобное хотя бы в .exe , но кусок что я родила не выводится на монитор, а тупо вылетает. Код:
|
30.09.2011, 21:01 | #2 |
equ asm
Участник клуба
Регистрация: 02.05.2009
Сообщений: 1,605
|
Чем com формат так страшно отличается от exe, что вы его испугались ?
А посмотреть в отладчике в каком месте вылетает, а заодно выяснить то ли делает программа, что вы задумали? |
30.09.2011, 21:16 | #3 |
Пользователь
Регистрация: 04.09.2010
Сообщений: 25
|
в отладчике все прекрасно работает - буква перемещается по строке. но стоит програму запустить - просто вылетает (ничего не выводит
вы правы, я уже почитала в книжках про com формат, вроде-бы ничего сложного. но как быть с резидентными программами? что добавить в код, чтобы программа стала резидентной? |
30.09.2011, 21:23 | #4 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Код:
I'm learning to live...
|
|
30.09.2011, 21:38 | #5 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
резидентная - это программа, которая находится в памяти компьютера и выполняется вне зависимости от других программ.
Ещё такие программы называли TSR - Terminate and Stay Resident (погуглите, будет много ссылок, включая статью на википедии). Для того, чтобы программа под MS DOS выполнялась после того, как она оставлена в памяти, эта программа обязательно должна "цепляться" ("вешаться") на какие-нибудь прерывания. Для этого программа должна содержать новый обработчик прерывания и, перед тем как остаться в памяти, она должна назначить свой обработчик прерывания вместо старого. Для того, чтобы при этом не порушить работу системы (и других программ) принято запоминать адрес старого обработчика (перед тем как его перехватила наша программа) и в обработчике нового прерывания вызывать старый обработчик. Т.к. Вам нужно анимация, тогда Вам нужно перехватить вектор прерывания от системного таймера (1C, если мне не изменяет память). Написать такое с нуля - ОЧЕНЬ сложно. Поэтому мой Вам совет. Найдите готовую резидентную программу (исходник, разумеется) и переделайте под себя. Исходников - пруд пруди. Вам нужно только немножко поискать и выбрать подходящий (наиболее близкий к Вашему заданию, наиболее простой, наиболее понятный и т.д.). Ну, ежели будут вопросы — милости прошу на форум.. |
04.10.2011, 18:43 | #6 |
Пользователь
Регистрация: 04.09.2010
Сообщений: 25
|
За єто время смогла заставить букву бегать в ексе, осталось только переделать в ком и сделать резидентной
Код:
но если у кого-то будут соображения по поводу переделки етого кода в сторону сома и так далее, буду рада |
08.10.2011, 15:45 | #7 |
Пользователь
Регистрация: 04.09.2010
Сообщений: 25
|
Сделала ее в нужном формате
ЛЮДИ КАК ТЕПЕРЬ ПЕРЕДЕЛАТЬ В РЕЗИДЕНТНУЮ?!?!?! я искала исходники но ничего подходящего не нашла Т_Т Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Программа, выполняющая поиск отказов в выписках (в формате RTF) и формирующая реестр отказников в формате XLS (на делфи) | avtoritetbikov@mai | Фриланс | 5 | 08.11.2011 00:20 |
как текстовый файл в формате word 2007 переделать в файл в формате | ZAY JULIA | Microsoft Office Word | 13 | 09.06.2010 19:43 |
Резидентная программа | lilufonel | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 25.05.2010 01:27 |
Резидентная программа! | Nemesisking | Общие вопросы C/C++ | 8 | 29.09.2007 08:46 |
как вывести строку поочередно сначала первая буква первой строки потом первая буква второй строки и т.д. | vitalik007 | Помощь студентам | 1 | 25.09.2007 20:45 |