/**
*.Name         tm_delay
*.Title        Формирование задержки по таймеру
*
*.Descr        Эта функция формирует задержку, используя
*              системный таймер.
*
*.Proto        void tm_delay(int ticks)
*
*.Params       int ticks - величина задержки в тиках
*                          таймера (за одну секунду таймер
*                          тикает 18.2 раза).
*
*.Return       Ничего
*
*.Sample       tm_samp1.c
**/

#include <dos.h>
#include <conio.h>

void tm_delay(int ticks) {

	_asm {

		push si

		mov  si, ticks
		mov  ah, 0
		int  1ah

		mov  bx, dx
		add  bx, si

delay_loop:

		int  1ah
		cmp  dx, bx
		jne  delay_loop

		pop  si
	}
}

