Advertisement
Guest User

vjezbe2-zad3

a guest
Oct 19th, 2018
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .equ LED_DDRA = DDRA
  2. .equ LED_PORTA = PORTA
  3. .equ delayCnt = 19
  4.  
  5. .def tmp = r16
  6. .def mask = r20
  7.  
  8. .cseg
  9.     rjmp reset
  10.  
  11. reset:
  12.     ldi tmp, high(RAMEND)
  13.     out SPH, tmp
  14.     ldi tmp, low(RAMEND)
  15.     out SPL, tmp
  16.  
  17.     ldi tmp, (1 << 3)
  18.     out DDRA, tmp
  19.  
  20.     ldi mask, (1 << 3)
  21.  
  22. main:
  23.     rcall blink
  24.     rcall delay
  25. rjmp main
  26.  
  27. blink:
  28.     push tmp
  29.     in tmp, PORTA
  30.     eor tmp, mask
  31.     out PORTA, tmp
  32.     pop tmp
  33. ret
  34.  
  35. delay:
  36.     push r17
  37.     push r18
  38.     push r19
  39.  
  40.     clr r17
  41.     clr r18
  42.     ldi r19, delayCnt
  43.  
  44.     delay_loop:
  45.         dec r17
  46.         brne delay_loop
  47.             dec r18
  48.             brne delay_loop
  49.                 dec r19
  50.                 brne delay_loop
  51.  
  52.     pop r17
  53.     pop r18
  54.     pop r19
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement