Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .include "m128def.inc"
- .org 0x0
- jmp start
- .org 0x100
- .macro led_init
- ldi r16, 0b11110000
- out DDRD, r16
- out DDRB, r16
- clr r16
- .endmacro
- .macro het_init
- ldi r16, 0b11111111
- out DDRA, r16
- clr r16
- .endmacro
- .macro gomb_init
- ldi r16, 0
- sts PORTG, r16
- .endmacro
- .macro stack_init
- ldi r25, low(RAMEND)
- out SPL, r25
- ldi r25, high(RAMEND)
- out SPH, r25
- .endmacro
- start:
- led_init
- het_init
- gomb_init
- stack_init
- call egy
- vege:
- jmp vege
- ;-----szubrutinok-------
- ; 11 db 7-tel osztható számot adjunk össze 12-től, a carry-vel ne törődjünk, csak az alsó
- ; 8 bittel. Az eredményt rakjuk ki ledre és írjuk be a 0x160 címre.
- egy:
- ldi r16, 7
- ldi r17, 12
- ldi r18, 0
- ldi r19, 11
- ldi ZL, low(0x160)
- ldi ZH, high(0x160)
- ciklus:
- cpi r19,0
- breq kiir
- mov r20, r17
- kivonas:
- sub r20, r16
- breq beiras
- brmi novel
- brne kivonas
- jmp ciklus
- novel:
- inc r17
- jmp ciklus
- beiras:
- add r18, r17
- st Z, r18
- inc r17
- dec r19
- jmp ciklus
- kiir:
- out PORTD, r18
- swap r18
- out PORTB, r18
- swap r18
- jmp kiir
- ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement