File: gccisr-02.s

package info (click to toggle)
binutils 2.31.1-11
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 307,644 kB
  • sloc: ansic: 1,161,122; asm: 638,494; cpp: 128,815; exp: 68,557; makefile: 55,816; sh: 22,360; yacc: 14,238; lisp: 13,272; perl: 2,111; ada: 1,681; lex: 1,652; pascal: 1,446; cs: 879; sed: 195; python: 154; xml: 95; awk: 25
file content (38 lines) | stat: -rw-r--r-- 512 bytes parent folder | download | duplicates (13)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
.text

;;; Use SREG

__start1:
    set

__vec1_start:
    __gcc_isr 1
    foo = __gcc_isr.n_pushed
    cpi r18,1
    __gcc_isr 2
    __gcc_isr 0,r16
    clt
__vec1_end:
__data1:
    ldi r16, foo - 2
    .word (__vec1_end - __vec1_start) / 2

;;; Use ZERO

__start2:
    set

__vec2_start:
    __gcc_isr 1
    foo = __gcc_isr.n_pushed
    __gcc_isr 2
    reti
    mov r30,r17
    __gcc_isr 2
    reti
    __gcc_isr 0,r16
    clt
__vec2_end:
__data2:
    ldi r16, foo - 1
    .word (__vec2_end - __vec2_start) / 2