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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.03.2009, 20:57   #1
Петруха
 
Регистрация: 20.03.2009
Сообщений: 6
По умолчанию обработчик прерываний по таймеру

Привет всем!
есть маленькая просьба, можете помоч в написании коментариев к данному коду??? прост препод зверь, докапывается до каждой мелочи при защите! и любит каменты!! помогите пожалуйста, чем подробнее тем лучше!!!

зарание спасибо!!
Код:
text segment 'code'
assume cs:code, ds:code
org 256

main proc
jmp init
main endp

interrupt proc ; обработчик от таймера
       ; Сохраним используемые регистры
	push AX
	push DX
	mov AH,0Eh
	cmp trigger,0
	jmp star
	mov AL,'!'
	mov trigger,1
	jmp next
	star:
	mov AL,'*'
	mov trigger,0
	next:
	int 10h

	mov AL,20h
	out 20h,AL

	mov AL,20h
	out 20h,AL
	
	pop DX
	pop AX
	
	pushf
	CALL Dword PTR CS:[old_adr]
	
	iret; выход из прерывания
	
interrupt endp ; конец процедуры обработчика прерываний

old_adr dd 0 ;адрес старого обработчика
init proc
;DS:DX
	push es
    mov ax,3508h             ; AH = 35h, AL = номер прерывания
    int 21h                  ; определить адрес обработчика,
    mov word ptr old_adr,bx ; сохранить его
    mov word ptr old_adr+2,es

	mov AH,25h
	mov AL,08h
	mov DX,offset interrupt
	push DS
	push CS
	pop DS
	int 21h
	pop DS
	
	mov DX,(init-main+100h)
	mov Ax,3100h
	int 21h

	trigger db 0
init endp

code ends
end main

Последний раз редактировалось rpy3uH; 27.03.2009 в 08:34.
Петруха вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
COM, TThread, обращение по таймеру Антон Ю.Б. Общие вопросы Delphi 2 17.02.2009 09:23
Автосохранения по таймеру ScreN Общие вопросы Delphi 13 09.01.2009 18:49
Контроллер прерываний smileman Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 6 16.11.2008 14:23
Нечто подобное таймеру Артэс Общие вопросы C/C++ 8 11.02.2008 19:19
Вызов функции по таймеру Lexicss Общие вопросы Delphi 4 30.05.2007 22:47