zomg asm framework
This commit is contained in:
parent
b38c9c7c04
commit
62c720ab1b
91
avr/noiseplug.s
Normal file
91
avr/noiseplug.s
Normal file
|
@ -0,0 +1,91 @@
|
|||
.global __vectors
|
||||
|
||||
SREG = 0x3F
|
||||
CCP = 0x3C
|
||||
SMCR = 0x3A
|
||||
CLKPSR = 0x36
|
||||
TCCR0A = 0x2E
|
||||
TCCR0B = 0x2D
|
||||
TCCR0C = 0x2C
|
||||
TIMSK0 = 0x2B
|
||||
TIFR0 = 0x2A
|
||||
OCR0AL = 0x26
|
||||
PUEB = 0x03
|
||||
PORTB = 0x02
|
||||
DDRB = 0x01
|
||||
PINB = 0x00
|
||||
|
||||
.section .bss
|
||||
|
||||
.comm int_ctr, 1
|
||||
.comm i, 3
|
||||
.comm lead1, 4
|
||||
.comm lead2, 4
|
||||
.comm lead3, 4
|
||||
.comm bassosc, 2
|
||||
.comm bassflange, 2
|
||||
.comm arposc, 2
|
||||
; leaves 10 bytes for stack
|
||||
|
||||
.section .text
|
||||
|
||||
__vectors:
|
||||
clr r16
|
||||
ldi r17, 0xD8
|
||||
out PUEB, r16
|
||||
rjmp main_cont
|
||||
|
||||
.type __vector_4, @function
|
||||
__vector_4:
|
||||
push r16
|
||||
push r24
|
||||
in r16, SREG
|
||||
lds r24,int_ctr
|
||||
subi r24,lo8(-(1))
|
||||
andi r24,lo8(3)
|
||||
sts int_ctr,r24
|
||||
out SREG,r16
|
||||
pop r24
|
||||
pop r16
|
||||
reti
|
||||
.size __vector_4, .-__vector_4
|
||||
|
||||
main_cont:
|
||||
out CCP, r17
|
||||
out CLKPSR, r16
|
||||
ldi r17, 5
|
||||
out DDRB, r17
|
||||
ldi r17, 0x81
|
||||
out TCCR0A, r17
|
||||
ldi r17, 0x09
|
||||
out TCCR0B, r17
|
||||
ldi r17, 1
|
||||
out SMCR, r17
|
||||
out TIMSK0, r17
|
||||
sei
|
||||
out TIFR0, r17
|
||||
|
||||
mainloop:
|
||||
sleep
|
||||
lds r17, int_ctr
|
||||
tst r17
|
||||
brne mainloop
|
||||
|
||||
sbi PORTB, 2
|
||||
|
||||
lds r17, i
|
||||
lds r18, i+1
|
||||
lds r19, i+2
|
||||
|
||||
subi r19, -1
|
||||
sbci r18, 0
|
||||
sbci r17, 0
|
||||
|
||||
sts i, r17
|
||||
sts i+1, r18
|
||||
sts i+2, r19
|
||||
|
||||
out OCR0AL, r18
|
||||
|
||||
cbi PORTB, 2
|
||||
rjmp mainloop
|
Loading…
Reference in a new issue