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

Помогите. не могу разобраться с таймером

Добавлено: 18 июн 2009, 01:27
nekxxtoxxx
я взял чужую прогу, немогу понять, как работает таймер. помогите

в начале проги:
mov ah,2ch
int 21h
mov [time],dl

сам таймер:
proc timer
mov ah,2ch
int 21h
cmp dl,[time]
je end_timer
mov [time],dl
delay:
mov ah,2ch
int 21h
cmp dl,[time]
je delay
mov [time],dl
end_timer:
ret
endp
объясните, как этот процесс замедляет выполнение программы, чтобы я мог преподу объяснить плиз.
если нужно, я исходник скину

Re: Помогите. не могу разобраться с таймером

Добавлено: 18 июн 2009, 10:02
somewhere
Без самой программы нельзя сказать как эта процедура ее замедляет. Может она вообще "не при делах" и не вызывается ни разу :)

Re: Помогите. не могу разобраться с таймером

Добавлено: 11 авг 2009, 03:13
softer8
Это не алгоритм замедляет а работа компутера ..прерывания и другое

хочешь чобы таймер все время точно работал необходимо внести в исходник корекцию времени. если начинает отставать, то корректируем

а препод идиот если не понимает что простой алгоритм будет отставать

Re: Помогите. не могу разобраться с таймером

Добавлено: 19 авг 2009, 14:14
airyashov
в идеале это тормоз на 1 сек, считает пока сотые доли секунды на будет равны, только где гарантия, что прерывание не выполнится быстрее

Re: Помогите. не могу разобраться с таймером

Добавлено: 19 авг 2009, 20:09
Goodwin98
что прерывание не выполнится быстрее
А что мешает вставить 2 таких прерывания?

Код: Выделить всё

	mov ah,2ch
	int 21h
	mov si,dx
@@:
	int 21h
	cmp si,dx
	jz @b
	mov si,dx
@@:
	int 21h
	cmp si,dx
	jz @b
Будет задержка 0,02 - 0,04 секунды.