📄 usart.lss
字号:
usart.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .data 00000000 00800100 000001a0 00000234 2**0
CONTENTS, ALLOC, LOAD, DATA
1 .text 000001a0 00000000 00000000 00000094 2**0
CONTENTS, ALLOC, LOAD, READONLY, CODE
2 .bss 00000001 00800100 00800100 00000234 2**0
ALLOC
3 .noinit 00000000 00800101 00800101 00000234 2**0
CONTENTS
4 .eeprom 00000000 00810000 00810000 00000234 2**0
CONTENTS
5 .stab 00000498 00000000 00000000 00000234 2**2
CONTENTS, READONLY, DEBUGGING
6 .stabstr 00000664 00000000 00000000 000006cc 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 0c 94 46 00 jmp 0x8c
4: 0c 94 63 00 jmp 0xc6
8: 0c 94 63 00 jmp 0xc6
c: 0c 94 63 00 jmp 0xc6
10: 0c 94 63 00 jmp 0xc6
14: 0c 94 63 00 jmp 0xc6
18: 0c 94 63 00 jmp 0xc6
1c: 0c 94 63 00 jmp 0xc6
20: 0c 94 63 00 jmp 0xc6
24: 0c 94 63 00 jmp 0xc6
28: 0c 94 63 00 jmp 0xc6
2c: 0c 94 63 00 jmp 0xc6
30: 0c 94 63 00 jmp 0xc6
34: 0c 94 63 00 jmp 0xc6
38: 0c 94 63 00 jmp 0xc6
3c: 0c 94 63 00 jmp 0xc6
40: 0c 94 63 00 jmp 0xc6
44: 0c 94 63 00 jmp 0xc6
48: 0c 94 79 00 jmp 0xf2
4c: 0c 94 63 00 jmp 0xc6
50: 0c 94 63 00 jmp 0xc6
54: 0c 94 63 00 jmp 0xc6
58: 0c 94 63 00 jmp 0xc6
5c: 0c 94 63 00 jmp 0xc6
60: 0c 94 63 00 jmp 0xc6
64: 0c 94 63 00 jmp 0xc6
68: 0c 94 63 00 jmp 0xc6
6c: 0c 94 63 00 jmp 0xc6
70: 0c 94 63 00 jmp 0xc6
74: 0c 94 63 00 jmp 0xc6
78: 0c 94 63 00 jmp 0xc6
7c: 0c 94 63 00 jmp 0xc6
80: 0c 94 63 00 jmp 0xc6
84: 0c 94 63 00 jmp 0xc6
88: 0c 94 63 00 jmp 0xc6
0000008c <__ctors_end>:
8c: 11 24 eor r1, r1
8e: 1f be out 0x3f, r1 ; 63
90: cf ef ldi r28, 0xFF ; 255
92: d0 e1 ldi r29, 0x10 ; 16
94: de bf out 0x3e, r29 ; 62
96: cd bf out 0x3d, r28 ; 61
00000098 <__do_copy_data>:
98: 11 e0 ldi r17, 0x01 ; 1
9a: a0 e0 ldi r26, 0x00 ; 0
9c: b1 e0 ldi r27, 0x01 ; 1
9e: e0 ea ldi r30, 0xA0 ; 160
a0: f1 e0 ldi r31, 0x01 ; 1
a2: 00 e0 ldi r16, 0x00 ; 0
a4: 0b bf out 0x3b, r16 ; 59
a6: 02 c0 rjmp .+4 ; 0xac
000000a8 <.__do_copy_data_loop>:
a8: 07 90 elpm r0, Z+
aa: 0d 92 st X+, r0
000000ac <.__do_copy_data_start>:
ac: a0 30 cpi r26, 0x00 ; 0
ae: b1 07 cpc r27, r17
b0: d9 f7 brne .-10 ; 0xa8
000000b2 <__do_clear_bss>:
b2: 11 e0 ldi r17, 0x01 ; 1
b4: a0 e0 ldi r26, 0x00 ; 0
b6: b1 e0 ldi r27, 0x01 ; 1
b8: 01 c0 rjmp .+2 ; 0xbc
000000ba <.do_clear_bss_loop>:
ba: 1d 92 st X+, r1
000000bc <.do_clear_bss_start>:
bc: a1 30 cpi r26, 0x01 ; 1
be: b1 07 cpc r27, r17
c0: e1 f7 brne .-8 ; 0xba
c2: 0c 94 be 00 jmp 0x17c
000000c6 <__bad_interrupt>:
c6: 0c 94 00 00 jmp 0x0
000000ca <port_init>:
unsigned char j;
void port_init(void){
DDRA=0XFF;
ca: 8f ef ldi r24, 0xFF ; 255
cc: 8a bb out 0x1a, r24 ; 26
PORTA=0XFF;
ce: 8b bb out 0x1b, r24 ; 27
DDRC=0X00;
d0: 14 ba out 0x14, r1 ; 20
PORTC=0XFF;
d2: 85 bb out 0x15, r24 ; 21
d4: 08 95 ret
000000d6 <usart0_init>:
}
void usart0_init(void){
UBRR0L=0X19;
d6: 89 e1 ldi r24, 0x19 ; 25
d8: 89 b9 out 0x09, r24 ; 9
UBRR0H=0X00;
da: 10 92 90 00 sts 0x0090, r1
UCSR0B=(1<<RXEN0)|(1<<TXEN0)|(1<<RXCIE0);
de: 88 e9 ldi r24, 0x98 ; 152
e0: 8a b9 out 0x0a, r24 ; 10
UCSR0C=(1<<UCSZ01)|(1<<UCSZ00);
e2: 86 e0 ldi r24, 0x06 ; 6
e4: 80 93 95 00 sts 0x0095, r24
e8: 08 95 ret
000000ea <usart0_transmit>:
}
void usart0_transmit(unsigned char data){
while(!(UCSR0A&(1<<UDRE0)));
ea: 5d 9b sbis 0x0b, 5 ; 11
ec: fe cf rjmp .-4 ; 0xea
UDR0=data;
ee: 8c b9 out 0x0c, r24 ; 12
f0: 08 95 ret
000000f2 <__vector_18>:
}
SIGNAL(SIG_USART0_RECV){
f2: 1f 92 push r1
f4: 0f 92 push r0
f6: 0f b6 in r0, 0x3f ; 63
f8: 0f 92 push r0
fa: 11 24 eor r1, r1
fc: 8f 93 push r24
fe: 9f 93 push r25
j=UDR0;
100: 8c b1 in r24, 0x0c ; 12
102: 80 93 00 01 sts 0x0100, r24
switch(j){
106: 99 27 eor r25, r25
108: 85 33 cpi r24, 0x35 ; 53
10a: 91 05 cpc r25, r1
10c: 31 f1 breq .+76 ; 0x15a
10e: 86 33 cpi r24, 0x36 ; 54
110: 91 05 cpc r25, r1
112: 7c f4 brge .+30 ; 0x132
114: 82 33 cpi r24, 0x32 ; 50
116: 91 05 cpc r25, r1
118: d1 f0 breq .+52 ; 0x14e
11a: 83 33 cpi r24, 0x33 ; 51
11c: 91 05 cpc r25, r1
11e: 1c f4 brge .+6 ; 0x126
120: c1 97 sbiw r24, 0x31 ; 49
122: 99 f0 breq .+38 ; 0x14a
124: 24 c0 rjmp .+72 ; 0x16e
126: 83 33 cpi r24, 0x33 ; 51
128: 91 05 cpc r25, r1
12a: 99 f0 breq .+38 ; 0x152
12c: c4 97 sbiw r24, 0x34 ; 52
12e: 99 f0 breq .+38 ; 0x156
130: 1e c0 rjmp .+60 ; 0x16e
132: 87 33 cpi r24, 0x37 ; 55
134: 91 05 cpc r25, r1
136: a9 f0 breq .+42 ; 0x162
138: 87 33 cpi r24, 0x37 ; 55
13a: 91 05 cpc r25, r1
13c: 84 f0 brlt .+32 ; 0x15e
13e: 88 33 cpi r24, 0x38 ; 56
140: 91 05 cpc r25, r1
142: 89 f0 breq .+34 ; 0x166
144: c9 97 sbiw r24, 0x39 ; 57
146: 91 f0 breq .+36 ; 0x16c
148: 12 c0 rjmp .+36 ; 0x16e
case 0X31: PORTA=0B11111110; break;
14a: 8e ef ldi r24, 0xFE ; 254
14c: 0d c0 rjmp .+26 ; 0x168
case 0X32: PORTA=0B11111101; break;
14e: 8d ef ldi r24, 0xFD ; 253
150: 0b c0 rjmp .+22 ; 0x168
case 0X33: PORTA=0B11111011; break;
152: 8b ef ldi r24, 0xFB ; 251
154: 09 c0 rjmp .+18 ; 0x168
case 0X34: PORTA=0B11110111; break;
156: 87 ef ldi r24, 0xF7 ; 247
158: 07 c0 rjmp .+14 ; 0x168
case 0X35: PORTA=0B11101111; break;
15a: 8f ee ldi r24, 0xEF ; 239
15c: 05 c0 rjmp .+10 ; 0x168
case 0X36: PORTA=0B11011111; break;
15e: 8f ed ldi r24, 0xDF ; 223
160: 03 c0 rjmp .+6 ; 0x168
case 0X37: PORTA=0B10111111; break;
162: 8f eb ldi r24, 0xBF ; 191
164: 01 c0 rjmp .+2 ; 0x168
case 0X38: PORTA=0B01111111; break;
166: 8f e7 ldi r24, 0x7F ; 127
168: 8b bb out 0x1b, r24 ; 27
16a: 01 c0 rjmp .+2 ; 0x16e
case 0X39: PORTA=0B00000000; break;
16c: 1b ba out 0x1b, r1 ; 27
16e: 9f 91 pop r25
170: 8f 91 pop r24
172: 0f 90 pop r0
174: 0f be out 0x3f, r0 ; 63
176: 0f 90 pop r0
178: 1f 90 pop r1
17a: 18 95 reti
0000017c <main>:
default: break;
}
}
int main(void){
17c: cf ef ldi r28, 0xFF ; 255
17e: d0 e1 ldi r29, 0x10 ; 16
180: de bf out 0x3e, r29 ; 62
182: cd bf out 0x3d, r28 ; 61
unsigned char i,m;
cli();
184: f8 94 cli
port_init();
186: 0e 94 65 00 call 0xca
usart0_init();
18a: 0e 94 6b 00 call 0xd6
sei();
18e: 78 94 sei
190: c9 e0 ldi r28, 0x09 ; 9
for(m=0;m<10;m++){
i=PINC;
192: 83 b3 in r24, 0x13 ; 19
usart0_transmit(i);
194: 0e 94 75 00 call 0xea
198: c1 50 subi r28, 0x01 ; 1
19a: c7 ff sbrs r28, 7
19c: fa cf rjmp .-12 ; 0x192
}
for(;;){
19e: ff cf rjmp .-2 ; 0x19e
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -