20130702-181005

This commit is contained in:
BlubbFish 2013-07-02 16:10:02 +00:00
parent d7f9b0086e
commit 1163a6b9d5
6 changed files with 496 additions and 390 deletions

View File

@ -2,7 +2,7 @@
:100010001AC019C018C017C016C015C014C013C02C :100010001AC019C018C017C016C015C014C013C02C
:1000200012C011C010C00FC00EC011241FBECFEDF2 :1000200012C011C010C00FC00EC011241FBECFEDF2
:10003000CDBF20E0A0E6B0E001C01D92A036B2071F :10003000CDBF20E0A0E6B0E001C01D92A036B2071F
:10004000E1F7E2D1E7C1DCCF6770772780FF06C018 :10004000E1F714D219C2DCCF6770772780FF06C0B2
:1000500098B3987F98BB98B3962B98BB81FF0DC03F :1000500098B3987F98BB98B3962B98BB81FF0DC03F
:1000600098B3977C98BB98B39B01220F331F220F44 :1000600098B3977C98BB98B39B01220F331F220F44
:10007000331F220F331F292B28BB82FF06C092B3E8 :10007000331F220F331F292B28BB82FF06C092B3E8
@ -37,31 +37,37 @@
:1002400030E047E050E066E070E08FE090E02CDFC7 :1002400030E047E050E066E070E08FE090E02CDFC7
:1002500060E070E08FE090E0F7DE089588B3806C96 :1002500060E070E08FE090E0F7DE089588B3806C96
:1002600088BB969A8FE493EC0197F1F700C00000E9 :1002600088BB969A8FE493EC0197F1F700C00000E9
:10027000089560E070E08FE090E0E6DE2FE78DE823 :10027000089564E070E081E090E0E6DE2FE38DE039
:100280009BE5215080409040E1F700C0000067E00E :1002800093E0215080409040E1F700C0000060E022
:1002900070E08FE090E0D8DE2FEF8AE197EB2150FD :1002900070E081E090E0D8DE2FE38DE093E0215024
:1002A00080409040E1F700C0000014E1DAE063E034 :1002A00080409040E1F700C0000062E070E081E033
:1002B00070E08FE090E0C8DE2FEF8AE197EB2150ED :1002B00090E0CADE2FE38DE093E021508040904033
:1002C00080409040E1F700C000002FEF8AE197EBFB :1002C000E1F700C0000060E070E081E090E0BCDE9B
:1002D000215080409040E1F700C000002FEF8AE1FC :1002D0002FE38DE093E0215080409040E1F700C093
:1002E00097EB215080409040E1F700C000002FEFD5 :1002E000000061E070E081E090E0AEDE2FE38DE0A1
:1002F00088E09DE3215080409040E1F700C000007D :1002F00093E0215080409040E1F700C0000060E0B2
:10030000C12F60E070E08FE090E09EDE2FE38DE093 :1003000070E081E090E0A0DE2FE38DE093E02150EB
:1003100093E0215080409040E1F700C0000063E08E :1003100080409040E1F700C0000064E070E084E0BD
:1003200070E08FE090E090DE2FE38DE093E02150CD :1003200090E092DE2FE38DE093E0215080409040FA
:1003300080409040E1F700C00000C15011F762E03A :10033000E1F700C0000060E070E084E090E084DE5F
:1003400070E08FE090E080DE2FE786E998E92150A9 :100340002FE38DE093E0215080409040E1F700C022
:1003500080409040E1F700C0000063E070E08FE073 :10035000000062E070E084E090E076DE2FE38DE064
:1003600090E072DE2FEF8AE197EB215080409040C1 :1003600093E0215080409040E1F700C0000060E041
:10037000E1F700C000002FEF8AE197EB21508040A9 :1003700070E084E090E068DE2FE38DE093E02150B0
:100380009040E1F700C000002FEF8AE197EB215089 :1003800080409040E1F700C0000061E070E084E050
:1003900080409040E1F700C000002FEF88E09DE32F :1003900090E05ADE2FE38DE093E0215080409040C2
:1003A000215080409040E1F700C00000CD2F60E078 :1003A000E1F700C0000060E070E084E090E04CDE27
:1003B00070E08FE090E048DE2FE38DE093E0215085 :1003B0002FEB87E299E0215080409040E1F700C0A8
:1003C00080409040E1F700C0000063E070E08FE003 :1003C000000064E070E085E090E03EDE2FE38DE029
:1003D00090E03ADE2FE38DE093E0215080409040A2 :1003D00093E0215080409040E1F700C0000060E0D1
:1003E000E1F700C00000C15011F761E070E08FE05C :1003E00070E085E090E030DE2FE38DE093E0215077
:1003F00090E02ADE2FE786E998E92150804090407E :1003F00080409040E1F700C0000062E070E085E0DE
:10040000E1F700C0000053CF8FE387BB81BB26DF3D :1004000090E022DE2FE38DE093E021508040904089
:08041000A9DE2FDFF894FFCFF5 :10041000E1F700C0000060E070E085E090E014DEED
:100420002FE38DE093E0215080409040E1F700C041
:10043000000061E070E085E090E006DE2FE38DE0F3
:1004400093E0215080409040E1F700C0000060E060
:1004500070E085E090E0F8DD2FEB87E299E0215035
:1004600080409040E1F700C0000003CF8FE387BBDE
:0C04700081BBF4DE77DEFDDEF894FFCFE8
:00000001FF :00000001FF

View File

@ -3,31 +3,31 @@ Leuchtklotz.elf: file format elf32-avr
Sections: Sections:
Idx Name Size VMA LMA File off Algn Idx Name Size VMA LMA File off Algn
0 .text 00000418 00000000 00000000 00000074 2**1 0 .text 0000047c 00000000 00000000 00000074 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 00000000 00800060 00000418 0000048c 2**0 1 .data 00000000 00800060 0000047c 000004f0 2**0
CONTENTS, ALLOC, LOAD, DATA CONTENTS, ALLOC, LOAD, DATA
2 .stab 000006b4 00000000 00000000 0000048c 2**2 2 .stab 000006b4 00000000 00000000 000004f0 2**2
CONTENTS, READONLY, DEBUGGING CONTENTS, READONLY, DEBUGGING
3 .stabstr 00000082 00000000 00000000 00000b40 2**0 3 .stabstr 00000082 00000000 00000000 00000ba4 2**0
CONTENTS, READONLY, DEBUGGING CONTENTS, READONLY, DEBUGGING
4 .comment 0000002f 00000000 00000000 00000bc2 2**0 4 .comment 0000002f 00000000 00000000 00000c26 2**0
CONTENTS, READONLY CONTENTS, READONLY
5 .debug_aranges 00000078 00000000 00000000 00000bf1 2**0 5 .debug_aranges 00000080 00000000 00000000 00000c55 2**0
CONTENTS, READONLY, DEBUGGING CONTENTS, READONLY, DEBUGGING
6 .debug_info 00001935 00000000 00000000 00000c69 2**0 6 .debug_info 00002042 00000000 00000000 00000cd5 2**0
CONTENTS, READONLY, DEBUGGING CONTENTS, READONLY, DEBUGGING
7 .debug_abbrev 0000020e 00000000 00000000 0000259e 2**0 7 .debug_abbrev 00000226 00000000 00000000 00002d17 2**0
CONTENTS, READONLY, DEBUGGING CONTENTS, READONLY, DEBUGGING
8 .debug_line 0000059c 00000000 00000000 000027ac 2**0 8 .debug_line 00000711 00000000 00000000 00002f3d 2**0
CONTENTS, READONLY, DEBUGGING CONTENTS, READONLY, DEBUGGING
9 .debug_frame 00000178 00000000 00000000 00002d48 2**2 9 .debug_frame 00000188 00000000 00000000 00003650 2**2
CONTENTS, READONLY, DEBUGGING CONTENTS, READONLY, DEBUGGING
10 .debug_str 000001a1 00000000 00000000 00002ec0 2**0 10 .debug_str 000001b3 00000000 00000000 000037d8 2**0
CONTENTS, READONLY, DEBUGGING CONTENTS, READONLY, DEBUGGING
11 .debug_loc 00000643 00000000 00000000 00003061 2**0 11 .debug_loc 00000643 00000000 00000000 0000398b 2**0
CONTENTS, READONLY, DEBUGGING CONTENTS, READONLY, DEBUGGING
12 .debug_ranges 00000128 00000000 00000000 000036a4 2**0 12 .debug_ranges 00000130 00000000 00000000 00003fce 2**0
CONTENTS, READONLY, DEBUGGING CONTENTS, READONLY, DEBUGGING
Disassembly of section .text: Disassembly of section .text:
@ -74,8 +74,8 @@ Disassembly of section .text:
3c: a0 36 cpi r26, 0x60 ; 96 3c: a0 36 cpi r26, 0x60 ; 96
3e: b2 07 cpc r27, r18 3e: b2 07 cpc r27, r18
40: e1 f7 brne .-8 ; 0x3a <.do_clear_bss_loop> 40: e1 f7 brne .-8 ; 0x3a <.do_clear_bss_loop>
42: e2 d1 rcall .+964 ; 0x408 <main> 42: 14 d2 rcall .+1064 ; 0x46c <main>
44: e7 c1 rjmp .+974 ; 0x414 <_exit> 44: 19 c2 rjmp .+1074 ; 0x478 <_exit>
00000046 <__bad_interrupt>: 00000046 <__bad_interrupt>:
46: dc cf rjmp .-72 ; 0x0 <__vectors> 46: dc cf rjmp .-72 ; 0x0 <__vectors>
@ -93,12 +93,6 @@ Disassembly of section .text:
4e: 06 c0 rjmp .+12 ; 0x5c <ledg+0x14> 4e: 06 c0 rjmp .+12 ; 0x5c <ledg+0x14>
50: 98 b3 in r25, 0x18 ; 24 50: 98 b3 in r25, 0x18 ; 24
52: 98 7f andi r25, 0xF8 ; 248 52: 98 7f andi r25, 0xF8 ; 248
_delay_ms(WAIT_WARN_BLINK);
ledg(LED2 | LED4, BLACK);
_delay_ms(WAIT_WARN_BLINK);
ledg(LED2 | LED4, YELLOW);
_delay_ms(WAIT_WARN_BLINK);
ledg(LED2 | LED4, BLACK);
54: 98 bb out 0x18, r25 ; 24 54: 98 bb out 0x18, r25 ; 24
56: 98 b3 in r25, 0x18 ; 24 56: 98 b3 in r25, 0x18 ; 24
58: 96 2b or r25, r22 58: 96 2b or r25, r22
@ -113,8 +107,6 @@ Disassembly of section .text:
6a: 22 0f add r18, r18 6a: 22 0f add r18, r18
6c: 33 1f adc r19, r19 6c: 33 1f adc r19, r19
6e: 22 0f add r18, r18 6e: 22 0f add r18, r18
_delay_ms(WAIT_WARN_BLINK);
ledg(LED2 | LED4, YELLOW);
70: 33 1f adc r19, r19 70: 33 1f adc r19, r19
72: 22 0f add r18, r18 72: 22 0f add r18, r18
74: 33 1f adc r19, r19 74: 33 1f adc r19, r19
@ -129,10 +121,14 @@ Disassembly of section .text:
86: 96 2b or r25, r22 86: 96 2b or r25, r22
88: 92 bb out 0x12, r25 ; 18 88: 92 bb out 0x12, r25 ; 18
8a: 83 ff sbrs r24, 3 8a: 83 ff sbrs r24, 3
_delay_ms(WAIT_WARN_BLINK);
ledg(LED2 | LED4, BLACK);
8c: 0c c0 rjmp .+24 ; 0xa6 <ledg+0x5e> 8c: 0c c0 rjmp .+24 ; 0xa6 <ledg+0x5e>
8e: 82 b3 in r24, 0x12 ; 18 8e: 82 b3 in r24, 0x12 ; 18
_delay_ms(3000);
_delay_ms(3000);
_delay_ms(3000);
_delay_ms(1000);
for(uint8_t i=0;i<20;i++) {
ledg(LED1 | LED2 | LED3 | LED4, BLACK);
90: 87 7c andi r24, 0xC7 ; 199 90: 87 7c andi r24, 0xC7 ; 199
92: 82 bb out 0x12, r24 ; 18 92: 82 bb out 0x12, r24 ; 18
94: 82 b3 in r24, 0x12 ; 18 94: 82 b3 in r24, 0x12 ; 18
@ -147,10 +143,10 @@ Disassembly of section .text:
a6: 08 95 ret a6: 08 95 ret
000000a8 <fade>: 000000a8 <fade>:
_delay_ms(WAIT_WARN_BLINK);
ledg(LED3, RED);
a8: 2f 92 push r2 a8: 2f 92 push r2
aa: 3f 92 push r3 aa: 3f 92 push r3
_delay_ms(50);
ledg(LED1 | LED2 | LED3 | LED4, YELLOW);
ac: 4f 92 push r4 ac: 4f 92 push r4
ae: 5f 92 push r5 ae: 5f 92 push r5
b0: 6f 92 push r6 b0: 6f 92 push r6
@ -163,12 +159,22 @@ Disassembly of section .text:
be: df 92 push r13 be: df 92 push r13
c0: ef 92 push r14 c0: ef 92 push r14
c2: ff 92 push r15 c2: ff 92 push r15
_delay_ms(WAIT_WARN_BLINK);
ledg(LED3, BLACK);
c4: 0f 93 push r16 c4: 0f 93 push r16
c6: 1f 93 push r17 c6: 1f 93 push r17
c8: cf 93 push r28 c8: cf 93 push r28
ledg(LED1 | LED2 | LED3 | LED4, YELLOW);
_delay_ms(3000);
_delay_ms(3000);
_delay_ms(3000);
_delay_ms(1000);
for(uint8_t i=0;i<20;i++) {
ca: df 93 push r29 ca: df 93 push r29
ledg(LED1 | LED2 | LED3 | LED4, BLACK);
_delay_ms(50);
ledg(LED1 | LED2 | LED3 | LED4, YELLOW);
_delay_ms(50);
}
ledg(LED1 | LED2 | LED3 | LED4, GREEN);
cc: 8c 01 movw r16, r24 cc: 8c 01 movw r16, r24
ce: 4b 01 movw r8, r22 ce: 4b 01 movw r8, r22
d0: 6a 01 movw r12, r20 d0: 6a 01 movw r12, r20
@ -179,12 +185,12 @@ Disassembly of section .text:
da: 21 2c mov r2, r1 da: 21 2c mov r2, r1
dc: 2c c0 rjmp .+88 ; 0x136 <__stack+0x57> dc: 2c c0 rjmp .+88 ; 0x136 <__stack+0x57>
de: c4 2d mov r28, r4 de: c4 2d mov r28, r4
_delay_ms(WAIT_WARN_BLINK);
ledg(LED3, RED);
e0: d5 2d mov r29, r5 e0: d5 2d mov r29, r5
e2: b4 01 movw r22, r8 e2: b4 01 movw r22, r8
e4: c8 01 movw r24, r16 e4: c8 01 movw r24, r16
e6: b0 df rcall .-160 ; 0x48 <ledg> e6: b0 df rcall .-160 ; 0x48 <ledg>
_delay_ms(2500);
ledg(LED1 | LED2 | LED3 | LED4, YELLOW);
e8: 21 96 adiw r28, 0x01 ; 1 e8: 21 96 adiw r28, 0x01 ; 1
ea: cf 3f cpi r28, 0xFF ; 255 ea: cf 3f cpi r28, 0xFF ; 255
ec: d1 05 cpc r29, r1 ec: d1 05 cpc r29, r1
@ -195,8 +201,6 @@ Disassembly of section .text:
f6: c3 2d mov r28, r3 f6: c3 2d mov r28, r3
f8: d2 2d mov r29, r2 f8: d2 2d mov r29, r2
fa: b6 01 movw r22, r12 fa: b6 01 movw r22, r12
_delay_ms(WAIT_WARN_BLINK);
ledg(LED3, BLACK);
fc: c8 01 movw r24, r16 fc: c8 01 movw r24, r16
fe: a4 df rcall .-184 ; 0x48 <ledg> fe: a4 df rcall .-184 ; 0x48 <ledg>
100: 21 96 adiw r28, 0x01 ; 1 100: 21 96 adiw r28, 0x01 ; 1
@ -211,8 +215,6 @@ Disassembly of section .text:
112: 29 f4 brne .+10 ; 0x11e <__stack+0x3f> 112: 29 f4 brne .+10 ; 0x11e <__stack+0x3f>
114: 09 c0 rjmp .+18 ; 0x128 <__stack+0x49> 114: 09 c0 rjmp .+18 ; 0x128 <__stack+0x49>
116: a1 2c mov r10, r1 116: a1 2c mov r10, r1
_delay_ms(WAIT_WARN_BLINK);
ledg(LED3, RED);
118: b1 2c mov r11, r1 118: b1 2c mov r11, r1
11a: 4e 2c mov r4, r14 11a: 4e 2c mov r4, r14
11c: 5f 2c mov r5, r15 11c: 5f 2c mov r5, r15
@ -227,12 +229,16 @@ Disassembly of section .text:
12e: 8f ef ldi r24, 0xFF ; 255 12e: 8f ef ldi r24, 0xFF ; 255
130: e8 16 cp r14, r24 130: e8 16 cp r14, r24
132: f1 04 cpc r15, r1 132: f1 04 cpc r15, r1
_delay_ms(WAIT_WARN_BLINK);
ledg(LED3, BLACK);
134: 21 f0 breq .+8 ; 0x13e <__stack+0x5f> 134: 21 f0 breq .+8 ; 0x13e <__stack+0x5f>
136: 16 14 cp r1, r6 136: 16 14 cp r1, r6
138: 17 04 cpc r1, r7 138: 17 04 cpc r1, r7
13a: 6c f3 brlt .-38 ; 0x116 <__stack+0x37> 13a: 6c f3 brlt .-38 ; 0x116 <__stack+0x37>
_delay_ms(3000);
_delay_ms(3000);
_delay_ms(3000);
_delay_ms(1000);
for(uint8_t i=0;i<10;i++) {
ledg(LED1 | LED2 | LED3 | LED4, BLACK);
13c: f5 cf rjmp .-22 ; 0x128 <__stack+0x49> 13c: f5 cf rjmp .-22 ; 0x128 <__stack+0x49>
13e: df 91 pop r29 13e: df 91 pop r29
140: cf 91 pop r28 140: cf 91 pop r28
@ -244,15 +250,11 @@ Disassembly of section .text:
14c: cf 90 pop r12 14c: cf 90 pop r12
14e: bf 90 pop r11 14e: bf 90 pop r11
150: af 90 pop r10 150: af 90 pop r10
{
ledg(led,to);
}
}
}
}
152: 9f 90 pop r9 152: 9f 90 pop r9
154: 8f 90 pop r8 154: 8f 90 pop r8
156: 7f 90 pop r7 156: 7f 90 pop r7
_delay_ms(50);
ledg(LED1 | LED2 | LED3 | LED4, YELLOW);
158: 6f 90 pop r6 158: 6f 90 pop r6
15a: 5f 90 pop r5 15a: 5f 90 pop r5
15c: 4f 90 pop r4 15c: 4f 90 pop r4
@ -261,9 +263,6 @@ Disassembly of section .text:
162: 08 95 ret 162: 08 95 ret
00000164 <initleds>: 00000164 <initleds>:
void initleds() {
ledg(LED1 | LED3, CYAN);
164: 66 e0 ldi r22, 0x06 ; 6 164: 66 e0 ldi r22, 0x06 ; 6
166: 70 e0 ldi r23, 0x00 ; 0 166: 70 e0 ldi r23, 0x00 ; 0
168: 85 e0 ldi r24, 0x05 ; 5 168: 85 e0 ldi r24, 0x05 ; 5
@ -273,13 +272,23 @@ void initleds() {
170: 88 e3 ldi r24, 0x38 ; 56 170: 88 e3 ldi r24, 0x38 ; 56
172: 91 e0 ldi r25, 0x01 ; 1 172: 91 e0 ldi r25, 0x01 ; 1
174: 21 50 subi r18, 0x01 ; 1 174: 21 50 subi r18, 0x01 ; 1
ledg(LED1 | LED2 | LED3 | LED4, YELLOW);
_delay_ms(3000);
_delay_ms(3000);
_delay_ms(3000);
_delay_ms(1000);
for(uint8_t i=0;i<10;i++) {
176: 80 40 sbci r24, 0x00 ; 0 176: 80 40 sbci r24, 0x00 ; 0
ledg(LED1 | LED2 | LED3 | LED4, BLACK);
_delay_ms(50);
ledg(LED1 | LED2 | LED3 | LED4, YELLOW);
_delay_ms(50);
}
ledg(LED1 | LED2 | LED3 | LED4, RED);
178: 90 40 sbci r25, 0x00 ; 0 178: 90 40 sbci r25, 0x00 ; 0
17a: e1 f7 brne .-8 ; 0x174 <initleds+0x10> 17a: e1 f7 brne .-8 ; 0x174 <initleds+0x10>
17c: 00 c0 rjmp .+0 ; 0x17e <initleds+0x1a> 17c: 00 c0 rjmp .+0 ; 0x17e <initleds+0x1a>
17e: 00 00 nop 17e: 00 00 nop
_delay_ms(20);
ledg(LED1 | LED3, BLACK);
180: 60 e0 ldi r22, 0x00 ; 0 180: 60 e0 ldi r22, 0x00 ; 0
182: 70 e0 ldi r23, 0x00 ; 0 182: 70 e0 ldi r23, 0x00 ; 0
184: 85 e0 ldi r24, 0x05 ; 5 184: 85 e0 ldi r24, 0x05 ; 5
@ -294,6 +303,10 @@ void initleds() {
196: e1 f7 brne .-8 ; 0x190 <initleds+0x2c> 196: e1 f7 brne .-8 ; 0x190 <initleds+0x2c>
198: 00 c0 rjmp .+0 ; 0x19a <initleds+0x36> 198: 00 c0 rjmp .+0 ; 0x19a <initleds+0x36>
19a: 00 00 nop 19a: 00 00 nop
void initleds() {
ledg(LED1 | LED3, CYAN);
_delay_ms(20);
ledg(LED1 | LED3, BLACK);
_delay_ms(500); _delay_ms(500);
ledg(LED1 | LED2 | LED3 | LED4, CYAN); ledg(LED1 | LED2 | LED3 | LED4, CYAN);
19c: 66 e0 ldi r22, 0x06 ; 6 19c: 66 e0 ldi r22, 0x06 ; 6
@ -427,290 +440,326 @@ void initschalter()
26e: 00 00 nop 26e: 00 00 nop
270: 08 95 ret 270: 08 95 ret
00000272 <programHacker>: 00000272 <programGreenBlink>:
}
} }
void programHacker() void programGreenBlink()
{ {
ledg(LED1 | LED2 | LED3 | LED4, BLACK); while(1) {
272: 60 e0 ldi r22, 0x00 ; 0 ledg(LED1, BLUE);
272: 64 e0 ldi r22, 0x04 ; 4
274: 70 e0 ldi r23, 0x00 ; 0 274: 70 e0 ldi r23, 0x00 ; 0
276: 8f e0 ldi r24, 0x0F ; 15 276: 81 e0 ldi r24, 0x01 ; 1
278: 90 e0 ldi r25, 0x00 ; 0 278: 90 e0 ldi r25, 0x00 ; 0
27a: e6 de rcall .-564 ; 0x48 <ledg> 27a: e6 de rcall .-564 ; 0x48 <ledg>
27c: 2f e7 ldi r18, 0x7F ; 127 27c: 2f e3 ldi r18, 0x3F ; 63
27e: 8d e8 ldi r24, 0x8D ; 141 27e: 8d e0 ldi r24, 0x0D ; 13
280: 9b e5 ldi r25, 0x5B ; 91 280: 93 e0 ldi r25, 0x03 ; 3
282: 21 50 subi r18, 0x01 ; 1 282: 21 50 subi r18, 0x01 ; 1
284: 80 40 sbci r24, 0x00 ; 0 284: 80 40 sbci r24, 0x00 ; 0
286: 90 40 sbci r25, 0x00 ; 0 286: 90 40 sbci r25, 0x00 ; 0
288: e1 f7 brne .-8 ; 0x282 <programHacker+0x10> 288: e1 f7 brne .-8 ; 0x282 <programGreenBlink+0x10>
28a: 00 c0 rjmp .+0 ; 0x28c <programHacker+0x1a> 28a: 00 c0 rjmp .+0 ; 0x28c <programGreenBlink+0x1a>
28c: 00 00 nop 28c: 00 00 nop
_delay_ms(1500); _delay_ms(50);
ledg(LED1 | LED2 | LED3 | LED4, WHITE); ledg(LED1, BLACK);
28e: 67 e0 ldi r22, 0x07 ; 7 28e: 60 e0 ldi r22, 0x00 ; 0
290: 70 e0 ldi r23, 0x00 ; 0 290: 70 e0 ldi r23, 0x00 ; 0
292: 8f e0 ldi r24, 0x0F ; 15 292: 81 e0 ldi r24, 0x01 ; 1
294: 90 e0 ldi r25, 0x00 ; 0 294: 90 e0 ldi r25, 0x00 ; 0
296: d8 de rcall .-592 ; 0x48 <ledg> 296: d8 de rcall .-592 ; 0x48 <ledg>
298: 2f ef ldi r18, 0xFF ; 255 298: 2f e3 ldi r18, 0x3F ; 63
29a: 8a e1 ldi r24, 0x1A ; 26 29a: 8d e0 ldi r24, 0x0D ; 13
29c: 97 eb ldi r25, 0xB7 ; 183 29c: 93 e0 ldi r25, 0x03 ; 3
29e: 21 50 subi r18, 0x01 ; 1 29e: 21 50 subi r18, 0x01 ; 1
2a0: 80 40 sbci r24, 0x00 ; 0 2a0: 80 40 sbci r24, 0x00 ; 0
2a2: 90 40 sbci r25, 0x00 ; 0 2a2: 90 40 sbci r25, 0x00 ; 0
2a4: e1 f7 brne .-8 ; 0x29e <programHacker+0x2c> 2a4: e1 f7 brne .-8 ; 0x29e <programGreenBlink+0x2c>
2a6: 00 c0 rjmp .+0 ; 0x2a8 <programHacker+0x36> 2a6: 00 c0 rjmp .+0 ; 0x2a8 <programGreenBlink+0x36>
2a8: 00 00 nop 2a8: 00 00 nop
2aa: 14 e1 ldi r17, 0x14 ; 20 _delay_ms(50);
2ac: da e0 ldi r29, 0x0A ; 10 ledg(LED1, GREEN);
_delay_ms(3000); 2aa: 62 e0 ldi r22, 0x02 ; 2
while(1) { 2ac: 70 e0 ldi r23, 0x00 ; 0
2ae: 81 e0 ldi r24, 0x01 ; 1
ledg(LED1 | LED2 | LED3 | LED4, YELLOW); 2b0: 90 e0 ldi r25, 0x00 ; 0
2ae: 63 e0 ldi r22, 0x03 ; 3 2b2: ca de rcall .-620 ; 0x48 <ledg>
2b0: 70 e0 ldi r23, 0x00 ; 0 2b4: 2f e3 ldi r18, 0x3F ; 63
2b2: 8f e0 ldi r24, 0x0F ; 15 2b6: 8d e0 ldi r24, 0x0D ; 13
2b4: 90 e0 ldi r25, 0x00 ; 0 2b8: 93 e0 ldi r25, 0x03 ; 3
2b6: c8 de rcall .-624 ; 0x48 <ledg> 2ba: 21 50 subi r18, 0x01 ; 1
2b8: 2f ef ldi r18, 0xFF ; 255 2bc: 80 40 sbci r24, 0x00 ; 0
2ba: 8a e1 ldi r24, 0x1A ; 26 2be: 90 40 sbci r25, 0x00 ; 0
2bc: 97 eb ldi r25, 0xB7 ; 183 2c0: e1 f7 brne .-8 ; 0x2ba <programGreenBlink+0x48>
2be: 21 50 subi r18, 0x01 ; 1 2c2: 00 c0 rjmp .+0 ; 0x2c4 <programGreenBlink+0x52>
2c0: 80 40 sbci r24, 0x00 ; 0 2c4: 00 00 nop
2c2: 90 40 sbci r25, 0x00 ; 0 _delay_ms(50);
2c4: e1 f7 brne .-8 ; 0x2be <programHacker+0x4c> ledg(LED1, BLACK);
2c6: 00 c0 rjmp .+0 ; 0x2c8 <programHacker+0x56> 2c6: 60 e0 ldi r22, 0x00 ; 0
2c8: 00 00 nop 2c8: 70 e0 ldi r23, 0x00 ; 0
2ca: 2f ef ldi r18, 0xFF ; 255 2ca: 81 e0 ldi r24, 0x01 ; 1
2cc: 8a e1 ldi r24, 0x1A ; 26 2cc: 90 e0 ldi r25, 0x00 ; 0
2ce: 97 eb ldi r25, 0xB7 ; 183 2ce: bc de rcall .-648 ; 0x48 <ledg>
2d0: 21 50 subi r18, 0x01 ; 1 2d0: 2f e3 ldi r18, 0x3F ; 63
2d2: 80 40 sbci r24, 0x00 ; 0 2d2: 8d e0 ldi r24, 0x0D ; 13
2d4: 90 40 sbci r25, 0x00 ; 0 2d4: 93 e0 ldi r25, 0x03 ; 3
2d6: e1 f7 brne .-8 ; 0x2d0 <programHacker+0x5e> 2d6: 21 50 subi r18, 0x01 ; 1
2d8: 00 c0 rjmp .+0 ; 0x2da <programHacker+0x68> 2d8: 80 40 sbci r24, 0x00 ; 0
2da: 00 00 nop 2da: 90 40 sbci r25, 0x00 ; 0
2dc: 2f ef ldi r18, 0xFF ; 255 2dc: e1 f7 brne .-8 ; 0x2d6 <programGreenBlink+0x64>
2de: 8a e1 ldi r24, 0x1A ; 26 2de: 00 c0 rjmp .+0 ; 0x2e0 <programGreenBlink+0x6e>
2e0: 97 eb ldi r25, 0xB7 ; 183 2e0: 00 00 nop
2e2: 21 50 subi r18, 0x01 ; 1 _delay_ms(50);
2e4: 80 40 sbci r24, 0x00 ; 0 ledg(LED1, RED);
2e6: 90 40 sbci r25, 0x00 ; 0 2e2: 61 e0 ldi r22, 0x01 ; 1
2e8: e1 f7 brne .-8 ; 0x2e2 <programHacker+0x70> 2e4: 70 e0 ldi r23, 0x00 ; 0
2ea: 00 c0 rjmp .+0 ; 0x2ec <programHacker+0x7a> 2e6: 81 e0 ldi r24, 0x01 ; 1
2ec: 00 00 nop 2e8: 90 e0 ldi r25, 0x00 ; 0
2ee: 2f ef ldi r18, 0xFF ; 255 2ea: ae de rcall .-676 ; 0x48 <ledg>
2f0: 88 e0 ldi r24, 0x08 ; 8 2ec: 2f e3 ldi r18, 0x3F ; 63
2f2: 9d e3 ldi r25, 0x3D ; 61 2ee: 8d e0 ldi r24, 0x0D ; 13
2f4: 21 50 subi r18, 0x01 ; 1 2f0: 93 e0 ldi r25, 0x03 ; 3
2f6: 80 40 sbci r24, 0x00 ; 0 2f2: 21 50 subi r18, 0x01 ; 1
2f8: 90 40 sbci r25, 0x00 ; 0 2f4: 80 40 sbci r24, 0x00 ; 0
2fa: e1 f7 brne .-8 ; 0x2f4 <programHacker+0x82> 2f6: 90 40 sbci r25, 0x00 ; 0
2fc: 00 c0 rjmp .+0 ; 0x2fe <programHacker+0x8c> 2f8: e1 f7 brne .-8 ; 0x2f2 <programGreenBlink+0x80>
2fe: 00 00 nop 2fa: 00 c0 rjmp .+0 ; 0x2fc <programGreenBlink+0x8a>
300: c1 2f mov r28, r17 2fc: 00 00 nop
_delay_ms(3000); _delay_ms(50);
_delay_ms(3000); ledg(LED1, BLACK);
_delay_ms(3000); 2fe: 60 e0 ldi r22, 0x00 ; 0
_delay_ms(1000); 300: 70 e0 ldi r23, 0x00 ; 0
for(uint8_t i=0;i<20;i++) { 302: 81 e0 ldi r24, 0x01 ; 1
ledg(LED1 | LED2 | LED3 | LED4, BLACK); 304: 90 e0 ldi r25, 0x00 ; 0
302: 60 e0 ldi r22, 0x00 ; 0 306: a0 de rcall .-704 ; 0x48 <ledg>
304: 70 e0 ldi r23, 0x00 ; 0 308: 2f e3 ldi r18, 0x3F ; 63
306: 8f e0 ldi r24, 0x0F ; 15 30a: 8d e0 ldi r24, 0x0D ; 13
308: 90 e0 ldi r25, 0x00 ; 0 30c: 93 e0 ldi r25, 0x03 ; 3
30a: 9e de rcall .-708 ; 0x48 <ledg> 30e: 21 50 subi r18, 0x01 ; 1
30c: 2f e3 ldi r18, 0x3F ; 63 310: 80 40 sbci r24, 0x00 ; 0
30e: 8d e0 ldi r24, 0x0D ; 13 312: 90 40 sbci r25, 0x00 ; 0
310: 93 e0 ldi r25, 0x03 ; 3 314: e1 f7 brne .-8 ; 0x30e <programGreenBlink+0x9c>
312: 21 50 subi r18, 0x01 ; 1 316: 00 c0 rjmp .+0 ; 0x318 <programGreenBlink+0xa6>
314: 80 40 sbci r24, 0x00 ; 0 318: 00 00 nop
316: 90 40 sbci r25, 0x00 ; 0 _delay_ms(50);
318: e1 f7 brne .-8 ; 0x312 <programHacker+0xa0> ledg(LED3, BLUE);
31a: 00 c0 rjmp .+0 ; 0x31c <programHacker+0xaa> 31a: 64 e0 ldi r22, 0x04 ; 4
31c: 00 00 nop 31c: 70 e0 ldi r23, 0x00 ; 0
_delay_ms(50); 31e: 84 e0 ldi r24, 0x04 ; 4
ledg(LED1 | LED2 | LED3 | LED4, YELLOW); 320: 90 e0 ldi r25, 0x00 ; 0
31e: 63 e0 ldi r22, 0x03 ; 3 322: 92 de rcall .-732 ; 0x48 <ledg>
320: 70 e0 ldi r23, 0x00 ; 0 324: 2f e3 ldi r18, 0x3F ; 63
322: 8f e0 ldi r24, 0x0F ; 15 326: 8d e0 ldi r24, 0x0D ; 13
324: 90 e0 ldi r25, 0x00 ; 0 328: 93 e0 ldi r25, 0x03 ; 3
326: 90 de rcall .-736 ; 0x48 <ledg> 32a: 21 50 subi r18, 0x01 ; 1
328: 2f e3 ldi r18, 0x3F ; 63 32c: 80 40 sbci r24, 0x00 ; 0
32a: 8d e0 ldi r24, 0x0D ; 13 32e: 90 40 sbci r25, 0x00 ; 0
32c: 93 e0 ldi r25, 0x03 ; 3 330: e1 f7 brne .-8 ; 0x32a <programGreenBlink+0xb8>
32e: 21 50 subi r18, 0x01 ; 1 332: 00 c0 rjmp .+0 ; 0x334 <programGreenBlink+0xc2>
330: 80 40 sbci r24, 0x00 ; 0 334: 00 00 nop
332: 90 40 sbci r25, 0x00 ; 0 _delay_ms(50);
334: e1 f7 brne .-8 ; 0x32e <programHacker+0xbc> ledg(LED3, BLACK);
336: 00 c0 rjmp .+0 ; 0x338 <programHacker+0xc6> 336: 60 e0 ldi r22, 0x00 ; 0
338: 00 00 nop 338: 70 e0 ldi r23, 0x00 ; 0
33a: c1 50 subi r28, 0x01 ; 1 33a: 84 e0 ldi r24, 0x04 ; 4
ledg(LED1 | LED2 | LED3 | LED4, YELLOW); 33c: 90 e0 ldi r25, 0x00 ; 0
_delay_ms(3000); 33e: 84 de rcall .-760 ; 0x48 <ledg>
_delay_ms(3000); 340: 2f e3 ldi r18, 0x3F ; 63
_delay_ms(3000); 342: 8d e0 ldi r24, 0x0D ; 13
_delay_ms(1000); 344: 93 e0 ldi r25, 0x03 ; 3
for(uint8_t i=0;i<20;i++) { 346: 21 50 subi r18, 0x01 ; 1
33c: 11 f7 brne .-60 ; 0x302 <programHacker+0x90> 348: 80 40 sbci r24, 0x00 ; 0
ledg(LED1 | LED2 | LED3 | LED4, BLACK); 34a: 90 40 sbci r25, 0x00 ; 0
_delay_ms(50); 34c: e1 f7 brne .-8 ; 0x346 <programGreenBlink+0xd4>
ledg(LED1 | LED2 | LED3 | LED4, YELLOW); 34e: 00 c0 rjmp .+0 ; 0x350 <programGreenBlink+0xde>
_delay_ms(50); 350: 00 00 nop
} _delay_ms(50);
ledg(LED1 | LED2 | LED3 | LED4, GREEN); ledg(LED3, GREEN);
33e: 62 e0 ldi r22, 0x02 ; 2 352: 62 e0 ldi r22, 0x02 ; 2
340: 70 e0 ldi r23, 0x00 ; 0 354: 70 e0 ldi r23, 0x00 ; 0
342: 8f e0 ldi r24, 0x0F ; 15 356: 84 e0 ldi r24, 0x04 ; 4
344: 90 e0 ldi r25, 0x00 ; 0 358: 90 e0 ldi r25, 0x00 ; 0
346: 80 de rcall .-768 ; 0x48 <ledg> 35a: 76 de rcall .-788 ; 0x48 <ledg>
348: 2f e7 ldi r18, 0x7F ; 127 35c: 2f e3 ldi r18, 0x3F ; 63
34a: 86 e9 ldi r24, 0x96 ; 150 35e: 8d e0 ldi r24, 0x0D ; 13
34c: 98 e9 ldi r25, 0x98 ; 152 360: 93 e0 ldi r25, 0x03 ; 3
34e: 21 50 subi r18, 0x01 ; 1 362: 21 50 subi r18, 0x01 ; 1
350: 80 40 sbci r24, 0x00 ; 0 364: 80 40 sbci r24, 0x00 ; 0
352: 90 40 sbci r25, 0x00 ; 0 366: 90 40 sbci r25, 0x00 ; 0
354: e1 f7 brne .-8 ; 0x34e <programHacker+0xdc> 368: e1 f7 brne .-8 ; 0x362 <programGreenBlink+0xf0>
356: 00 c0 rjmp .+0 ; 0x358 <programHacker+0xe6> 36a: 00 c0 rjmp .+0 ; 0x36c <programGreenBlink+0xfa>
358: 00 00 nop 36c: 00 00 nop
_delay_ms(2500); _delay_ms(50);
ledg(LED1 | LED2 | LED3 | LED4, YELLOW); ledg(LED3, BLACK);
35a: 63 e0 ldi r22, 0x03 ; 3 36e: 60 e0 ldi r22, 0x00 ; 0
35c: 70 e0 ldi r23, 0x00 ; 0 370: 70 e0 ldi r23, 0x00 ; 0
35e: 8f e0 ldi r24, 0x0F ; 15 372: 84 e0 ldi r24, 0x04 ; 4
360: 90 e0 ldi r25, 0x00 ; 0 374: 90 e0 ldi r25, 0x00 ; 0
362: 72 de rcall .-796 ; 0x48 <ledg> 376: 68 de rcall .-816 ; 0x48 <ledg>
364: 2f ef ldi r18, 0xFF ; 255 378: 2f e3 ldi r18, 0x3F ; 63
366: 8a e1 ldi r24, 0x1A ; 26 37a: 8d e0 ldi r24, 0x0D ; 13
368: 97 eb ldi r25, 0xB7 ; 183 37c: 93 e0 ldi r25, 0x03 ; 3
36a: 21 50 subi r18, 0x01 ; 1 37e: 21 50 subi r18, 0x01 ; 1
36c: 80 40 sbci r24, 0x00 ; 0 380: 80 40 sbci r24, 0x00 ; 0
36e: 90 40 sbci r25, 0x00 ; 0 382: 90 40 sbci r25, 0x00 ; 0
370: e1 f7 brne .-8 ; 0x36a <programHacker+0xf8> 384: e1 f7 brne .-8 ; 0x37e <programGreenBlink+0x10c>
372: 00 c0 rjmp .+0 ; 0x374 <programHacker+0x102> 386: 00 c0 rjmp .+0 ; 0x388 <programGreenBlink+0x116>
374: 00 00 nop 388: 00 00 nop
376: 2f ef ldi r18, 0xFF ; 255 _delay_ms(50);
378: 8a e1 ldi r24, 0x1A ; 26 ledg(LED3, RED);
37a: 97 eb ldi r25, 0xB7 ; 183 38a: 61 e0 ldi r22, 0x01 ; 1
37c: 21 50 subi r18, 0x01 ; 1 38c: 70 e0 ldi r23, 0x00 ; 0
37e: 80 40 sbci r24, 0x00 ; 0 38e: 84 e0 ldi r24, 0x04 ; 4
380: 90 40 sbci r25, 0x00 ; 0 390: 90 e0 ldi r25, 0x00 ; 0
382: e1 f7 brne .-8 ; 0x37c <programHacker+0x10a> 392: 5a de rcall .-844 ; 0x48 <ledg>
384: 00 c0 rjmp .+0 ; 0x386 <programHacker+0x114> 394: 2f e3 ldi r18, 0x3F ; 63
386: 00 00 nop 396: 8d e0 ldi r24, 0x0D ; 13
388: 2f ef ldi r18, 0xFF ; 255 398: 93 e0 ldi r25, 0x03 ; 3
38a: 8a e1 ldi r24, 0x1A ; 26 39a: 21 50 subi r18, 0x01 ; 1
38c: 97 eb ldi r25, 0xB7 ; 183 39c: 80 40 sbci r24, 0x00 ; 0
38e: 21 50 subi r18, 0x01 ; 1 39e: 90 40 sbci r25, 0x00 ; 0
390: 80 40 sbci r24, 0x00 ; 0 3a0: e1 f7 brne .-8 ; 0x39a <programGreenBlink+0x128>
392: 90 40 sbci r25, 0x00 ; 0 3a2: 00 c0 rjmp .+0 ; 0x3a4 <programGreenBlink+0x132>
394: e1 f7 brne .-8 ; 0x38e <programHacker+0x11c> 3a4: 00 00 nop
396: 00 c0 rjmp .+0 ; 0x398 <programHacker+0x126> _delay_ms(50);
398: 00 00 nop ledg(LED3, BLACK);
39a: 2f ef ldi r18, 0xFF ; 255 3a6: 60 e0 ldi r22, 0x00 ; 0
39c: 88 e0 ldi r24, 0x08 ; 8 3a8: 70 e0 ldi r23, 0x00 ; 0
39e: 9d e3 ldi r25, 0x3D ; 61 3aa: 84 e0 ldi r24, 0x04 ; 4
3a0: 21 50 subi r18, 0x01 ; 1 3ac: 90 e0 ldi r25, 0x00 ; 0
3a2: 80 40 sbci r24, 0x00 ; 0 3ae: 4c de rcall .-872 ; 0x48 <ledg>
3a4: 90 40 sbci r25, 0x00 ; 0 3b0: 2f eb ldi r18, 0xBF ; 191
3a6: e1 f7 brne .-8 ; 0x3a0 <programHacker+0x12e> 3b2: 87 e2 ldi r24, 0x27 ; 39
3a8: 00 c0 rjmp .+0 ; 0x3aa <programHacker+0x138> 3b4: 99 e0 ldi r25, 0x09 ; 9
3aa: 00 00 nop 3b6: 21 50 subi r18, 0x01 ; 1
3ac: cd 2f mov r28, r29 3b8: 80 40 sbci r24, 0x00 ; 0
_delay_ms(3000); 3ba: 90 40 sbci r25, 0x00 ; 0
_delay_ms(3000); 3bc: e1 f7 brne .-8 ; 0x3b6 <programGreenBlink+0x144>
_delay_ms(3000); 3be: 00 c0 rjmp .+0 ; 0x3c0 <programGreenBlink+0x14e>
_delay_ms(1000); 3c0: 00 00 nop
for(uint8_t i=0;i<10;i++) { _delay_ms(150);
ledg(LED1 | LED2 | LED3 | LED4, BLACK); ledg(LED1 | LED3, BLUE);
3ae: 60 e0 ldi r22, 0x00 ; 0 3c2: 64 e0 ldi r22, 0x04 ; 4
3b0: 70 e0 ldi r23, 0x00 ; 0 3c4: 70 e0 ldi r23, 0x00 ; 0
3b2: 8f e0 ldi r24, 0x0F ; 15 3c6: 85 e0 ldi r24, 0x05 ; 5
3b4: 90 e0 ldi r25, 0x00 ; 0 3c8: 90 e0 ldi r25, 0x00 ; 0
3b6: 48 de rcall .-880 ; 0x48 <ledg> 3ca: 3e de rcall .-900 ; 0x48 <ledg>
3b8: 2f e3 ldi r18, 0x3F ; 63 3cc: 2f e3 ldi r18, 0x3F ; 63
3ba: 8d e0 ldi r24, 0x0D ; 13 3ce: 8d e0 ldi r24, 0x0D ; 13
3bc: 93 e0 ldi r25, 0x03 ; 3 3d0: 93 e0 ldi r25, 0x03 ; 3
3be: 21 50 subi r18, 0x01 ; 1 3d2: 21 50 subi r18, 0x01 ; 1
3c0: 80 40 sbci r24, 0x00 ; 0 3d4: 80 40 sbci r24, 0x00 ; 0
3c2: 90 40 sbci r25, 0x00 ; 0 3d6: 90 40 sbci r25, 0x00 ; 0
3c4: e1 f7 brne .-8 ; 0x3be <programHacker+0x14c> 3d8: e1 f7 brne .-8 ; 0x3d2 <programGreenBlink+0x160>
3c6: 00 c0 rjmp .+0 ; 0x3c8 <programHacker+0x156> 3da: 00 c0 rjmp .+0 ; 0x3dc <programGreenBlink+0x16a>
3c8: 00 00 nop 3dc: 00 00 nop
_delay_ms(50); _delay_ms(50);
ledg(LED1 | LED2 | LED3 | LED4, YELLOW); ledg(LED1 | LED3, BLACK);
3ca: 63 e0 ldi r22, 0x03 ; 3 3de: 60 e0 ldi r22, 0x00 ; 0
3cc: 70 e0 ldi r23, 0x00 ; 0 3e0: 70 e0 ldi r23, 0x00 ; 0
3ce: 8f e0 ldi r24, 0x0F ; 15 3e2: 85 e0 ldi r24, 0x05 ; 5
3d0: 90 e0 ldi r25, 0x00 ; 0 3e4: 90 e0 ldi r25, 0x00 ; 0
3d2: 3a de rcall .-908 ; 0x48 <ledg> 3e6: 30 de rcall .-928 ; 0x48 <ledg>
3d4: 2f e3 ldi r18, 0x3F ; 63 3e8: 2f e3 ldi r18, 0x3F ; 63
3d6: 8d e0 ldi r24, 0x0D ; 13 3ea: 8d e0 ldi r24, 0x0D ; 13
3d8: 93 e0 ldi r25, 0x03 ; 3 3ec: 93 e0 ldi r25, 0x03 ; 3
3da: 21 50 subi r18, 0x01 ; 1 3ee: 21 50 subi r18, 0x01 ; 1
3dc: 80 40 sbci r24, 0x00 ; 0 3f0: 80 40 sbci r24, 0x00 ; 0
3de: 90 40 sbci r25, 0x00 ; 0 3f2: 90 40 sbci r25, 0x00 ; 0
3e0: e1 f7 brne .-8 ; 0x3da <programHacker+0x168> 3f4: e1 f7 brne .-8 ; 0x3ee <programGreenBlink+0x17c>
3e2: 00 c0 rjmp .+0 ; 0x3e4 <programHacker+0x172> 3f6: 00 c0 rjmp .+0 ; 0x3f8 <programGreenBlink+0x186>
3e4: 00 00 nop 3f8: 00 00 nop
3e6: c1 50 subi r28, 0x01 ; 1 _delay_ms(50);
ledg(LED1 | LED2 | LED3 | LED4, YELLOW); ledg(LED1 | LED3, GREEN);
_delay_ms(3000); 3fa: 62 e0 ldi r22, 0x02 ; 2
_delay_ms(3000); 3fc: 70 e0 ldi r23, 0x00 ; 0
_delay_ms(3000); 3fe: 85 e0 ldi r24, 0x05 ; 5
_delay_ms(1000); 400: 90 e0 ldi r25, 0x00 ; 0
for(uint8_t i=0;i<10;i++) { 402: 22 de rcall .-956 ; 0x48 <ledg>
3e8: 11 f7 brne .-60 ; 0x3ae <programHacker+0x13c> 404: 2f e3 ldi r18, 0x3F ; 63
ledg(LED1 | LED2 | LED3 | LED4, BLACK); 406: 8d e0 ldi r24, 0x0D ; 13
_delay_ms(50); 408: 93 e0 ldi r25, 0x03 ; 3
ledg(LED1 | LED2 | LED3 | LED4, YELLOW); 40a: 21 50 subi r18, 0x01 ; 1
_delay_ms(50); 40c: 80 40 sbci r24, 0x00 ; 0
} 40e: 90 40 sbci r25, 0x00 ; 0
ledg(LED1 | LED2 | LED3 | LED4, RED); 410: e1 f7 brne .-8 ; 0x40a <programGreenBlink+0x198>
3ea: 61 e0 ldi r22, 0x01 ; 1 412: 00 c0 rjmp .+0 ; 0x414 <programGreenBlink+0x1a2>
3ec: 70 e0 ldi r23, 0x00 ; 0 414: 00 00 nop
3ee: 8f e0 ldi r24, 0x0F ; 15 _delay_ms(50);
3f0: 90 e0 ldi r25, 0x00 ; 0 ledg(LED1 | LED3, BLACK);
3f2: 2a de rcall .-940 ; 0x48 <ledg> 416: 60 e0 ldi r22, 0x00 ; 0
3f4: 2f e7 ldi r18, 0x7F ; 127 418: 70 e0 ldi r23, 0x00 ; 0
3f6: 86 e9 ldi r24, 0x96 ; 150 41a: 85 e0 ldi r24, 0x05 ; 5
3f8: 98 e9 ldi r25, 0x98 ; 152 41c: 90 e0 ldi r25, 0x00 ; 0
3fa: 21 50 subi r18, 0x01 ; 1 41e: 14 de rcall .-984 ; 0x48 <ledg>
3fc: 80 40 sbci r24, 0x00 ; 0 420: 2f e3 ldi r18, 0x3F ; 63
3fe: 90 40 sbci r25, 0x00 ; 0 422: 8d e0 ldi r24, 0x0D ; 13
400: e1 f7 brne .-8 ; 0x3fa <programHacker+0x188> 424: 93 e0 ldi r25, 0x03 ; 3
402: 00 c0 rjmp .+0 ; 0x404 <programHacker+0x192> 426: 21 50 subi r18, 0x01 ; 1
404: 00 00 nop 428: 80 40 sbci r24, 0x00 ; 0
406: 53 cf rjmp .-346 ; 0x2ae <programHacker+0x3c> 42a: 90 40 sbci r25, 0x00 ; 0
42c: e1 f7 brne .-8 ; 0x426 <programGreenBlink+0x1b4>
42e: 00 c0 rjmp .+0 ; 0x430 <programGreenBlink+0x1be>
430: 00 00 nop
_delay_ms(50);
ledg(LED1 | LED3, RED);
432: 61 e0 ldi r22, 0x01 ; 1
434: 70 e0 ldi r23, 0x00 ; 0
436: 85 e0 ldi r24, 0x05 ; 5
438: 90 e0 ldi r25, 0x00 ; 0
43a: 06 de rcall .-1012 ; 0x48 <ledg>
43c: 2f e3 ldi r18, 0x3F ; 63
43e: 8d e0 ldi r24, 0x0D ; 13
440: 93 e0 ldi r25, 0x03 ; 3
442: 21 50 subi r18, 0x01 ; 1
444: 80 40 sbci r24, 0x00 ; 0
446: 90 40 sbci r25, 0x00 ; 0
448: e1 f7 brne .-8 ; 0x442 <programGreenBlink+0x1d0>
44a: 00 c0 rjmp .+0 ; 0x44c <programGreenBlink+0x1da>
44c: 00 00 nop
_delay_ms(50);
ledg(LED1 | LED3, BLACK);
44e: 60 e0 ldi r22, 0x00 ; 0
450: 70 e0 ldi r23, 0x00 ; 0
452: 85 e0 ldi r24, 0x05 ; 5
454: 90 e0 ldi r25, 0x00 ; 0
456: f8 dd rcall .-1040 ; 0x48 <ledg>
458: 2f eb ldi r18, 0xBF ; 191
45a: 87 e2 ldi r24, 0x27 ; 39
45c: 99 e0 ldi r25, 0x09 ; 9
45e: 21 50 subi r18, 0x01 ; 1
460: 80 40 sbci r24, 0x00 ; 0
462: 90 40 sbci r25, 0x00 ; 0
464: e1 f7 brne .-8 ; 0x45e <programGreenBlink+0x1ec>
466: 00 c0 rjmp .+0 ; 0x468 <programGreenBlink+0x1f6>
468: 00 00 nop
46a: 03 cf rjmp .-506 ; 0x272 <programGreenBlink>
00000408 <main>: 0000046c <main>:
} }
} }
int main(void) int main(void)
{ {
DDRB = 0b00111111; DDRB = 0b00111111;
408: 8f e3 ldi r24, 0x3F ; 63 46c: 8f e3 ldi r24, 0x3F ; 63
40a: 87 bb out 0x17, r24 ; 23 46e: 87 bb out 0x17, r24 ; 23
DDRD = 0b00111111; DDRD = 0b00111111;
40c: 81 bb out 0x11, r24 ; 17 470: 81 bb out 0x11, r24 ; 17
initschalter(); initschalter();
40e: 26 df rcall .-436 ; 0x25c <initschalter> 472: f4 de rcall .-536 ; 0x25c <initschalter>
initleds(); initleds();
410: a9 de rcall .-686 ; 0x164 <initleds> 474: 77 de rcall .-786 ; 0x164 <initleds>
//programWarnBlink();
//programColorFull(); //programColorFull();
//programRainbow(50); //programRainbow(50);
//programWarnYellow(); //programWarnYellow();
//programCop(); //programCop();
programHacker(); //programHacker();
412: 2f df rcall .-418 ; 0x272 <programHacker> programGreenBlink();
476: fd de rcall .-518 ; 0x272 <programGreenBlink>
00000414 <_exit>: 00000478 <_exit>:
414: f8 94 cli 478: f8 94 cli
00000416 <__stop_program>: 0000047a <__stop_program>:
416: ff cf rjmp .-2 ; 0x416 <__stop_program> 47a: ff cf rjmp .-2 ; 0x47a <__stop_program>

View File

@ -21,6 +21,8 @@ Discarded input sections
0x00000000 0x144 Leuchtklotz.o 0x00000000 0x144 Leuchtklotz.o
.text.programWarnBlink .text.programWarnBlink
0x00000000 0x152 Leuchtklotz.o 0x00000000 0x152 Leuchtklotz.o
.text.programHacker
0x00000000 0x196 Leuchtklotz.o
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_exit.o) .text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_exit.o)
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_exit.o) .bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_exit.o)
.text.libgcc.mul .text.libgcc.mul
@ -161,7 +163,7 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
.rela.plt .rela.plt
*(.rela.plt) *(.rela.plt)
.text 0x00000000 0x418 .text 0x00000000 0x47c
*(.vectors) *(.vectors)
.vectors 0x00000000 0x2a c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr25/tiny-stack/crttn2313a.o .vectors 0x00000000 0x2a c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr25/tiny-stack/crttn2313a.o
0x00000000 __vector_default 0x00000000 __vector_default
@ -248,16 +250,16 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
.text.initschalter .text.initschalter
0x0000025c 0x16 Leuchtklotz.o 0x0000025c 0x16 Leuchtklotz.o
0x0000025c initschalter 0x0000025c initschalter
.text.programHacker .text.programGreenBlink
0x00000272 0x196 Leuchtklotz.o 0x00000272 0x1fa Leuchtklotz.o
0x00000272 programHacker 0x00000272 programGreenBlink
.text.main 0x00000408 0xc Leuchtklotz.o .text.main 0x0000046c 0xc Leuchtklotz.o
0x00000408 main 0x0000046c main
0x00000414 . = ALIGN (0x2) 0x00000478 . = ALIGN (0x2)
*(.fini9) *(.fini9)
.fini9 0x00000414 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_exit.o) .fini9 0x00000478 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_exit.o)
0x00000414 _exit 0x00000478 _exit
0x00000414 exit 0x00000478 exit
*(.fini9) *(.fini9)
*(.fini8) *(.fini8)
*(.fini8) *(.fini8)
@ -276,11 +278,11 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
*(.fini1) *(.fini1)
*(.fini1) *(.fini1)
*(.fini0) *(.fini0)
.fini0 0x00000414 0x4 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_exit.o) .fini0 0x00000478 0x4 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_exit.o)
*(.fini0) *(.fini0)
0x00000418 _etext = . 0x0000047c _etext = .
.data 0x00800060 0x0 load address 0x00000418 .data 0x00800060 0x0 load address 0x0000047c
0x00800060 PROVIDE (__data_start, .) 0x00800060 PROVIDE (__data_start, .)
*(.data) *(.data)
.data 0x00800060 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr25/tiny-stack/crttn2313a.o .data 0x00800060 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr25/tiny-stack/crttn2313a.o
@ -301,8 +303,8 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
*(.bss*) *(.bss*)
*(COMMON) *(COMMON)
0x00800060 PROVIDE (__bss_end, .) 0x00800060 PROVIDE (__bss_end, .)
0x00000418 __data_load_start = LOADADDR (.data) 0x0000047c __data_load_start = LOADADDR (.data)
0x00000418 __data_load_end = (__data_load_start + SIZEOF (.data)) 0x0000047c __data_load_end = (__data_load_start + SIZEOF (.data))
.noinit 0x00800060 0x0 .noinit 0x00800060 0x0
0x00800060 PROVIDE (__noinit_start, .) 0x00800060 PROVIDE (__noinit_start, .)
@ -367,35 +369,35 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
.debug_sfnames .debug_sfnames
*(.debug_sfnames) *(.debug_sfnames)
.debug_aranges 0x00000000 0x78 .debug_aranges 0x00000000 0x80
*(.debug_aranges) *(.debug_aranges)
.debug_aranges .debug_aranges
0x00000000 0x78 Leuchtklotz.o 0x00000000 0x80 Leuchtklotz.o
.debug_pubnames .debug_pubnames
*(.debug_pubnames) *(.debug_pubnames)
.debug_info 0x00000000 0x1935 .debug_info 0x00000000 0x2042
*(.debug_info) *(.debug_info)
.debug_info 0x00000000 0x1935 Leuchtklotz.o .debug_info 0x00000000 0x2042 Leuchtklotz.o
*(.gnu.linkonce.wi.*) *(.gnu.linkonce.wi.*)
.debug_abbrev 0x00000000 0x20e .debug_abbrev 0x00000000 0x226
*(.debug_abbrev) *(.debug_abbrev)
.debug_abbrev 0x00000000 0x20e Leuchtklotz.o .debug_abbrev 0x00000000 0x226 Leuchtklotz.o
.debug_line 0x00000000 0x59c .debug_line 0x00000000 0x711
*(.debug_line) *(.debug_line)
.debug_line 0x00000000 0x59c Leuchtklotz.o .debug_line 0x00000000 0x711 Leuchtklotz.o
.debug_frame 0x00000000 0x178 .debug_frame 0x00000000 0x188
*(.debug_frame) *(.debug_frame)
.debug_frame 0x00000000 0x178 Leuchtklotz.o .debug_frame 0x00000000 0x188 Leuchtklotz.o
.debug_str 0x00000000 0x1a1 .debug_str 0x00000000 0x1b3
*(.debug_str) *(.debug_str)
.debug_str 0x00000000 0x1a1 Leuchtklotz.o .debug_str 0x00000000 0x1b3 Leuchtklotz.o
0x1d5 (size before relaxing) 0x1e7 (size before relaxing)
.debug_loc 0x00000000 0x643 .debug_loc 0x00000000 0x643
*(.debug_loc) *(.debug_loc)
@ -407,9 +409,9 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
.debug_pubtypes .debug_pubtypes
*(.debug_pubtypes) *(.debug_pubtypes)
.debug_ranges 0x00000000 0x128 .debug_ranges 0x00000000 0x130
*(.debug_ranges) *(.debug_ranges)
.debug_ranges 0x00000000 0x128 Leuchtklotz.o .debug_ranges 0x00000000 0x130 Leuchtklotz.o
.debug_macro .debug_macro
*(.debug_macro) *(.debug_macro)

View File

@ -3,7 +3,7 @@ S113000014C021C020C01FC01EC01DC01CC01BC006
S11300101AC019C018C017C016C015C014C013C028 S11300101AC019C018C017C016C015C014C013C028
S113002012C011C010C00FC00EC011241FBECFEDEE S113002012C011C010C00FC00EC011241FBECFEDEE
S1130030CDBF20E0A0E6B0E001C01D92A036B2071B S1130030CDBF20E0A0E6B0E001C01D92A036B2071B
S1130040E1F7E2D1E7C1DCCF6770772780FF06C014 S1130040E1F714D219C2DCCF6770772780FF06C0AE
S113005098B3987F98BB98B3962B98BB81FF0DC03B S113005098B3987F98BB98B3962B98BB81FF0DC03B
S113006098B3977C98BB98B39B01220F331F220F40 S113006098B3977C98BB98B39B01220F331F220F40
S1130070331F220F331F292B28BB82FF06C092B3E4 S1130070331F220F331F292B28BB82FF06C092B3E4
@ -38,31 +38,37 @@ S11302308DE3915020408040E1F700C0000024E1AC
S113024030E047E050E066E070E08FE090E02CDFC3 S113024030E047E050E066E070E08FE090E02CDFC3
S113025060E070E08FE090E0F7DE089588B3806C92 S113025060E070E08FE090E0F7DE089588B3806C92
S113026088BB969A8FE493EC0197F1F700C00000E5 S113026088BB969A8FE493EC0197F1F700C00000E5
S1130270089560E070E08FE090E0E6DE2FE78DE81F S1130270089564E070E081E090E0E6DE2FE38DE035
S11302809BE5215080409040E1F700C0000067E00A S113028093E0215080409040E1F700C0000060E01E
S113029070E08FE090E0D8DE2FEF8AE197EB2150F9 S113029070E081E090E0D8DE2FE38DE093E0215020
S11302A080409040E1F700C0000014E1DAE063E030 S11302A080409040E1F700C0000062E070E081E02F
S11302B070E08FE090E0C8DE2FEF8AE197EB2150E9 S11302B090E0CADE2FE38DE093E02150804090402F
S11302C080409040E1F700C000002FEF8AE197EBF7 S11302C0E1F700C0000060E070E081E090E0BCDE97
S11302D0215080409040E1F700C000002FEF8AE1F8 S11302D02FE38DE093E0215080409040E1F700C08F
S11302E097EB215080409040E1F700C000002FEFD1 S11302E0000061E070E081E090E0AEDE2FE38DE09D
S11302F088E09DE3215080409040E1F700C0000079 S11302F093E0215080409040E1F700C0000060E0AE
S1130300C12F60E070E08FE090E09EDE2FE38DE08F S113030070E081E090E0A0DE2FE38DE093E02150E7
S113031093E0215080409040E1F700C0000063E08A S113031080409040E1F700C0000064E070E084E0B9
S113032070E08FE090E090DE2FE38DE093E02150C9 S113032090E092DE2FE38DE093E0215080409040F6
S113033080409040E1F700C00000C15011F762E036 S1130330E1F700C0000060E070E084E090E084DE5B
S113034070E08FE090E080DE2FE786E998E92150A5 S11303402FE38DE093E0215080409040E1F700C01E
S113035080409040E1F700C0000063E070E08FE06F S1130350000062E070E084E090E076DE2FE38DE060
S113036090E072DE2FEF8AE197EB215080409040BD S113036093E0215080409040E1F700C0000060E03D
S1130370E1F700C000002FEF8AE197EB21508040A5 S113037070E084E090E068DE2FE38DE093E02150AC
S11303809040E1F700C000002FEF8AE197EB215085 S113038080409040E1F700C0000061E070E084E04C
S113039080409040E1F700C000002FEF88E09DE32B S113039090E05ADE2FE38DE093E0215080409040BE
S11303A0215080409040E1F700C00000CD2F60E074 S11303A0E1F700C0000060E070E084E090E04CDE23
S11303B070E08FE090E048DE2FE38DE093E0215081 S11303B02FEB87E299E0215080409040E1F700C0A4
S11303C080409040E1F700C0000063E070E08FE0FF S11303C0000064E070E085E090E03EDE2FE38DE025
S11303D090E03ADE2FE38DE093E02150804090409E S11303D093E0215080409040E1F700C0000060E0CD
S11303E0E1F700C00000C15011F761E070E08FE058 S11303E070E085E090E030DE2FE38DE093E0215073
S11303F090E02ADE2FE786E998E92150804090407A S11303F080409040E1F700C0000062E070E085E0DA
S1130400E1F700C0000053CF8FE387BB81BB26DF39 S113040090E022DE2FE38DE093E021508040904085
S10B0410A9DE2FDFF894FFCFF1 S1130410E1F700C0000060E070E085E090E014DEE9
S11304202FE38DE093E0215080409040E1F700C03D
S1130430000061E070E085E090E006DE2FE38DE0EF
S113044093E0215080409040E1F700C0000060E05C
S113045070E085E090E0F8DD2FEB87E299E0215031
S113046080409040E1F700C0000003CF8FE387BBDA
S10F047081BBF4DE77DEFDDEF894FFCFE4
S9030000FC S9030000FC

View File

@ -281,6 +281,48 @@ void programHacker()
} }
} }
void programGreenBlink()
{
while(1) {
ledg(LED1, BLUE);
_delay_ms(50);
ledg(LED1, BLACK);
_delay_ms(50);
ledg(LED1, GREEN);
_delay_ms(50);
ledg(LED1, BLACK);
_delay_ms(50);
ledg(LED1, RED);
_delay_ms(50);
ledg(LED1, BLACK);
_delay_ms(50);
ledg(LED3, BLUE);
_delay_ms(50);
ledg(LED3, BLACK);
_delay_ms(50);
ledg(LED3, GREEN);
_delay_ms(50);
ledg(LED3, BLACK);
_delay_ms(50);
ledg(LED3, RED);
_delay_ms(50);
ledg(LED3, BLACK);
_delay_ms(150);
ledg(LED1 | LED3, BLUE);
_delay_ms(50);
ledg(LED1 | LED3, BLACK);
_delay_ms(50);
ledg(LED1 | LED3, GREEN);
_delay_ms(50);
ledg(LED1 | LED3, BLACK);
_delay_ms(50);
ledg(LED1 | LED3, RED);
_delay_ms(50);
ledg(LED1 | LED3, BLACK);
_delay_ms(150);
}
}
int main(void) int main(void)
{ {
DDRB = 0b00111111; DDRB = 0b00111111;
@ -294,6 +336,7 @@ int main(void)
//programRainbow(50); //programRainbow(50);
//programWarnYellow(); //programWarnYellow();
//programCop(); //programCop();
programHacker(); //programHacker();
programGreenBlink();
} }
} }