Advertisement
Guest User

kötél

a guest
Nov 1st, 2017
90
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. ; 1#:   Nyolcbites összeadás segítségével adja össze az összes nyolcbites ötvennel osztható
  43. ;       számot. Használjon ciklust, de ne használjon osztást az algoritmushoz. Az összeadandó
  44. ;       elemeket nem adhatja meg konstansként, hanem ki kell számolnia őket a ciklusban.
  45. ;       Az eredményt tárolja el az adatmemóriában a 0x100-as címen.
  46.  
  47.  
  48. egy:
  49.     ldi r16, 0 ;    növelendő szám
  50.         ldi r22, 0 ;    SUM
  51.         ldi r23, 0;
  52.         ldi r18, 50
  53.         ldi r19, 50
  54.         ldi ZL, low(0x100)  ;   eredmény cím
  55.         ldi ZH, high(0x100) ;   eredmény cím
  56.  
  57.     ciklus:
  58.         cpi r16, 255
  59.         breq vege2
  60.         cp r16, r18
  61.         breq oszthato
  62.         inc r16
  63.     jmp ciklus
  64.  
  65.     oszthato:
  66.         add r17, r16
  67.         st Z, r17
  68.         inc r16
  69.         add r18, r19
  70.     jmp ciklus
  71.     vege2:
  72.     ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement