📄 slave.lss
字号:
slave.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 00000d1c 00000000 00000000 00000094 2**0
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 00000030 00800060 00000d1c 00000db0 2**0
CONTENTS, ALLOC, LOAD, DATA
2 .bss 0000000a 00800090 00800090 00000de0 2**0
ALLOC
3 .noinit 00000000 0080009a 0080009a 00000de0 2**0
CONTENTS
4 .eeprom 00000000 00810000 00810000 00000de0 2**0
CONTENTS
5 .stab 00000408 00000000 00000000 00000de0 2**2
CONTENTS, READONLY, DEBUGGING
6 .stabstr 000005da 00000000 00000000 000011e8 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 12 c0 rjmp .+36 ; 0x26
2: 2b c0 rjmp .+86 ; 0x5a
4: 2a c0 rjmp .+84 ; 0x5a
6: 29 c0 rjmp .+82 ; 0x5a
8: 28 c0 rjmp .+80 ; 0x5a
a: 27 c0 rjmp .+78 ; 0x5a
c: 26 c0 rjmp .+76 ; 0x5a
e: 25 c0 rjmp .+74 ; 0x5a
10: 24 c0 rjmp .+72 ; 0x5a
12: 23 c0 rjmp .+70 ; 0x5a
14: 22 c0 rjmp .+68 ; 0x5a
16: 21 c0 rjmp .+66 ; 0x5a
18: 20 c0 rjmp .+64 ; 0x5a
1a: 1f c0 rjmp .+62 ; 0x5a
1c: 1e c0 rjmp .+60 ; 0x5a
1e: 1d c0 rjmp .+58 ; 0x5a
20: 1c c0 rjmp .+56 ; 0x5a
22: 1b c0 rjmp .+54 ; 0x5a
24: 1a c0 rjmp .+52 ; 0x5a
00000026 <__ctors_end>:
26: 11 24 eor r1, r1
28: 1f be out 0x3f, r1 ; 63
2a: cf e5 ldi r28, 0x5F ; 95
2c: d4 e0 ldi r29, 0x04 ; 4
2e: de bf out 0x3e, r29 ; 62
30: cd bf out 0x3d, r28 ; 61
00000032 <__do_copy_data>:
32: 10 e0 ldi r17, 0x00 ; 0
34: a0 e6 ldi r26, 0x60 ; 96
36: b0 e0 ldi r27, 0x00 ; 0
38: ec e1 ldi r30, 0x1C ; 28
3a: fd e0 ldi r31, 0x0D ; 13
3c: 02 c0 rjmp .+4 ; 0x42
0000003e <.do_copy_data_loop>:
3e: 05 90 lpm r0, Z+
40: 0d 92 st X+, r0
00000042 <.do_copy_data_start>:
42: a0 39 cpi r26, 0x90 ; 144
44: b1 07 cpc r27, r17
46: d9 f7 brne .-10 ; 0x3e
00000048 <__do_clear_bss>:
48: 10 e0 ldi r17, 0x00 ; 0
4a: a0 e9 ldi r26, 0x90 ; 144
4c: b0 e0 ldi r27, 0x00 ; 0
4e: 01 c0 rjmp .+2 ; 0x52
00000050 <.do_clear_bss_loop>:
50: 1d 92 st X+, r1
00000052 <.do_clear_bss_start>:
52: aa 39 cpi r26, 0x9A ; 154
54: b1 07 cpc r27, r17
56: e1 f7 brne .-8 ; 0x50
58: 1d c0 rjmp .+58 ; 0x94
0000005a <__bad_interrupt>:
5a: d2 cf rjmp .-92 ; 0x0
0000005c <usart_putchar>:
#define TWI_ADDRESS 0X32
//标准I/O输出函数
int usart_putchar(char c)
{
5c: cf 93 push r28
5e: c8 2f mov r28, r24
if(c=='\n')
60: 8a 30 cpi r24, 0x0A ; 10
62: 11 f4 brne .+4 ; 0x68
usart_putchar('\r');
64: 8d e0 ldi r24, 0x0D ; 13
66: fa df rcall .-12 ; 0x5c
loop_until_bit_is_set(UCSRA,UDRE);
68: 5d 9b sbis 0x0b, 5 ; 11
6a: fe cf rjmp .-4 ; 0x68
UDR=c;
6c: cc b9 out 0x0c, r28 ; 12
return 0;
}
6e: 80 e0 ldi r24, 0x00 ; 0
70: 90 e0 ldi r25, 0x00 ; 0
72: cf 91 pop r28
74: 08 95 ret
00000076 <IoInit>:
//初始化
void IoInit(void)
{
//串行口初始化
UCSRB=_BV(RXEN)|_BV(TXEN);/*(1<<RXCIE)|(1<<TXCIE)|*/
76: 88 e1 ldi r24, 0x18 ; 24
78: 8a b9 out 0x0a, r24 ; 10
UBRRL=25; //9600 baud 6MHz:38 4MHz:25
7a: 89 e1 ldi r24, 0x19 ; 25
7c: 89 b9 out 0x09, r24 ; 9
//UART用于标准I/O输入输出
fdevopen(usart_putchar,0,0);
7e: 40 e0 ldi r20, 0x00 ; 0
80: 50 e0 ldi r21, 0x00 ; 0
82: ba 01 movw r22, r20
84: 8e e2 ldi r24, 0x2E ; 46
86: 90 e0 ldi r25, 0x00 ; 0
88: 81 d3 rcall .+1794 ; 0x78c
//TWI接口初始化,从器件模式
TWAR=TWI_ADDRESS | _BV(TWGCE);
8a: 83 e3 ldi r24, 0x33 ; 51
8c: 82 b9 out 0x02, r24 ; 2
TWCR=_BV(TWEA) | _BV(TWEN);
8e: 84 e4 ldi r24, 0x44 ; 68
90: 86 bf out 0x36, r24 ; 54
92: 08 95 ret
00000094 <main>:
}
int main(void)
{
94: cf e5 ldi r28, 0x5F ; 95
96: d4 e0 ldi r29, 0x04 ; 4
98: de bf out 0x3e, r29 ; 62
9a: cd bf out 0x3d, r28 ; 61
uchar i,j=0;
9c: c0 e0 ldi r28, 0x00 ; 0
IoInit();
9e: eb df rcall .-42 ; 0x76
while(1)
{
while ((TWCR & _BV(TWINT)) == 0);
a0: 06 b6 in r0, 0x36 ; 54
a2: 07 fe sbrs r0, 7
a4: fd cf rjmp .-6 ; 0xa0
i=TW_STATUS;
a6: 81 b1 in r24, 0x01 ; 1
a8: 88 7f andi r24, 0xF8 ; 248
switch(i)
aa: 99 27 eor r25, r25
ac: 80 38 cpi r24, 0x80 ; 128
ae: 91 05 cpc r25, r1
b0: 79 f0 breq .+30 ; 0xd0
b2: 81 38 cpi r24, 0x81 ; 129
b4: 91 05 cpc r25, r1
b6: 24 f4 brge .+8 ; 0xc0
b8: 80 36 cpi r24, 0x60 ; 96
ba: 91 05 cpc r25, r1
bc: 29 f0 breq .+10 ; 0xc8
be: 25 c0 rjmp .+74 ; 0x10a
c0: 80 3a cpi r24, 0xA0 ; 160
c2: 91 05 cpc r25, r1
c4: e9 f0 breq .+58 ; 0x100
c6: 21 c0 rjmp .+66 ; 0x10a
{
case TW_SR_SLA_ACK:
printf("START\nSLA+W\n");
c8: 80 e6 ldi r24, 0x60 ; 96
ca: 90 e0 ldi r25, 0x00 ; 0
cc: 20 d4 rcall .+2112 ; 0x90e
break;
ce: 28 c0 rjmp .+80 ; 0x120
case TW_SR_DATA_ACK:
if(j==0)
d0: cc 23 and r28, r28
d2: 39 f4 brne .+14 ; 0xe2
printf("收到:%d",TWDR);
d4: 83 b1 in r24, 0x03 ; 3
d6: 99 27 eor r25, r25
d8: 9f 93 push r25
da: 8f 93 push r24
dc: 8c e6 ldi r24, 0x6C ; 108
de: 90 e0 ldi r25, 0x00 ; 0
e0: 06 c0 rjmp .+12 ; 0xee
else
printf(" %d",TWDR);
e2: 83 b1 in r24, 0x03 ; 3
e4: 99 27 eor r25, r25
e6: 9f 93 push r25
e8: 8f 93 push r24
ea: 84 e7 ldi r24, 0x74 ; 116
ec: 90 e0 ldi r25, 0x00 ; 0
ee: 9f 93 push r25
f0: 8f 93 push r24
f2: f9 d3 rcall .+2034 ; 0x8e6
f4: 0f 90 pop r0
f6: 0f 90 pop r0
f8: 0f 90 pop r0
fa: 0f 90 pop r0
j++;
fc: cf 5f subi r28, 0xFF ; 255
break;
fe: 10 c0 rjmp .+32 ; 0x120
case TW_SR_STOP:
printf(";\nSTOP\n\n");
100: 88 e7 ldi r24, 0x78 ; 120
102: 90 e0 ldi r25, 0x00 ; 0
104: 04 d4 rcall .+2056 ; 0x90e
j=0;
106: c0 e0 ldi r28, 0x00 ; 0
break;
108: 0b c0 rjmp .+22 ; 0x120
default:
printf("error:%x",(int)i);
10a: 9f 93 push r25
10c: 8f 93 push r24
10e: 80 e8 ldi r24, 0x80 ; 128
110: 90 e0 ldi r25, 0x00 ; 0
112: 9f 93 push r25
114: 8f 93 push r24
116: e7 d3 rcall .+1998 ; 0x8e6
break;
118: 0f 90 pop r0
11a: 0f 90 pop r0
11c: 0f 90 pop r0
11e: 0f 90 pop r0
}
TWCR=_BV(TWEA) | _BV(TWEN)|_BV(TWINT); //清除TWINT位
120: 84 ec ldi r24, 0xC4 ; 196
122: 86 bf out 0x36, r24 ; 54
124: bd cf rjmp .-134 ; 0xa0
00000126 <vfprintf>:
126: af e0 ldi r26, 0x0F ; 15
128: b0 e0 ldi r27, 0x00 ; 0
12a: e8 e9 ldi r30, 0x98 ; 152
12c: f0 e0 ldi r31, 0x00 ; 0
12e: 9d c5 rjmp .+2874 ; 0xc6a
130: aa 24 eor r10, r10
132: bb 24 eor r11, r11
134: 65 01 movw r12, r10
136: 3c 01 movw r6, r24
138: 2b 01 movw r4, r22
13a: 4d 87 std Y+13, r20 ; 0x0d
13c: 5e 87 std Y+14, r21 ; 0x0e
13e: 22 24 eor r2, r2
140: fc 01 movw r30, r24
142: 16 82 std Z+6, r1 ; 0x06
144: 17 82 std Z+7, r1 ; 0x07
146: 83 81 ldd r24, Z+3 ; 0x03
148: 81 fd sbrc r24, 1
14a: 47 c1 rjmp .+654 ; 0x3da
14c: 8f ef ldi r24, 0xFF ; 255
14e: 9f ef ldi r25, 0xFF ; 255
150: 57 c1 rjmp .+686 ; 0x400
152: 20 fe sbrs r2, 0
154: 34 c1 rjmp .+616 ; 0x3be
156: 83 2d mov r24, r3
158: 80 53 subi r24, 0x30 ; 48
15a: 8a 30 cpi r24, 0x0A ; 10
15c: 08 f4 brcc .+2 ; 0x160
15e: 3d c1 rjmp .+634 ; 0x3da
160: 83 2d mov r24, r3
162: 99 27 eor r25, r25
164: 87 fd sbrc r24, 7
166: 90 95 com r25
168: 88 36 cpi r24, 0x68 ; 104
16a: 91 05 cpc r25, r1
16c: 3c f5 brge .+78 ; 0x1bc
16e: 85 36 cpi r24, 0x65 ; 101
170: 91 05 cpc r25, r1
172: 0c f0 brlt .+2 ; 0x176
174: 4c c0 rjmp .+152 ; 0x20e
176: 88 35 cpi r24, 0x58 ; 88
178: 91 05 cpc r25, r1
17a: 09 f4 brne .+2 ; 0x17e
17c: 99 c0 rjmp .+306 ; 0x2b0
17e: 89 35 cpi r24, 0x59 ; 89
180: 91 05 cpc r25, r1
182: a4 f4 brge .+40 ; 0x1ac
184: 8b 32 cpi r24, 0x2B ; 43
186: 91 05 cpc r25, r1
188: 09 f4 brne .+2 ; 0x18c
18a: 27 c1 rjmp .+590 ; 0x3da
18c: 8c 32 cpi r24, 0x2C ; 44
18e: 91 05 cpc r25, r1
190: 44 f4 brge .+16 ; 0x1a2
192: 80 32 cpi r24, 0x20 ; 32
194: 91 05 cpc r25, r1
196: 09 f4 brne .+2 ; 0x19a
198: 20 c1 rjmp .+576 ; 0x3da
19a: 83 97 sbiw r24, 0x23 ; 35
19c: 09 f4 brne .+2 ; 0x1a0
19e: 1d c1 rjmp .+570 ; 0x3da
1a0: 06 c1 rjmp .+524 ; 0x3ae
1a2: 8d 97 sbiw r24, 0x2d ; 45
1a4: 02 97 sbiw r24, 0x02 ; 2
1a6: 08 f0 brcs .+2 ; 0x1aa
1a8: 02 c1 rjmp .+516 ; 0x3ae
1aa: 17 c1 rjmp .+558 ; 0x3da
1ac: 83 36 cpi r24, 0x63 ; 99
1ae: 91 05 cpc r25, r1
1b0: b9 f1 breq .+110 ; 0x220
1b2: 84 36 cpi r24, 0x64 ; 100
1b4: 91 05 cpc r25, r1
1b6: 09 f4 brne .+2 ; 0x1ba
1b8: 4b c0 rjmp .+150 ; 0x250
1ba: f9 c0 rjmp .+498 ; 0x3ae
1bc: 80 37 cpi r24, 0x70 ; 112
1be: 91 05 cpc r25, r1
1c0: 09 f4 brne .+2 ; 0x1c4
1c2: 72 c0 rjmp .+228 ; 0x2a8
1c4: 81 37 cpi r24, 0x71 ; 113
1c6: 91 05 cpc r25, r1
1c8: 7c f4 brge .+30 ; 0x1e8
1ca: 8c 36 cpi r24, 0x6C ; 108
1cc: 91 05 cpc r25, r1
1ce: e1 f0 breq .+56 ; 0x208
1d0: 8d 36 cpi r24, 0x6D ; 109
1d2: 91 05 cpc r25, r1
1d4: 24 f4 brge .+8 ; 0x1de
1d6: 89 36 cpi r24, 0x69 ; 105
1d8: 91 05 cpc r25, r1
1da: d1 f1 breq .+116 ; 0x250
1dc: e8 c0 rjmp .+464 ; 0x3ae
1de: 8f 36 cpi r24, 0x6F ; 111
1e0: 91 05 cpc r25, r1
1e2: 09 f4 brne .+2 ; 0x1e6
1e4: 5e c0 rjmp .+188 ; 0x2a2
1e6: e3 c0 rjmp .+454 ; 0x3ae
1e8: 85 37 cpi r24, 0x75 ; 117
1ea: 91 05 cpc r25, r1
1ec: 09 f4 brne .+2 ; 0x1f0
1ee: 62 c0 rjmp .+196 ; 0x2b4
1f0: 86 37 cpi r24, 0x76 ; 118
1f2: 91 05 cpc r25, r1
1f4: 24 f4 brge .+8 ; 0x1fe
1f6: 83 37 cpi r24, 0x73 ; 115
1f8: 91 05 cpc r25, r1
1fa: d1 f0 breq .+52 ; 0x230
1fc: d8 c0 rjmp .+432 ; 0x3ae
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -