Advertisement
Guest User

7teloszthato

a guest
Nov 2nd, 2017
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .include "m128def.inc"
  2. .org 0x0
  3.     jmp start
  4. .org 0x100
  5.  
  6. .macro led_init
  7.     ldi r16, 0b11110000
  8.     out DDRD, r16
  9.     out DDRB, r16
  10.     clr r16
  11. .endmacro
  12.  
  13. .macro het_init
  14.     ldi r16, 0b11111111
  15.     out DDRA, r16
  16.     clr r16
  17. .endmacro
  18.  
  19. .macro gomb_init
  20.     ldi r16, 0
  21.     sts PORTG, r16
  22. .endmacro
  23.  
  24. .macro stack_init
  25.     ldi r25, low(RAMEND)
  26.     out SPL, r25
  27.     ldi r25, high(RAMEND)
  28.     out SPH, r25
  29. .endmacro
  30. start:
  31.     led_init
  32.     het_init
  33.     gomb_init
  34.     stack_init
  35.  
  36.     call egy
  37.  
  38. vege:
  39.     jmp vege
  40.  
  41. ;-----szubrutinok-------
  42. ;   11 db 7-tel osztható számot adjunk össze 12-től, a carry-vel ne törődjünk, csak az alsó
  43. ;   8 bittel. Az eredményt rakjuk ki ledre és írjuk be a 0x160 címre.
  44. egy:
  45.     ldi r16, 7
  46.     ldi r17, 12
  47.     ldi r18, 0
  48.     ldi r19, 11
  49.     ldi ZL, low(0x160)
  50.     ldi ZH, high(0x160)
  51.  
  52.     ciklus:
  53.     cpi r19,0
  54.     breq kiir
  55.     mov r20, r17
  56.     kivonas:
  57.         sub r20, r16
  58.         breq beiras
  59.         brmi novel
  60.         brne  kivonas
  61.        
  62.     jmp ciklus 
  63.    
  64.     novel:
  65.         inc r17
  66.     jmp ciklus
  67.     beiras:
  68.         add r18, r17
  69.         st Z, r18
  70.         inc r17
  71.         dec r19
  72.     jmp ciklus
  73. kiir:
  74.     out PORTD, r18
  75.     swap r18
  76.     out PORTB, r18
  77.     swap r18
  78. jmp kiir
  79. ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement