3 * Copyright 2003 Free Software Foundation, Inc.
5 * This file is part of GNU Radio
7 * GNU Radio is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2, or (at your option)
12 * GNU Radio is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with GNU Radio; see the file COPYING. If not, write to
19 * the Free Software Foundation, Inc., 51 Franklin Street,
20 * Boston, MA 02110-1301, USA.
24 * Delay approximately 1 microsecond (including overhead in udelay).
29 _asm ; lcall that got us here took 4 bus cycles
35 * delay for approximately usecs microseconds
38 udelay (unsigned char usecs)
42 } while (--usecs != 0);
47 * Delay approximately 1 millisecond.
48 * We're running at 48 MHz, so we need 48,000 clock cycles.
50 * Note however, that each bus cycle takes 4 clock cycles (not obvious,
51 * but explains the factor of 4 problem below).
57 mov dptr,#(-1200 & 0xffff)
59 inc dptr ; 3 bus cycles
60 mov a, dpl ; 2 bus cycles
61 orl a, dph ; 2 bus cycles
62 jnz 002$ ; 3 bus cycles
69 mdelay (unsigned int msecs)
73 } while (--msecs != 0);