Program DlayDemo; var SystemTimer: LongInt absolute $40:$6C; function ReadTimer: longint; begin ReadTimer := SystemTimer; end; function ReadTimerChipCount: word; var frec: word; begin frec := port[$40]; frec := frec or (port[$40] shl 8); ReadTimerChipCount := frec; end; function ReadOscelator: longint; begin ReadOscelator := ((ReadTimer and $7fff)*$10000) or (65535-ReadTimerChipCount); end; procedure DelayEX(ms: word); const k=1193180/1000; var T: longint; begin T := ReadOscelator + trunc(ms*k); Repeat until T <= ReadOscelator; end; (******** Main Program ************) Begin writeln; DelayEX(3000); write('И...'); DelayEX(3000); writeln('...раз!'); DelayEX(3000); End.