www.pudn.com > adc-disp.rar > adc-disp.lss
adc-disp.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 0000032c 00000000 00000000 00000074 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 00000010 00800060 0000032c 000003a0 2**0
CONTENTS, ALLOC, LOAD, DATA
2 .bss 00000014 00800070 0000033c 000003b0 2**0
ALLOC
3 .debug_aranges 00000020 00000000 00000000 000003b0 2**0
CONTENTS, READONLY, DEBUGGING
4 .debug_pubnames 0000004d 00000000 00000000 000003d0 2**0
CONTENTS, READONLY, DEBUGGING
5 .debug_info 000003bf 00000000 00000000 0000041d 2**0
CONTENTS, READONLY, DEBUGGING
6 .debug_abbrev 0000018f 00000000 00000000 000007dc 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_line 00000331 00000000 00000000 0000096b 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_frame 00000060 00000000 00000000 00000c9c 2**2
CONTENTS, READONLY, DEBUGGING
9 .debug_str 00000131 00000000 00000000 00000cfc 2**0
CONTENTS, READONLY, DEBUGGING
10 .debug_loc 000001ad 00000000 00000000 00000e2d 2**0
CONTENTS, READONLY, DEBUGGING
11 .debug_ranges 00000120 00000000 00000000 00000fda 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 0c 94 2a 00 jmp 0x54 ; 0x54 <__ctors_end>
4: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
8: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
c: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
10: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
14: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
18: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
1c: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
20: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
24: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
28: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
2c: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
30: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
34: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
38: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
3c: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
40: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
44: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
48: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
4c: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
50: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
00000054 <__ctors_end>:
54: 11 24 eor r1, r1
56: 1f be out 0x3f, r1 ; 63
58: cf e5 ldi r28, 0x5F ; 95
5a: d4 e0 ldi r29, 0x04 ; 4
5c: de bf out 0x3e, r29 ; 62
5e: cd bf out 0x3d, r28 ; 61
00000060 <__do_copy_data>:
60: 10 e0 ldi r17, 0x00 ; 0
62: a0 e6 ldi r26, 0x60 ; 96
64: b0 e0 ldi r27, 0x00 ; 0
66: ec e2 ldi r30, 0x2C ; 44
68: f3 e0 ldi r31, 0x03 ; 3
6a: 02 c0 rjmp .+4 ; 0x70 <.do_copy_data_start>
0000006c <.do_copy_data_loop>:
6c: 05 90 lpm r0, Z+
6e: 0d 92 st X+, r0
00000070 <.do_copy_data_start>:
70: a0 37 cpi r26, 0x70 ; 112
72: b1 07 cpc r27, r17
74: d9 f7 brne .-10 ; 0x6c <.do_copy_data_loop>
00000076 <__do_clear_bss>:
76: 10 e0 ldi r17, 0x00 ; 0
78: a0 e7 ldi r26, 0x70 ; 112
7a: b0 e0 ldi r27, 0x00 ; 0
7c: 01 c0 rjmp .+2 ; 0x80 <.do_clear_bss_start>
0000007e <.do_clear_bss_loop>:
7e: 1d 92 st X+, r1
00000080 <.do_clear_bss_start>:
80: a4 38 cpi r26, 0x84 ; 132
82: b1 07 cpc r27, r17
84: e1 f7 brne .-8 ; 0x7e <.do_clear_bss_loop>
86: 0e 94 50 01 call 0x2a0 ; 0x2a0
8a: 0c 94 94 01 jmp 0x328 ; 0x328 <_exit>
0000008e <__bad_interrupt>:
8e: 0c 94 00 00 jmp 0 ; 0x0 <__vectors>
00000092 :
static uint g_aAdValue[8]; //A/D转换缓冲区
static uchar g_aLed[4];
void IoInit(void)
{
92: d8 98 cbi 0x1b, 0 ; 27
PORTA&=~_BV(PA0); //初始化pa0
DDRC=0xff;
94: 8f ef ldi r24, 0xFF ; 255
96: 84 bb out 0x14, r24 ; 20
PORTC=0X00;
98: 15 ba out 0x15, r1 ; 21
DDRA=0xf0;
9a: 80 ef ldi r24, 0xF0 ; 240
9c: 8a bb out 0x1a, r24 ; 26
PORTA=0xf0;
9e: 8b bb out 0x1b, r24 ; 27
}
a0: 08 95 ret
000000a2 :
uint AdcConvert(void)
{
a2: ff 92 push r15
a4: 0f 93 push r16
a6: 1f 93 push r17
a8: cf 93 push r28
aa: df 93 push r29
uchar i;
uint ret;
uchar max_id,min_id,max_value,min_value;
ADMUX=0xc0;//内部2.56V参考电压,0通道
ac: 80 ec ldi r24, 0xC0 ; 192
ae: 87 b9 out 0x07, r24 ; 7
ADCSRA=_BV(ADEN);//使能ADC,单次转换模式
b0: 80 e8 ldi r24, 0x80 ; 128
b2: 86 b9 out 0x06, r24 ; 6
b4: e0 e7 ldi r30, 0x70 ; 112
b6: f0 e0 ldi r31, 0x00 ; 0
can be achieved.
*/
void
_delay_loop_1(uint8_t __count)
{
__asm__ volatile (
b8: 40 e5 ldi r20, 0x50 ; 80
//连续转换8次
for(i=0;i<8;i++)
{
ADCSRA|=_BV(ADSC);
ba: 36 9a sbi 0x06, 6 ; 6
bc: 84 2f mov r24, r20
be: 8a 95 dec r24
c0: f1 f7 brne .-4 ; 0xbe
_delay_us(60);
while(ADCSRA&_BV(ADSC))
c2: 36 99 sbic 0x06, 6 ; 6
c4: fb cf rjmp .-10 ; 0xbc
_delay_us(60);
ret=ADCL;
c6: 84 b1 in r24, 0x04 ; 4
c8: 90 e0 ldi r25, 0x00 ; 0
ret|=(uint)(ADCH<<8);
ca: 25 b1 in r18, 0x05 ; 5
g_aAdValue[i]=ret;
cc: 32 2f mov r19, r18
ce: 20 e0 ldi r18, 0x00 ; 0
d0: 82 2b or r24, r18
d2: 93 2b or r25, r19
d4: 81 93 st Z+, r24
d6: 91 93 st Z+, r25
ADMUX=0xc0;//内部2.56V参考电压,0通道
ADCSRA=_BV(ADEN);//使能ADC,单次转换模式
//连续转换8次
for(i=0;i<8;i++)
d8: 80 e0 ldi r24, 0x00 ; 0
da: e0 38 cpi r30, 0x80 ; 128
dc: f8 07 cpc r31, r24
de: 69 f7 brne .-38 ; 0xba
e0: ef 01 movw r28, r30
e2: 2e 97 sbiw r28, 0x0e ; 14
e4: fe 01 movw r30, r28
e6: 20 e0 ldi r18, 0x00 ; 0
e8: 30 e0 ldi r19, 0x00 ; 0
ret|=(uint)(ADCH<<8);
g_aAdValue[i]=ret;
}
ret=0;
for(i=1;i<8;i++)
ret+=g_aAdValue[i];
ea: 81 91 ld r24, Z+
ec: 91 91 ld r25, Z+
ee: 28 0f add r18, r24
f0: 39 1f adc r19, r25
ret=ADCL;
ret|=(uint)(ADCH<<8);
g_aAdValue[i]=ret;
}
ret=0;
for(i=1;i<8;i++)
f2: 80 e0 ldi r24, 0x00 ; 0
f4: e0 38 cpi r30, 0x80 ; 128
f6: f8 07 cpc r31, r24
f8: c1 f7 brne .-16 ; 0xea
ret+=g_aAdValue[i];
//找到最大和最小值索引
ret/=7;
fa: c9 01 movw r24, r18
fc: 67 e0 ldi r22, 0x07 ; 7
fe: 70 e0 ldi r23, 0x00 ; 0
100: 0e 94 80 01 call 0x300 ; 0x300 <__udivmodhi4>
104: ab 01 movw r20, r22
106: 3e 97 sbiw r30, 0x0e ; 14
108: a1 e0 ldi r26, 0x01 ; 1
10a: 11 e0 ldi r17, 0x01 ; 1
10c: b1 e0 ldi r27, 0x01 ; 1
10e: ff 24 eor r15, r15
110: 00 e0 ldi r16, 0x00 ; 0
max_id=min_id=1;
max_value=min_value=0;
for(i=1;i<8;i++)
{
if(g_aAdValue[i]>ret)
112: 60 81 ld r22, Z
114: 71 81 ldd r23, Z+1 ; 0x01
116: 46 17 cp r20, r22
118: 57 07 cpc r21, r23
11a: 60 f4 brcc .+24 ; 0x134
{
if(g_aAdValue[i]-ret>max_value)
11c: 9b 01 movw r18, r22
11e: 24 1b sub r18, r20
120: 35 0b sbc r19, r21
122: 8f 2d mov r24, r15
124: 90 e0 ldi r25, 0x00 ; 0
126: 82 17 cp r24, r18
128: 93 07 cpc r25, r19
12a: 78 f4 brcc .+30 ; 0x14a
{
max_value=g_aAdValue[i]-ret;
12c: f6 2e mov r15, r22
12e: f4 1a sub r15, r20
130: 1a 2f mov r17, r26
132: 0b c0 rjmp .+22 ; 0x14a
max_id=i;
}
}
else
{
if(ret-g_aAdValue[i]>min_value)
134: 9a 01 movw r18, r20
136: 26 1b sub r18, r22
138: 37 0b sbc r19, r23
13a: 80 2f mov r24, r16
13c: 90 e0 ldi r25, 0x00 ; 0
13e: 82 17 cp r24, r18
140: 93 07 cpc r25, r19
142: 18 f4 brcc .+6 ; 0x14a
{
min_value=ret-g_aAdValue[i];
144: 04 2f mov r16, r20
146: 06 1b sub r16, r22
148: ba 2f mov r27, r26
//找到最大和最小值索引
ret/=7;
max_id=min_id=1;
max_value=min_value=0;
for(i=1;i<8;i++)
14a: af 5f subi r26, 0xFF ; 255
14c: 32 96 adiw r30, 0x02 ; 2
14e: a8 30 cpi r26, 0x08 ; 8
150: 01 f7 brne .-64 ; 0x112
152: 41 e0 ldi r20, 0x01 ; 1
154: 20 e0 ldi r18, 0x00 ; 0
156: 30 e0 ldi r19, 0x00 ; 0
//去掉第一个和最大最小值后的平均值
ret=0;
for(i=1;i<8;i++)
{
if((i!=min_id)&&(i!=max_id))
158: 4b 17 cp r20, r27
15a: 31 f0 breq .+12 ; 0x168
15c: 41 17 cp r20, r17
15e: 21 f0 breq .+8 ; 0x168
ret+=g_aAdValue[i];
160: 88 81 ld r24, Y
162: 99 81 ldd r25, Y+1 ; 0x01
164: 28 0f add r18, r24
166: 39 1f adc r19, r25
}
}
//去掉第一个和最大最小值后的平均值
ret=0;
for(i=1;i<8;i++)
168: 4f 5f subi r20, 0xFF ; 255
16a: 22 96 adiw r28, 0x02 ; 2
16c: 48 30 cpi r20, 0x08 ; 8
16e: a1 f7 brne .-24 ; 0x158
{
if((i!=min_id)&&(i!=max_id))
ret+=g_aAdValue[i];
}
if(min_id!=max_id)
170: b1 17 cp r27, r17
172: 21 f0 breq .+8 ; 0x17c
ret/=5;
174: c9 01 movw r24, r18
176: 65 e0 ldi r22, 0x05 ; 5
178: 70 e0 ldi r23, 0x00 ; 0
17a: 03 c0 rjmp .+6 ; 0x182
else
ret/=6;
17c: c9 01 movw r24, r18
17e: 66 e0 ldi r22, 0x06 ; 6
180: 70 e0 ldi r23, 0x00 ; 0
182: 0e 94 80 01 call 0x300 ; 0x300 <__udivmodhi4>
ADCSRA=0;//关闭ADC
186: 16 b8 out 0x06, r1 ; 6
return ret;
}
188: cb 01 movw r24, r22
18a: df 91 pop r29
18c: cf 91 pop r28
18e: 1f 91 pop r17
190: 0f 91 pop r16
192: ff 90 pop r15
194: 08 95 ret
00000196 :
int Led_disp(void)
{
196: 44 e0 ldi r20, 0x04 ; 4
198: 50 e0 ldi r21, 0x00 ; 0
uchar i;
for(i=0;i<4;i++)
{
PORTC=g_aLed[i];
PORTA&=~(1<<(i+4));
19a: a1 e0 ldi r26, 0x01 ; 1
19c: b0 e0 ldi r27, 0x00 ; 0
milliseconds can be achieved.
*/
void
_delay_loop_2(uint16_t __count)
{
__asm__ volatile (
19e: 68 ee ldi r22, 0xE8 ; 232
1a0: 73 e0 ldi r23, 0x03 ; 3
_delay_us(1000);
PORTA=0xf0;
1a2: 30 ef ldi r19, 0xF0 ; 240
int Led_disp(void)
{
uchar i;
for(i=0;i<4;i++)
{
PORTC=g_aLed[i];
1a4: fa 01 movw r30, r20
1a6: e4 58 subi r30, 0x84 ; 132
1a8: ff 4f sbci r31, 0xFF ; 255
1aa: 80 81 ld r24, Z
1ac: 85 bb out 0x15, r24 ; 21
PORTA&=~(1<<(i+4));
1ae: 2b b3 in r18, 0x1b ; 27
1b0: cd 01 movw r24, r26
1b2: 04 2e mov r0, r20
1b4: 02 c0 rjmp .+4 ; 0x1ba
1b6: 88 0f add r24, r24
1b8: 99 1f adc r25, r25
1ba: 0a 94 dec r0
1bc: e2 f7 brpl .-8 ; 0x1b6
1be: 80 95 com r24
1c0: 82 23 and r24, r18
1c2: 8b bb out 0x1b, r24 ; 27
1c4: cb 01 movw r24, r22
1c6: 01 97 sbiw r24, 0x01 ; 1
1c8: f1 f7 brne .-4 ; 0x1c6
_delay_us(1000);
PORTA=0xf0;
1ca: 3b bb out 0x1b, r19 ; 27
1cc: 4f 5f subi r20, 0xFF ; 255
1ce: 5f 4f sbci r21, 0xFF ; 255
}
int Led_disp(void)
{
uchar i;
for(i=0;i<4;i++)
1d0: 48 30 cpi r20, 0x08 ; 8
1d2: 51 05 cpc r21, r1
1d4: 39 f7 brne .-50 ; 0x1a4
PORTA&=~(1<<(i+4));
_delay_us(1000);
PORTA=0xf0;
}
return 0;
}
1d6: 80 e0 ldi r24, 0x00 ; 0
1d8: 90 e0 ldi r25, 0x00 ; 0
1da: 08 95 ret
000001dc :
int NtoBCD(void)
{
1dc: 1f 93 push r17
1de: df 93 push r29
1e0: cf 93 push r28
1e2: cd b7 in r28, 0x3d ; 61
1e4: de b7 in r29, 0x3e ; 62
1e6: 60 97 sbiw r28, 0x10 ; 16
1e8: 0f b6 in r0, 0x3f ; 63
1ea: f8 94 cli
1ec: de bf out 0x3e, r29 ; 62
1ee: 0f be out 0x3f, r0 ; 63
1f0: cd bf out 0x3d, r28 ; 61
uchar g_aDisplayBuf[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
1f2: de 01 movw r26, r28
1f4: 11 96 adiw r26, 0x01 ; 1
1f6: e0 e6 ldi r30, 0x60 ; 96
1f8: f0 e0 ldi r31, 0x00 ; 0
1fa: 80 e1 ldi r24, 0x10 ; 16
1fc: 01 90 ld r0, Z+
1fe: 0d 92 st X+, r0
200: 81 50 subi r24, 0x01 ; 1
202: e1 f7 brne .-8 ; 0x1fc
uint num;
uchar aa,bb,cc;
num=AdcConvert()*10/41;//1024对应2.49V
204: 0e 94 51 00 call 0xa2 ; 0xa2
208: 9c 01 movw r18, r24
20a: 53 e0 ldi r21, 0x03 ; 3
20c: 88 0f add r24, r24
20e: 99 1f adc r25, r25
210: 5a 95 dec r21
212: e1 f7 brne .-8 ; 0x20c
214: 22 0f add r18, r18
216: 33 1f adc r19, r19
218: 82 0f add r24, r18
21a: 93 1f adc r25, r19
21c: 69 e2 ldi r22, 0x29 ; 41
21e: 70 e0 ldi r23, 0x00 ; 0
220: 0e 94 80 01 call 0x300 ; 0x300 <__udivmodhi4>
224: 9b 01 movw r18, r22
aa=num/100;
bb=(num%100)/10;
226: cb 01 movw r24, r22
228: 64 e6 ldi r22, 0x64 ; 100
22a: 70 e0 ldi r23, 0x00 ; 0
22c: 0e 94 80 01 call 0x300 ; 0x300 <__udivmodhi4>
230: 48 2f mov r20, r24
232: 19 2f mov r17, r25
cc=(num%100)%10;
g_aLed[0]=0x80|g_aDisplayBuf[aa];
234: c9 01 movw r24, r18
236: 64 e6 ldi r22, 0x64 ; 100
238: 70 e0 ldi r23, 0x00 ; 0
23a: 0e 94 80 01 call 0x300 ; 0x300 <__udivmodhi4>
23e: 9e 01 movw r18, r28
240: 2f 5f subi r18, 0xFF ; 255
242: 3f 4f sbci r19, 0xFF ; 255
244: f9 01 movw r30, r18
246: e6 0f add r30, r22
248: f1 1d adc r31, r1
24a: 80 81 ld r24, Z
24c: 80 68 ori r24, 0x80 ; 128
24e: 80 93 80 00 sts 0x0080, r24
g_aLed[1]=g_aDisplayBuf[bb];
252: 84 2f mov r24, r20
254: 91 2f mov r25, r17
256: 6a e0 ldi r22, 0x0A ; 10
258: 70 e0 ldi r23, 0x00 ; 0
25a: 0e 94 80 01 call 0x300 ; 0x300 <__udivmodhi4>
25e: f9 01 movw r30, r18
260: e6 0f add r30, r22
262: f1 1d adc r31, r1
264: 80 81 ld r24, Z
266: 80 93 81 00 sts 0x0081, r24
g_aLed[2]=g_aDisplayBuf[cc];
26a: 84 2f mov r24, r20
26c: 91 2f mov r25, r17
26e: 6a e0 ldi r22, 0x0A ; 10
270: 70 e0 ldi r23, 0x00 ; 0
272: 0e 94 80 01 call 0x300 ; 0x300 <__udivmodhi4>
276: 28 0f add r18, r24
278: 31 1d adc r19, r1
27a: f9 01 movw r30, r18
27c: 80 81 ld r24, Z
27e: 80 93 82 00 sts 0x0082, r24
g_aLed[3]=0x1c;//显示“v”
282: 8c e1 ldi r24, 0x1C ; 28
284: 80 93 83 00 sts 0x0083, r24
return 0;
}
288: 80 e0 ldi r24, 0x00 ; 0
28a: 90 e0 ldi r25, 0x00 ; 0
28c: 60 96 adiw r28, 0x10 ; 16
28e: 0f b6 in r0, 0x3f ; 63
290: f8 94 cli
292: de bf out 0x3e, r29 ; 62
294: 0f be out 0x3f, r0 ; 63
296: cd bf out 0x3d, r28 ; 61
298: cf 91 pop r28
29a: df 91 pop r29
29c: 1f 91 pop r17
29e: 08 95 ret
000002a0 :
int main(void)
{
2a0: ff 92 push r15
2a2: 0f 93 push r16
2a4: 1f 93 push r17
2a6: cf 93 push r28
2a8: df 93 push r29
static uint g_aAdValue[8]; //A/D转换缓冲区
static uchar g_aLed[4];
void IoInit(void)
{
PORTA&=~_BV(PA0); //初始化pa0
2aa: d8 98 cbi 0x1b, 0 ; 27
DDRC=0xff;
2ac: 8f ef ldi r24, 0xFF ; 255
2ae: 84 bb out 0x14, r24 ; 20
PORTC=0X00;
2b0: 15 ba out 0x15, r1 ; 21
DDRA=0xf0;
2b2: 80 ef ldi r24, 0xF0 ; 240
2b4: 8a bb out 0x1a, r24 ; 26
PORTA=0xf0;
2b6: 8b bb out 0x1b, r24 ; 27
{
uchar i;
for(i=0;i<4;i++)
{
PORTC=g_aLed[i];
PORTA&=~(1<<(i+4));
2b8: 01 e0 ldi r16, 0x01 ; 1
2ba: 10 e0 ldi r17, 0x00 ; 0
2bc: c8 ee ldi r28, 0xE8 ; 232
2be: d3 e0 ldi r29, 0x03 ; 3
_delay_us(1000);
PORTA=0xf0;
2c0: 60 ef ldi r22, 0xF0 ; 240
2c2: f6 2e mov r15, r22
int main(void)
{
IoInit();
while(1)
{
NtoBCD();
2c4: 0e 94 ee 00 call 0x1dc ; 0x1dc
2c8: 44 e0 ldi r20, 0x04 ; 4
2ca: 50 e0 ldi r21, 0x00 ; 0
int Led_disp(void)
{
uchar i;
for(i=0;i<4;i++)
{
PORTC=g_aLed[i];
2cc: fa 01 movw r30, r20
2ce: e4 58 subi r30, 0x84 ; 132
2d0: ff 4f sbci r31, 0xFF ; 255
2d2: 80 81 ld r24, Z
2d4: 85 bb out 0x15, r24 ; 21
PORTA&=~(1<<(i+4));
2d6: 2b b3 in r18, 0x1b ; 27
2d8: c8 01 movw r24, r16
2da: 04 2e mov r0, r20
2dc: 02 c0 rjmp .+4 ; 0x2e2
2de: 88 0f add r24, r24
2e0: 99 1f adc r25, r25
2e2: 0a 94 dec r0
2e4: e2 f7 brpl .-8 ; 0x2de
2e6: 80 95 com r24
2e8: 82 23 and r24, r18
2ea: 8b bb out 0x1b, r24 ; 27
2ec: ce 01 movw r24, r28
2ee: 01 97 sbiw r24, 0x01 ; 1
2f0: f1 f7 brne .-4 ; 0x2ee
_delay_us(1000);
PORTA=0xf0;
2f2: fb ba out 0x1b, r15 ; 27
2f4: 4f 5f subi r20, 0xFF ; 255
2f6: 5f 4f sbci r21, 0xFF ; 255
}
int Led_disp(void)
{
uchar i;
for(i=0;i<4;i++)
2f8: 48 30 cpi r20, 0x08 ; 8
2fa: 51 05 cpc r21, r1
2fc: 39 f7 brne .-50 ; 0x2cc
2fe: e2 cf rjmp .-60 ; 0x2c4
00000300 <__udivmodhi4>:
300: aa 1b sub r26, r26
302: bb 1b sub r27, r27
304: 51 e1 ldi r21, 0x11 ; 17
306: 07 c0 rjmp .+14 ; 0x316 <__udivmodhi4_ep>
00000308 <__udivmodhi4_loop>:
308: aa 1f adc r26, r26
30a: bb 1f adc r27, r27
30c: a6 17 cp r26, r22
30e: b7 07 cpc r27, r23
310: 10 f0 brcs .+4 ; 0x316 <__udivmodhi4_ep>
312: a6 1b sub r26, r22
314: b7 0b sbc r27, r23
00000316 <__udivmodhi4_ep>:
316: 88 1f adc r24, r24
318: 99 1f adc r25, r25
31a: 5a 95 dec r21
31c: a9 f7 brne .-22 ; 0x308 <__udivmodhi4_loop>
31e: 80 95 com r24
320: 90 95 com r25
322: bc 01 movw r22, r24
324: cd 01 movw r24, r26
326: 08 95 ret
00000328 <_exit>:
328: f8 94 cli
0000032a <__stop_program>:
32a: ff cf rjmp .-2 ; 0x32a <__stop_program>