Mdelay.asm


1
;************************************************************************/
2
;*                                                                      */
3
;*                      Delay Macro 8 ... 65543 Cycle                   */
4
;*                                                                      */
5
;*              Author: Peter Dannegger                                 */
6
;*                      danni@specs.de                                  */
7
;*                                                                      */
8
;************************************************************************/
9
.listmac
10
11
;delay 8 ... 65543 cycle
12
13
.macro  mdelay
14
  ldi  r24, low( @0 - 8 )
15
  ldi  r25, high( @0 - 8 )
16
  sbiw  r24, 4
17
  brcc  pc - 1
18
  cpi  r24, 0xFD
19
  brcs  pc + 4
20
  breq  pc + 3
21
  cpi  r24, 0xFF
22
  breq  pc + 1
23
.endmacro
24
25
  mdelay  8
26
27
  mdelay  9
28
29
  mdelay  10
30
31
  mdelay  11
32
33
  mdelay  12
34
35
  mdelay  65543
36
37
  rjmp  pc