Страница 1 из 1

резидент

Добавлено: 08 янв 2007, 14:52
NetCat
программа должна через определенное время бездействия пользователя запускать мой screensaver(вращающийся кубик,уже есть).
:confused:
не знаю как сделать мою прогу резидентной не используя прерываний DOS-a (int 21h, 27h...) и куда в этот код вставлять код по screensaver
мне сказали что надо скопировать резидентную часть в оперативную память, например на неиспользуемую видеостраницу

:(

Есть часть кода:

CODESG SEGMENT PARA 'Code'
ASSUME CS:CODESG,DS:CODESG,SS:CODESG
ORG 100H
.386
start:
jmp @1

old_8h dw 0,0

@1:

mov bx, 8h*4
mov ax, 0
mov es, ax
mov ax, es:[bx]
mov old_8h, ax
mov ax, es:[bx+2]
mov old_8h+2, ax

cli
mov ax, cs
mov es:[bx+2], ax
mov ax, offset new_8h
mov es:[bx], ax
sti

jmp $ ;бесконечный цикл

new_8h:
;kod

jmp dword ptr old_8h

CODESG ENDS
END start