blob: 82cf9f6125401bb8fbf13f62deedd8b90569a988 [file] [log] [blame]
.text
;;; Use SREG
__start1:
set
__vec1_start:
__gcc_isr 1
foo = __gcc_isr.n_pushed
cpi r16,1
__gcc_isr 2
__gcc_isr 0,r0
clt
__vec1_end:
__data1:
ldi r16, foo - 2
.word (__vec1_end - __vec1_start) / 2
;;; Nothing used.
__start2:
set
__vec2_start:
__gcc_isr 1
foo = __gcc_isr.n_pushed
ldi r30, 1
lds r31, 0
sts 0, r31
movw r2, r4
swap r17
__gcc_isr 2
reti
__gcc_isr 2
cpse r7, r8
sei
cli
in r10, 0x3f
out 0x3f, r10
reti
__gcc_isr 0,r0
clt
__vec2_end:
__data2:
ldi r16, foo - 0
.word (__vec2_end - __vec2_start) / 2
;;; Use SREG, ZERO and R24
__start3:
set
__vec3_start:
__gcc_isr 1
foo = __gcc_isr.n_pushed
__gcc_isr 2
reti
__gcc_isr 2
reti
inc r1
__gcc_isr 0,r24
clt
__vec3_end:
__data3:
ldi r16, foo - 3
.word (__vec3_end - __vec3_start) / 2
;;; Use SREG, ZERO, TMP and R24
__start4:
set
__vec4_start:
__gcc_isr 1
foo = __gcc_isr.n_pushed
__gcc_isr 2
reti
__gcc_isr 2
reti
mul 16, 17
__gcc_isr 0,r24
clt
__vec4_end:
__data4:
ldi r16, foo - 4
.word (__vec4_end - __vec4_start) / 2
;;; Use TMP
__start5:
set
__vec5_start:
__gcc_isr 1
lpm
foo = __gcc_isr.n_pushed
__gcc_isr 2
reti
__gcc_isr 2
reti
__gcc_isr 0,r0
clt
__vec5_end:
__data5:
ldi r16, foo - 1
.word (__vec5_end - __vec5_start) / 2
;;; Use SREG, R26
__start6:
set
__vec6_start:
__gcc_isr 1
foo = __gcc_isr.n_pushed
__gcc_isr 2
reti
__gcc_isr 2
reti
clc
__gcc_isr 0,r26
clt
__vec6_end:
__data6:
ldi r16, foo - 2
.word (__vec6_end - __vec6_start) / 2