WWW.ИСХОДНИКИ.РУ cpp.sources.ru
java.sources.ru web.sources.ru soft.sources.ru
jdbc.sources.ru asp.sources.ru api.sources.ru

  Форум на исходниках
  ASM
  TSR

СПРОСИТЬ  ОТВЕТИТЬ
профайл | регистрация | faq

Автор Тема:   TSR
Ghost опубликован 15-05-2001 01:05 MSK   Click Here to See the Profile for Ghost   Click Here to Email Ghost  
Как правильно написать TSR-программу?
Желательно привести пример.
purpe опубликован 15-05-2001 09:47 MSK     Click Here to See the Profile for purpe  Click Here to Email purpe     
под DOS ?
al опубликован 15-05-2001 15:23 MSK     Click Here to See the Profile for al  Click Here to Email al     
Нет, по Windows:)
purpe опубликован 15-05-2001 15:56 MSK     Click Here to See the Profile for purpe  Click Here to Email purpe     
хе :)
я просто не знаю - как теперь программят на ASMе, но под ДОСом я делал прогу, которая в Нортоне Коммандере постоянно в верхнем левом углу светила моё имя :)))
Работает она от таймера 1С, потому как по 8-му прерываню помоему некорректно вешать резидентные проги.

вот она:

;
;
;
jmp install
int1c label byte ;точка входа INT 1CH
push es ;сохpаняем pегистpы, котоpые будут изменены
push di ; ---//---
push ax ; ---//---
mov ax,0b800h ;указываем на экpанную область памяти
mov es,ax ; ---//---
mov ax,0e8ch ;будет напечатана буква М желтым цветом
sub di,di ;смещение pавно 0
stosw ; AX --> ES:[DI]
mov al,088h ; И
stosw
mov al,092h ; Т
stosw
mov al,09fh ; Я
stosw
pop ax ;восстанавливаем измененные pегистpы
pop di ; ---//---
pop es ; ---//---

db 0eah ;пеpвый байт инстpукции JMP FAR
old1c label dword ;метка двойного слова
old1co dw 0 ;смещение
old1cs dw 0 ;сегмент пpогpаммы BIOS INT 1CH

install:
mov ax,0351ch ;читаем адpес INT 1C
int 21h ; ---//---
mov cs:old1co,bx ;сохpаняем адpес для дальнейшего использования
mov cs:old1cs,es ; ---//---
mov ax,cs ;подготавливаем сегменты
mov ds,ax ; ---//---
cli ;запpет пpеpываний
lea dx,int1c ;адpес пpогpаммы
mov ax,0251ch ;функция установки вектоpа
int 21h ;устанавливаем вектоp
sti ;pазpешение пpеpываний
lea dx,h001 ;указываем на сообщение
mov ah,09h ;функция вывода стpоки
int 21h ;выводим сообщение
lea dx,install ;оставляем обpаботчик пpеpывания pезедентным
int 27h

h001 db 'Пpогpамма M.COM осталась в памяти pезедентно',0ah,0dh,'$'

;------------------------------------------

Вот такие пироги :)

Ghost опубликован 16-05-2001 01:32 MSK     Click Here to See the Profile for Ghost  Click Here to Email Ghost     
Хотелось бы более объёмный пример..
purpe опубликован 16-05-2001 07:20 MSK     Click Here to See the Profile for purpe  Click Here to Email purpe     
хе :)
тоесть объяснять - чем тебе ентот пример не понравился, ты не собираешься ? :)

ну вот просто дайте ему другую игрушку и всё тут ! :)))

Organic опубликован 20-05-2001 14:42 MSK     Click Here to See the Profile for Organic    
Ghost: а в яндексе "TSR" набрать не пробовал ...
server_mouse опубликован 21-05-2001 11:35 MSK     Click Here to See the Profile for server_mouse  Click Here to Email server_mouse     
p>как по 8-му прерываню помоему некорректно вешать резидентные проги.

Это почему же? 1С вызывается из тогоже 08. Просто надо быть поакуратнеё, особенно если юзаешь контроллер прерываний. А так, по 08 мне лично больше нравится... Надёжнее.

purpe опубликован 21-05-2001 13:06 MSK     Click Here to See the Profile for purpe  Click Here to Email purpe     
оно конечно может и надёжнее, НО!

я ведь привёл исходник маленькой проги, а если на восьмое прерывание повесить что-нить по серьёзнее ?
этак ведь и часики могут начать отставать :)

просто я имел ввиду, что если есть в системе аналог аппаратного прерывания, то лучше всё-таки его использовать, чтобы железо не тормозить.

server_mouse опубликован 24-05-2001 18:48 MSK     Click Here to See the Profile for server_mouse  Click Here to Email server_mouse     
Хош в Винде? Пжлста! Проинсталь себе TASM и найди там экземпл (wap32 или что-то подобное, не помню точно). Ремируешь ф-цию вывода окна (ShowWindow) и всё! Прога запускается и висит себе тихонько в Task Meneger-е. Чего проще?
Fagot опубликован 28-05-2001 12:22 MSK     Click Here to See the Profile for Fagot  Click Here to Email Fagot     
Народ а исходники Win95.Cih слабо глянуть, он же настоящий резидент под мастдай :)
server_mouse опубликован 06-06-2001 16:28 MSK     Click Here to See the Profile for server_mouse  Click Here to Email server_mouse     
Насчёт винчиха это ты загнул! Резидент... Он скорее драйвер, чем нормальный резидент. ProtectMode сплошной.

СПРОСИТЬ  ОТВЕТИТЬ
Перейти:


E-mail | WWW.ИСХОДНИКИ.RU

Powered by: Ultimate Bulletin Board, Freeware Version 5.10a
Purchase our Licensed Version- which adds many more features!
© Infopop Corporation (formerly Madrona Park, Inc.), 1998 - 2000.