📄 spi_test.lss
字号:
SPI_test.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .data 00000006 00800100 0000016e 00000202 2**0
CONTENTS, ALLOC, LOAD, DATA
1 .text 0000016e 00000000 00000000 00000094 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
2 .bss 00000003 00800106 00800106 00000208 2**0
ALLOC
3 .debug_aranges 00000020 00000000 00000000 00000208 2**0
CONTENTS, READONLY, DEBUGGING
4 .debug_pubnames 00000052 00000000 00000000 00000228 2**0
CONTENTS, READONLY, DEBUGGING
5 .debug_info 000000de 00000000 00000000 0000027a 2**0
CONTENTS, READONLY, DEBUGGING
6 .debug_abbrev 0000008f 00000000 00000000 00000358 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_line 0000010a 00000000 00000000 000003e7 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_frame 00000040 00000000 00000000 000004f4 2**2
CONTENTS, READONLY, DEBUGGING
9 .debug_str 00000090 00000000 00000000 00000534 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 19 c0 rjmp .+50 ; 0x34 <__ctors_end>
2: 33 c0 rjmp .+102 ; 0x6a <__bad_interrupt>
4: 32 c0 rjmp .+100 ; 0x6a <__bad_interrupt>
6: 31 c0 rjmp .+98 ; 0x6a <__bad_interrupt>
8: 30 c0 rjmp .+96 ; 0x6a <__bad_interrupt>
a: 2f c0 rjmp .+94 ; 0x6a <__bad_interrupt>
c: 2e c0 rjmp .+92 ; 0x6a <__bad_interrupt>
e: 2d c0 rjmp .+90 ; 0x6a <__bad_interrupt>
10: 2c c0 rjmp .+88 ; 0x6a <__bad_interrupt>
12: 2b c0 rjmp .+86 ; 0x6a <__bad_interrupt>
14: 2a c0 rjmp .+84 ; 0x6a <__bad_interrupt>
16: 29 c0 rjmp .+82 ; 0x6a <__bad_interrupt>
18: 28 c0 rjmp .+80 ; 0x6a <__bad_interrupt>
1a: 27 c0 rjmp .+78 ; 0x6a <__bad_interrupt>
1c: 26 c0 rjmp .+76 ; 0x6a <__bad_interrupt>
1e: 25 c0 rjmp .+74 ; 0x6a <__bad_interrupt>
20: 24 c0 rjmp .+72 ; 0x6a <__bad_interrupt>
22: 24 c0 rjmp .+72 ; 0x6c <__vector_17>
24: 22 c0 rjmp .+68 ; 0x6a <__bad_interrupt>
26: 21 c0 rjmp .+66 ; 0x6a <__bad_interrupt>
28: 20 c0 rjmp .+64 ; 0x6a <__bad_interrupt>
2a: 1f c0 rjmp .+62 ; 0x6a <__bad_interrupt>
2c: 1e c0 rjmp .+60 ; 0x6a <__bad_interrupt>
2e: 1d c0 rjmp .+58 ; 0x6a <__bad_interrupt>
30: 1c c0 rjmp .+56 ; 0x6a <__bad_interrupt>
32: 1b c0 rjmp .+54 ; 0x6a <__bad_interrupt>
00000034 <__ctors_end>:
34: 11 24 eor r1, r1
36: 1f be out 0x3f, r1 ; 63
38: cf ef ldi r28, 0xFF ; 255
3a: d2 e0 ldi r29, 0x02 ; 2
3c: de bf out 0x3e, r29 ; 62
3e: cd bf out 0x3d, r28 ; 61
00000040 <__do_copy_data>:
40: 11 e0 ldi r17, 0x01 ; 1
42: a0 e0 ldi r26, 0x00 ; 0
44: b1 e0 ldi r27, 0x01 ; 1
46: ee e6 ldi r30, 0x6E ; 110
48: f1 e0 ldi r31, 0x01 ; 1
4a: 02 c0 rjmp .+4 ; 0x50 <.do_copy_data_start>
0000004c <.do_copy_data_loop>:
4c: 05 90 lpm r0, Z+
4e: 0d 92 st X+, r0
00000050 <.do_copy_data_start>:
50: a6 30 cpi r26, 0x06 ; 6
52: b1 07 cpc r27, r17
54: d9 f7 brne .-10 ; 0x4c <.do_copy_data_loop>
00000056 <__do_clear_bss>:
56: 11 e0 ldi r17, 0x01 ; 1
58: a6 e0 ldi r26, 0x06 ; 6
5a: b1 e0 ldi r27, 0x01 ; 1
5c: 01 c0 rjmp .+2 ; 0x60 <.do_clear_bss_start>
0000005e <.do_clear_bss_loop>:
5e: 1d 92 st X+, r1
00000060 <.do_clear_bss_start>:
60: a9 30 cpi r26, 0x09 ; 9
62: b1 07 cpc r27, r17
64: e1 f7 brne .-8 ; 0x5e <.do_clear_bss_loop>
66: 5d d0 rcall .+186 ; 0x122 <main>
68: 80 c0 rjmp .+256 ; 0x16a <_exit>
0000006a <__bad_interrupt>:
6a: ca cf rjmp .-108 ; 0x0 <__vectors>
0000006c <__vector_17>:
unsigned char spi_data[6]={0xd0,0x01,0x42,0x80,0x8C,0x00};
unsigned char x;
int gg=0;
ISR(SPI_STC_vect)
{
6c: 1f 92 push r1
6e: 0f 92 push r0
70: 0f b6 in r0, 0x3f ; 63
72: 0f 92 push r0
74: 11 24 eor r1, r1
76: 8f 93 push r24
78: 9f 93 push r25
7a: af 93 push r26
7c: bf 93 push r27
7e: ef 93 push r30
80: ff 93 push r31
82: df 93 push r29
84: cf 93 push r28
86: cd b7 in r28, 0x3d ; 61
88: de b7 in r29, 0x3e ; 62
//asm("nop");
if(x==1||x==3)
8a: 80 91 08 01 lds r24, 0x0108
8e: 81 30 cpi r24, 0x01 ; 1
90: 21 f0 breq .+8 ; 0x9a <__vector_17+0x2e>
92: 80 91 08 01 lds r24, 0x0108
96: 83 30 cpi r24, 0x03 ; 3
98: e9 f4 brne .+58 ; 0xd4 <__vector_17+0x68>
{
PORTB|=0x04;
9a: a5 e2 ldi r26, 0x25 ; 37
9c: b0 e0 ldi r27, 0x00 ; 0
9e: e5 e2 ldi r30, 0x25 ; 37
a0: f0 e0 ldi r31, 0x00 ; 0
a2: 80 81 ld r24, Z
a4: 84 60 ori r24, 0x04 ; 4
a6: 8c 93 st X, r24
for(gg=0;gg<=1;gg++)
a8: 10 92 07 01 sts 0x0107, r1
ac: 10 92 06 01 sts 0x0106, r1
b0: 0a c0 rjmp .+20 ; 0xc6 <__vector_17+0x5a>
asm("nop");
b2: 00 00 nop
{
//asm("nop");
if(x==1||x==3)
{
PORTB|=0x04;
for(gg=0;gg<=1;gg++)
b4: 80 91 06 01 lds r24, 0x0106
b8: 90 91 07 01 lds r25, 0x0107
bc: 01 96 adiw r24, 0x01 ; 1
be: 90 93 07 01 sts 0x0107, r25
c2: 80 93 06 01 sts 0x0106, r24
c6: 80 91 06 01 lds r24, 0x0106
ca: 90 91 07 01 lds r25, 0x0107
ce: 82 30 cpi r24, 0x02 ; 2
d0: 91 05 cpc r25, r1
d2: 7c f3 brlt .-34 ; 0xb2 <__vector_17+0x46>
asm("nop");
}
x++;
d4: 80 91 08 01 lds r24, 0x0108
d8: 8f 5f subi r24, 0xFF ; 255
da: 80 93 08 01 sts 0x0108, r24
if(x>3)
de: 80 91 08 01 lds r24, 0x0108
e2: 84 30 cpi r24, 0x04 ; 4
e4: 10 f0 brcs .+4 ; 0xea <__vector_17+0x7e>
{
x=0;
e6: 10 92 08 01 sts 0x0108, r1
}
}
ea: cf 91 pop r28
ec: df 91 pop r29
ee: ff 91 pop r31
f0: ef 91 pop r30
f2: bf 91 pop r27
f4: af 91 pop r26
f6: 9f 91 pop r25
f8: 8f 91 pop r24
fa: 0f 90 pop r0
fc: 0f be out 0x3f, r0 ; 63
fe: 0f 90 pop r0
100: 1f 90 pop r1
102: 18 95 reti
00000104 <spi_init>:
void spi_init()
{
104: df 93 push r29
106: cf 93 push r28
108: cd b7 in r28, 0x3d ; 61
10a: de b7 in r29, 0x3e ; 62
SPCR=0xD6;
10c: ec e4 ldi r30, 0x4C ; 76
10e: f0 e0 ldi r31, 0x00 ; 0
110: 86 ed ldi r24, 0xD6 ; 214
112: 80 83 st Z, r24
SPSR=0x01;
114: ed e4 ldi r30, 0x4D ; 77
116: f0 e0 ldi r31, 0x00 ; 0
118: 81 e0 ldi r24, 0x01 ; 1
11a: 80 83 st Z, r24
}
11c: cf 91 pop r28
11e: df 91 pop r29
120: 08 95 ret
00000122 <main>:
void main()
{
122: df 93 push r29
124: cf 93 push r28
126: cd b7 in r28, 0x3d ; 61
128: de b7 in r29, 0x3e ; 62
//PORTC=0x01;
DDRB=0x2C;
12a: e4 e2 ldi r30, 0x24 ; 36
12c: f0 e0 ldi r31, 0x00 ; 0
12e: 8c e2 ldi r24, 0x2C ; 44
130: 80 83 st Z, r24
PORTB=0x2C;
132: e5 e2 ldi r30, 0x25 ; 37
134: f0 e0 ldi r31, 0x00 ; 0
136: 8c e2 ldi r24, 0x2C ; 44
138: 80 83 st Z, r24
x=0;
13a: 10 92 08 01 sts 0x0108, r1
spi_init();
13e: e2 df rcall .-60 ; 0x104 <spi_init>
sei();
140: 78 94 sei
while(1)
{
PORTB&=0xFB;
142: a5 e2 ldi r26, 0x25 ; 37
144: b0 e0 ldi r27, 0x00 ; 0
146: e5 e2 ldi r30, 0x25 ; 37
148: f0 e0 ldi r31, 0x00 ; 0
14a: 80 81 ld r24, Z
14c: 8b 7f andi r24, 0xFB ; 251
14e: 8c 93 st X, r24
asm("nop");
150: 00 00 nop
SPDR=spi_data[x];
152: ae e4 ldi r26, 0x4E ; 78
154: b0 e0 ldi r27, 0x00 ; 0
156: 80 91 08 01 lds r24, 0x0108
15a: 88 2f mov r24, r24
15c: 90 e0 ldi r25, 0x00 ; 0
15e: fc 01 movw r30, r24
160: e0 50 subi r30, 0x00 ; 0
162: ff 4f sbci r31, 0xFF ; 255
164: 80 81 ld r24, Z
166: 8c 93 st X, r24
168: ec cf rjmp .-40 ; 0x142 <main+0x20>
0000016a <_exit>:
16a: f8 94 cli
0000016c <__stop_program>:
16c: ff cf rjmp .-2 ; 0x16c <__stop_program>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -