digiweb.elf: file format elf32-avr Sections: Idx Name Size VMA LMA File off Algn 0 .data 000000ec 00801100 0001c664 0001c6f8 2**0 CONTENTS, ALLOC, LOAD, DATA 1 .text 0001c664 00000000 00000000 00000094 2**1 CONTENTS, ALLOC, LOAD, READONLY, CODE 2 .bss 0000c2cf 008011ec 008011ec 0001c7e4 2**0 ALLOC 3 .noinit 00000000 0080d4bb 0080d4bb 0001c7e4 2**0 CONTENTS 4 .eeprom 00000000 00810000 00810000 0001c7e4 2**0 CONTENTS 5 .debug_aranges 00000450 00000000 00000000 0001c7e4 2**0 CONTENTS, READONLY, DEBUGGING 6 .debug_pubnames 0000194f 00000000 00000000 0001cc34 2**0 CONTENTS, READONLY, DEBUGGING 7 .debug_info 0002b3a8 00000000 00000000 0001e583 2**0 CONTENTS, READONLY, DEBUGGING 8 .debug_abbrev 00006b16 00000000 00000000 0004992b 2**0 CONTENTS, READONLY, DEBUGGING 9 .debug_line 00012e06 00000000 00000000 00050441 2**0 CONTENTS, READONLY, DEBUGGING 10 .debug_str 00004fb0 00000000 00000000 00063247 2**0 CONTENTS, READONLY, DEBUGGING 11 .debug_ranges 00000108 0001c664 0001c664 000681f7 2**0 CONTENTS, READONLY, DEBUGGING Disassembly of section .text: 00000000 <__vectors>: 0: 0c 94 d4 0f jmp 0x1fa8 4: 0c 94 f5 0f jmp 0x1fea 8: 0c 94 f5 0f jmp 0x1fea c: 0c 94 f5 0f jmp 0x1fea 10: 0c 94 f5 0f jmp 0x1fea 14: 0c 94 f5 0f jmp 0x1fea 18: 0c 94 f5 0f jmp 0x1fea 1c: 0c 94 f5 0f jmp 0x1fea 20: 0c 94 f5 0f jmp 0x1fea 24: 0c 94 f5 0f jmp 0x1fea 28: 0c 94 62 9a jmp 0x134c4 2c: 0c 94 f5 0f jmp 0x1fea 30: 0c 94 f5 0f jmp 0x1fea 34: 0c 94 f5 0f jmp 0x1fea 38: 0c 94 f5 0f jmp 0x1fea 3c: 0c 94 f5 0f jmp 0x1fea 40: 0c 94 f5 0f jmp 0x1fea 44: 0c 94 f5 0f jmp 0x1fea 48: 0c 94 93 b1 jmp 0x16326 4c: 0c 94 b7 b1 jmp 0x1636e 50: 0c 94 db b1 jmp 0x163b6 54: 0c 94 f5 0f jmp 0x1fea 58: 0c 94 f5 0f jmp 0x1fea 5c: 0c 94 f5 0f jmp 0x1fea 60: 0c 94 f5 0f jmp 0x1fea 64: 0c 94 f5 0f jmp 0x1fea 68: 0c 94 ff b1 jmp 0x163fe 6c: 0c 94 8f b2 jmp 0x1651e 70: 0c 94 ee d9 jmp 0x1b3dc 74: 0c 94 f5 0f jmp 0x1fea 78: 0c 94 23 b2 jmp 0x16446 7c: 0c 94 47 b2 jmp 0x1648e 80: 0c 94 6b b2 jmp 0x164d6 84: 0c 94 f5 0f jmp 0x1fea 88: 0c 94 f5 0f jmp 0x1fea 0000008c <__ctors_end>: 8c: be 10 cpse r11, r14 8e: c1 10 cpse r12, r1 90: c4 10 cpse r12, r4 92: c7 10 cpse r12, r7 94: ca 10 cpse r12, r10 96: cd 10 cpse r12, r13 98: d0 10 cpse r13, r0 9a: d3 10 cpse r13, r3 9c: 3c 11 cpse r19, r12 9e: 42 11 cpse r20, r2 a0: 59 11 cpse r21, r9 a2: d4 11 cpse r29, r4 a4: ec 11 cpse r30, r12 a6: 16 12 cpse r1, r22 a8: 42 12 cpse r4, r18 aa: 1b 14 cp r1, r11 ac: ef 12 cpse r14, r31 ae: 11 13 cpse r17, r17 b0: 4a 13 cpse r20, r26 b2: 8f 13 cpse r24, r31 b4: 9b 13 cpse r25, r27 b6: dc 13 cpse r29, r28 b8: 02 14 cp r0, r2 ba: 3e 14 cp r3, r14 bc: 51 14 cp r5, r1 be: be 14 cp r11, r14 c0: d2 14 cp r13, r2 c2: de 14 cp r13, r14 c4: e9 14 cp r14, r9 c6: f6 14 cp r15, r6 c8: 29 15 cp r18, r9 ca: 39 15 cp r19, r9 cc: 48 15 cp r20, r8 ce: 66 15 cp r22, r6 d0: b4 15 cp r27, r4 d2: d6 15 cp r29, r6 d4: ea 15 cp r30, r10 d6: 18 16 cp r1, r24 d8: 34 16 cp r3, r20 da: dc 16 cp r13, r28 dc: e5 16 cp r14, r21 de: f8 16 cp r15, r24 e0: 1f 19 sub r17, r15 e2: 27 19 sub r18, r7 e4: 44 19 sub r20, r4 e6: a8 19 sub r26, r8 e8: b9 19 sub r27, r9 ea: f3 19 sub r31, r3 ec: 5a 1a sub r5, r26 ee: 71 1a sub r7, r17 f0: a7 1a sub r10, r23 f2: 0b 1b sub r16, r27 f4: b9 1a sub r11, r25 f6: c8 1a sub r12, r24 f8: d9 1a sub r13, r25 fa: 1f 1b sub r17, r31 fc: 3b 1b sub r19, r27 fe: 48 1b sub r20, r24 100: 75 1c adc r7, r5 102: 8f 1c adc r8, r15 104: a2 1c adc r10, r2 106: a9 1c adc r10, r9 108: b7 1c adc r11, r7 10a: dd 1c adc r13, r13 10c: e6 1c adc r14, r6 10e: 10 1d adc r17, r0 110: 27 1d adc r18, r7 112: 2f 1d adc r18, r15 114: 2f 1d adc r18, r15 116: 37 1d adc r19, r7 118: 50 1d adc r21, r0 11a: 59 1d adc r21, r9 11c: 61 1d adc r22, r1 11e: 76 1d adc r23, r6 120: 80 1d adc r24, r0 122: 8b 1d adc r24, r11 124: 95 1d adc r25, r5 126: a2 1d adc r26, r2 128: b4 1d adc r27, r4 12a: c2 1d adc r28, r2 12c: cd 1d adc r28, r13 12e: d5 1d adc r29, r5 130: eb 1d adc r30, r11 132: f6 1d adc r31, r6 134: 01 1e adc r0, r17 136: 09 1e adc r0, r25 138: 25 1e adc r2, r21 13a: 44 1e adc r4, r20 13c: 4e 1e adc r4, r30 13e: 76 1e adc r7, r22 140: 81 1e adc r8, r17 142: 94 1e adc r9, r20 144: ad 1e adc r10, r29 146: be 1e adc r11, r30 148: c5 1e adc r12, r21 14a: dd 1e adc r13, r29 14c: 85 1f adc r24, r21 14e: 8d 1f adc r24, r29 150: 94 1f adc r25, r20 152: 98 1f adc r25, r24 154: 9a 1f adc r25, r26 156: b6 1f adc r27, r22 158: bd 1f adc r27, r29 15a: c1 1f adc r28, r17 15c: c7 1f adc r28, r23 15e: cd 1f adc r28, r29 160: d3 1f adc r29, r19 162: d7 1f adc r29, r23 164: db 1f adc r29, r27 166: e3 1f adc r30, r19 168: ef 1f adc r30, r31 16a: f5 1f adc r31, r21 16c: 03 20 and r0, r3 16e: 0a 20 and r0, r10 170: 0f 20 and r0, r15 172: 13 20 and r1, r3 174: 19 20 and r1, r9 176: 1e 20 and r1, r14 178: 23 20 and r2, r3 17a: 27 20 and r2, r7 17c: 2b 20 and r2, r11 17e: 32 20 and r3, r2 180: 3f 20 and r3, r15 182: 5a 20 and r5, r10 184: 68 20 and r6, r8 186: 6f 20 and r6, r15 188: 1b 21 and r17, r11 18a: 1d 21 and r17, r13 18c: 30 21 and r19, r0 18e: 3e 21 and r19, r14 190: 51 21 and r21, r1 192: 64 21 and r22, r4 194: 64 21 and r22, r4 196: 91 21 and r25, r1 198: c6 21 and r28, r6 19a: ca 21 and r28, r10 19c: d1 21 and r29, r1 19e: da 21 and r29, r10 1a0: f9 21 and r31, r9 1a2: 14 22 and r1, r20 1a4: 1b 22 and r1, r27 1a6: d9 22 and r13, r25 1a8: 09 23 and r16, r25 1aa: 24 23 and r18, r20 1ac: 2d 23 and r18, r29 1ae: 32 23 and r19, r18 1b0: 48 23 and r20, r24 1b2: c3 23 and r28, r19 1b4: ef 23 and r30, r31 1b6: 36 24 eor r3, r6 1b8: 6d 24 eor r6, r13 1ba: 75 24 eor r7, r5 1bc: f1 24 eor r15, r1 1be: cb 49 sbci r28, 0x9B ; 155 1c0: e8 4a sbci r30, 0xA8 ; 168 1c2: 2d 4a sbci r18, 0xAD ; 173 1c4: 55 4a sbci r21, 0xA5 ; 165 1c6: 67 49 sbci r22, 0x97 ; 151 1c8: e8 4a sbci r30, 0xA8 ; 168 1ca: e8 4a sbci r30, 0xA8 ; 168 1cc: e8 4a sbci r30, 0xA8 ; 168 1ce: e8 4a sbci r30, 0xA8 ; 168 1d0: 59 49 sbci r21, 0x99 ; 153 1d2: e8 4a sbci r30, 0xA8 ; 168 1d4: e8 4a sbci r30, 0xA8 ; 168 1d6: d4 49 sbci r29, 0x94 ; 148 1d8: e8 4a sbci r30, 0xA8 ; 168 1da: e8 4a sbci r30, 0xA8 ; 168 1dc: e8 4a sbci r30, 0xA8 ; 168 1de: 43 49 sbci r20, 0x93 ; 147 1e0: e8 4a sbci r30, 0xA8 ; 168 1e2: 4f 4a sbci r20, 0xAF ; 175 1e4: b1 b0 in r11, 0x01 ; 1 1e6: b6 b0 in r11, 0x06 ; 6 1e8: b6 b0 in r11, 0x06 ; 6 1ea: cc b0 in r12, 0x0c ; 12 1ec: da b0 in r13, 0x0a ; 10 1ee: 94 b0 in r9, 0x04 ; 4 1f0: d0 b0 in r13, 0x00 ; 0 1f2: a9 b0 in r10, 0x09 ; 9 1f4: c0 b0 in r12, 0x00 ; 0 1f6: c7 b0 in r12, 0x07 ; 7 1f8: 50 b1 in r21, 0x00 ; 0 1fa: 57 b1 in r21, 0x07 ; 7 1fc: 58 b1 in r21, 0x08 ; 8 1fe: 76 b1 in r23, 0x06 ; 6 200: 89 b1 in r24, 0x09 ; 9 202: 31 b1 in r19, 0x01 ; 1 204: 7b b1 in r23, 0x0b ; 11 206: 47 b1 in r20, 0x07 ; 7 208: 68 b1 in r22, 0x08 ; 8 20a: 70 b1 in r23, 0x00 ; 0 0000020c : 20c: fe fc f8 f0 e0 c0 80 00 ........ 00000214 : 214: 00 00 01 00 02 00 01 00 03 00 01 00 02 00 01 00 ................ 224: 04 00 01 00 02 00 01 00 03 00 01 00 02 00 01 00 ................ 234: 05 00 01 00 02 00 01 00 03 00 01 00 02 00 01 00 ................ 244: 04 00 01 00 02 00 01 00 03 00 01 00 02 00 01 00 ................ 254: 06 00 01 00 02 00 01 00 03 00 01 00 02 00 01 00 ................ 264: 04 00 01 00 02 00 01 00 03 00 01 00 02 00 01 00 ................ 274: 05 00 01 00 02 00 01 00 03 00 01 00 02 00 01 00 ................ 284: 04 00 01 00 02 00 01 00 03 00 01 00 02 00 01 00 ................ 294: 07 00 01 00 02 00 01 00 03 00 01 00 02 00 01 00 ................ 2a4: 04 00 01 00 02 00 01 00 03 00 01 00 02 00 01 00 ................ 2b4: 05 00 01 00 02 00 01 00 03 00 01 00 02 00 01 00 ................ 2c4: 04 00 01 00 02 00 01 00 03 00 01 00 02 00 01 00 ................ 2d4: 06 00 01 00 02 00 01 00 03 00 01 00 02 00 01 00 ................ 2e4: 04 00 01 00 02 00 01 00 03 00 01 00 02 00 01 00 ................ 2f4: 05 00 01 00 02 00 01 00 03 00 01 00 02 00 01 00 ................ 304: 04 00 01 00 02 00 01 00 03 00 01 00 02 00 01 00 ................ 00000314 : 314: 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46 0123456789ABCDEF 00000324 : 324: 01 f1 02 05 00 00 00 00 00 00 00 02 f2 02 07 00 ................ 334: 00 00 00 00 00 00 04 f3 02 09 00 00 00 00 00 00 ................ 344: 00 08 f4 02 0b 00 00 00 00 00 00 00 10 f5 01 0d ................ 354: 00 00 00 00 00 00 00 20 f6 01 0e 00 00 00 00 00 ....... ........ 364: 00 00 40 f7 01 0f 00 00 00 00 00 00 00 80 f8 01 ..@............. 374: 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 384: 00 00 00 ... 00000387 : 387: 01 f1 01 02 00 00 00 00 00 00 00 00 00 00 00 00 ................ 397: 00 00 00 00 00 00 ...... 0000039d : 39d: 01 f1 02 05 00 00 00 00 00 00 00 00 00 00 00 00 ................ 3ad: 00 00 00 00 00 00 ...... 000003b3 : 3b3: 01 f1 01 1e 00 00 00 00 00 00 00 02 f2 01 03 00 ................ 3c3: 00 00 00 00 00 00 04 f3 01 04 00 00 00 00 00 00 ................ 3d3: 00 08 f4 01 05 00 00 00 00 00 00 00 10 f5 01 06 ................ 3e3: 00 00 00 00 00 00 00 20 f6 01 07 00 00 00 00 00 ....... ........ ... 00000400 : 400: 08 f6 02 1e 02 00 00 00 00 00 00 10 f3 01 0f 01 ................ 410: 10 02 09 00 00 00 01 f1 01 01 01 02 01 03 01 04 ................ 420: 00 02 f2 01 05 01 06 01 07 01 08 00 04 f4 02 0d ................ 430: 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ ... 00000442 : 442: 00 00 84 2d 28 00 00 01 00 84 2d 28 01 00 02 00 ...-(.....-(.... 452: 84 2d 28 02 00 03 00 84 2d 28 03 00 04 00 84 2d .-(.....-(.....- 462: 28 04 00 05 00 84 2d 28 05 00 06 00 84 2d 28 06 (.....-(.....-(. 472: 00 07 00 84 2d 28 07 00 28 00 74 64 13 00 00 32 ....-(..(.td...2 482: 00 84 bd 28 00 00 33 00 84 bd 28 01 00 34 00 84 ...(..3...(..4.. 492: bd 28 02 00 35 00 84 bd 28 03 00 36 00 84 bd 28 .(..5...(..6...( 4a2: 04 00 37 00 84 bd 28 05 00 38 00 84 bd 28 06 00 ..7...(..8...(.. 4b2: 39 00 84 bd 28 07 00 5a 00 74 68 13 00 00 5b 00 9...(..Z.th...[. 4c2: 61 9b 1a 00 00 5c 00 74 91 12 00 00 5d 00 71 88 a....\.t....].q. 4d2: 12 00 00 5e 00 71 87 12 00 00 5f 00 71 89 12 00 ...^.q...._.q... 4e2: 00 60 00 04 85 1a 00 00 61 00 74 8c 12 00 00 62 .`......a.t....b 4f2: 00 71 8a 12 00 00 63 00 71 8b 12 00 00 8c 00 84 .q....c.q....... 502: 8c 8c 00 00 8d 00 84 8c 8c 01 00 8e 00 84 8c 8c ................ 512: 02 00 8f 00 84 8c 8c 03 00 90 00 84 8c 8c 04 00 ................ 522: 91 00 84 8c 8c 05 00 92 00 84 8c 8c 06 00 93 00 ................ 532: 84 8c 8c 07 00 95 00 02 62 13 00 00 96 00 75 f2 ........b.....u. 542: 11 00 00 97 00 b8 6a 27 00 00 98 00 f5 ed 27 00 ......j'......'. 552: 00 99 00 84 9b ad 00 00 9a 00 75 fa 11 00 00 9b ..........u..... 562: 00 78 6d 13 32 00 9c 00 75 76 12 00 00 9d 00 78 .xm.2...uv.....x 572: 9f 13 0a 00 9e 00 78 44 12 32 00 9f 00 78 12 12 ......xD.2...x.. 582: 32 00 a0 00 78 fe 11 0a 00 a1 00 78 08 12 0a 00 2...x......x.... 592: a2 00 74 a9 13 00 00 a3 00 04 e7 17 00 00 a4 00 ..t............. 5a2: 05 df 17 00 00 a6 00 09 00 00 00 00 a7 00 71 90 ..............q. 5b2: 12 00 00 a9 00 75 95 12 00 00 aa 00 75 7f 12 00 .....u......u... 5c2: 00 ab 00 84 74 29 00 00 ac 00 a8 b0 2b 00 00 ad ....t)......+... 5d2: 00 21 65 2b 00 00 ae 00 74 83 12 00 00 b1 00 71 .!e+....t......q 5e2: 7e 12 00 00 b4 00 f1 21 29 00 00 b5 00 f1 3f 29 ~......!).....?) 5f2: 00 00 b6 00 71 7c 12 00 00 b7 00 71 7d 12 00 00 ....q|.....q}... 602: b8 00 84 8c 8c 00 00 b9 00 84 8c 8c 01 00 ba 00 ................ 612: f1 bb 26 00 00 bb 00 84 65 29 00 00 c6 00 84 bd ..&.....e)...... 622: 8c 00 00 c7 00 a8 27 28 00 00 ......'(.. 0000062c <__c.1>: 62c: 32 2e 31 32 32 20 28 31 33 2e 30 35 2e 32 30 30 2.122 (13.05.200 63c: 35 29 00 5). 0000063f <__c.6>: 63f: 77 62 00 wb. 00000642 <__c.7>: 642: 4e 61 6d 65 3b 56 61 6c 75 65 0d 0a 00 Name;Value... 0000064f <__c.8>: 64f: 0d 0a 00 ... 00000652 <__c.2>: 652: 66 74 70 00 ftp. 00000656 <__c.3>: 656: 66 74 70 00 ftp. 0000065a <__c.4>: 65a: 64 69 67 69 77 65 62 40 64 69 67 69 74 72 6f 6e digiweb@digitron 66a: 69 63 2e 63 6f 6d 00 ic.com. 00000671 <__c.5>: 671: 64 69 67 69 77 65 62 00 digiweb. 00000679 <__c.0>: 679: 72 62 00 rb. 0000067c : 67c: 74 65 78 74 2f 68 74 6d 6c 00 text/html. 00000686 : 686: 69 6d 61 67 65 2f 70 6e 67 00 image/png. 00000690 : 690: 69 6d 61 67 65 2f 6a 70 65 67 00 image/jpeg. 0000069b : 69b: 69 6d 61 67 65 2f 67 69 66 00 image/gif. 000006a5 : 6a5: 74 65 78 74 2f 70 6c 61 69 6e 00 text/plain. 000006b0 <__c.9>: 6b0: 48 54 54 50 2f 31 2e 30 20 00 HTTP/1.0 . 000006ba <__c.10>: 6ba: 53 65 72 76 65 72 3a 20 44 69 67 69 77 65 62 0d Server: Digiweb. 6ca: 0a 45 78 70 69 72 65 73 3a 20 4d 6f 6e 2c 20 32 .Expires: Mon, 2 6da: 36 20 4a 75 6c 20 31 39 39 37 20 30 35 3a 30 30 6 Jul 1997 05:00 6ea: 3a 30 30 20 47 4d 54 0d 0a 50 72 61 67 6d 61 3a :00 GMT..Pragma: 6fa: 20 6e 6f 2d 63 61 63 68 65 0d 0a 43 6f 6e 74 65 no-cache..Conte 70a: 6e 74 2d 54 79 70 65 3a 20 00 nt-Type: . 00000714 <__c.4>: 714: 28 00 (. 00000716 <__c.5>: 716: 29 00 ). 00000718 <__c.6>: 718: 0d 0a 3c 48 54 4d 4c 3e 3c 48 45 41 44 3e 3c 54 ... 0000072e <__c.7>: 72e: 3c 2f 54 49 54 4c 45 3e 3c 2f 48 45 41 44 3e 3c < 73e: 42 4f 44 59 3e 3c 48 31 3e 00 BODY>

. 00000748 <__c.8>: 748: 3c 2f 48 31 3e 3c 2f 42 4f 44 59 3e 3c 2f 48 54

... 0000075e <__c.17>: 75e: 69 6e 64 65 78 2e 68 74 6d 00 index.htm. 00000768 <__c.18>: 768: 34 30 31 20 55 6e 61 75 74 68 6f 72 69 7a 65 64 401 Unauthorized ... 00000779 <__c.19>: 779: 68 74 6d 00 htm. 0000077d <__c.20>: 77d: 34 30 34 20 46 69 6c 65 20 4e 6f 74 20 46 6f 75 404 File Not Fou 78d: 6e 64 00 nd. 00000790 <__c.21>: 790: 35 30 33 20 53 65 72 76 69 63 65 20 55 6e 61 76 503 Service Unav 7a0: 61 69 6c 61 62 6c 65 2c 20 74 72 79 20 6c 61 74 ailable, try lat 7b0: 65 72 00 er. 000007b3 <__c.22>: 7b3: 68 74 6d 00 htm. 000007b7 <__c.23>: 7b7: 67 69 66 00 gif. 000007bb <__c.24>: 7bb: 6a 70 67 00 jpg. 000007bf <__c.25>: 7bf: 70 6e 67 00 png. 000007c3 <__c.26>: 7c3: 32 30 30 20 4f 4b 00 200 OK. 000007ca <__c.27>: 7ca: 43 6f 6e 74 65 6e 74 2d 4c 65 6e 67 74 68 3a 20 Content-Length: ... 000007db <__c.28>: 7db: 2e 44 57 48 00 .DWH. 000007e0 <__c.29>: 7e0: 44 57 43 00 DWC. 000007e4 <__c.30>: 7e4: 44 57 46 00 DWF. 000007e8 <__c.31>: 7e8: 43 49 00 CI. 000007eb <__c.32>: 7eb: 43 44 00 CD. 000007ee <__c.33>: 7ee: 32 30 30 20 50 61 72 61 6d 65 74 65 72 65 72 72 200 Parametererr 7fe: 6f 72 00 or. 00000801 <__c.16>: 801: 43 6f 6e 74 65 6e 74 2d 6c 65 6e 67 74 68 3a 00 Content-length:. 00000811 <__c.12>: 811: 48 54 54 50 2f 30 2e 39 00 HTTP/0.9. 0000081a <__c.13>: 81a: 48 54 54 50 2f 31 2e 30 00 HTTP/1.0. 00000823 <__c.14>: 823: 48 54 54 50 2f 31 2e 31 00 HTTP/1.1. 0000082c <__c.15>: 82c: 35 30 35 20 48 54 54 50 20 56 65 72 73 69 6f 6e 505 HTTP Version 83c: 20 4e 6f 74 20 53 75 70 70 6f 72 74 65 64 00 Not Supported. 0000084b <__c.34>: 84b: 20 26 0d 0a 00 &... 00000850 <__c.11>: 850: 3f 20 0d 0a 00 ? ... 00000855 <__c.1>: 855: 47 45 54 20 00 GET . 0000085a <__c.2>: 85a: 50 4f 53 54 20 00 POST . 00000860 <__c.3>: 860: 35 30 31 20 4d 65 74 68 6f 64 20 6e 6f 74 20 49 501 Method not I 870: 6d 70 6c 65 6d 65 6e 74 65 64 00 mplemented. 0000087b : 87b: 54 59 50 45 00 00 00 02 f5 36 50 41 53 56 00 00 TYPE.....6PASV.. 88b: 00 02 9f 37 53 49 5a 45 00 00 00 02 57 38 50 4f ...7SIZE....W8PO 89b: 52 54 00 00 00 02 1d 37 53 59 53 54 00 00 00 02 RT.....7SYST.... 8ab: e3 39 48 45 4c 50 00 00 00 02 e9 39 4c 49 53 54 .9HELP.....9LIST 8bb: 00 00 00 02 d6 38 4e 4c 53 54 00 00 00 02 de 38 .....8NLST.....8 8cb: 52 45 54 52 00 00 00 02 e6 38 53 54 4f 52 00 00 RETR.....8STOR.. 8db: 00 02 35 39 52 4e 46 52 00 00 00 02 9a 39 52 4e ..59RNFR.....9RN 8eb: 54 4f 00 00 00 02 ad 39 44 45 4c 45 00 00 00 02 TO.....9DELE.... 8fb: f5 39 50 57 44 00 00 00 00 02 2b 3a 58 50 57 44 .9PWD.....+:XPWD 90b: 00 00 00 02 2b 3a 43 57 44 00 00 00 00 02 4b 3a ....+:CWD.....K: 91b: 58 43 57 44 00 00 00 02 4b 3a 4d 4b 44 00 00 00 XCWD....K:MKD... 92b: 00 02 8f 3a 58 4d 4b 44 00 00 00 02 8f 3a 52 4d ...:XMKD.....:RM 93b: 44 00 00 00 00 02 a6 3a 58 52 4d 44 00 00 00 02 D......:XRMD.... 94b: a6 3a 51 55 49 54 00 00 00 02 e7 36 50 41 53 53 .:QUIT.....6PASS 95b: 00 00 00 01 b8 3a 55 53 45 52 00 00 00 00 e6 3a .....:USER.....: 96b: 4e 4f 4f 50 00 00 00 00 ef 39 00 00 00 00 00 00 NOOP.....9...... 97b: 00 00 0f 3b ...; 0000097f <__c.1>: 97f: 20 0d 0a 00 ... 00000983 <__c.7>: 983: 2f 00 /. 00000985 <__c.18>: 985: 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 30 20 65 77 73 20 --------- 0 ews 995: 65 77 73 20 20 20 20 00 ews . 0000099d <__c.19>: 99d: 20 20 4a 61 6e 20 20 31 20 31 30 3a 31 32 20 00 Jan 1 10:12 . 000009ad <__c.17>: 9ad: 2e 63 73 76 00 .csv. 000009b2 <__c.16>: 9b2: 2e 74 78 68 00 .txh. 000009b7 <__c.21>: 9b7: 32 32 37 20 28 00 227 (. 000009bd <__c.22>: 9bd: 2c 00 ,. 000009bf <__c.23>: 9bf: 2c 00 ,. 000009c1 <__c.24>: 9c1: 2c 00 ,. 000009c3 <__c.25>: 9c3: 2c 00 ,. 000009c5 <__c.26>: 9c5: 2c 00 ,. 000009c7 <__c.27>: 9c7: 29 2e 00 ).. 000009ca <__c.20>: 9ca: 32 32 37 20 00 227 . 000009cf <__c.14>: 9cf: 2f 00 /. 000009d1 <__c.15>: 9d1: 2a 2e 2a 00 *.*. 000009d5 <__c.13>: 9d5: 2e 74 78 68 00 .txh. 000009da <__c.12>: 9da: 2e 63 73 76 00 .csv. 000009df <__c.9>: 9df: 2e 74 78 68 00 .txh. 000009e4 <__c.8>: 9e4: 2e 63 73 76 00 .csv. 000009e9 <__c.11>: 9e9: 2e 63 73 76 00 .csv. 000009ee <__c.10>: 9ee: 2e 74 78 68 00 .txh. 000009f3 <__c.6>: 9f3: 2e 74 78 68 00 .txh. 000009f8 <__c.5>: 9f8: 2e 63 73 76 00 .csv. 000009fd <__c.3>: 9fd: 32 35 37 20 22 2f 00 257 "/. 00000a04 <__c.4>: a04: 22 20 69 73 20 63 75 72 72 65 6e 74 20 64 69 72 " is current dir a14: 65 63 74 6f 72 79 2e 0d 0a 00 ectory.... 00000a1e <__c.2>: a1e: 2e 2e 00 ... 00000a21 <__c.1>: a21: 43 44 3d 00 CD=. 00000a25 <__c.2>: a25: 26 00 &. 00000a27 <__c.0>: a27: 47 45 54 20 2f 63 6f 6d 72 65 71 2e 64 77 68 3f GET /comreq.dwh? a37: 43 49 3d 00 CI=. 00000a3b <__c.0>: a3b: 51 55 49 54 00 QUIT. 00000a40 <__c.17>: a40: 51 55 49 54 00 QUIT. 00000a45 <__c.16>: a45: 0d 0a 2e 00 .... 00000a49 <__c.12>: ... 00000a4a <__c.13>: a4a: 68 74 6d 00 htm. 00000a4e <__c.14>: a4e: 43 6f 6e 74 65 6e 74 2d 54 79 70 65 3a 20 74 65 Content-Type: te a5e: 78 74 2f 68 74 6d 6c 3b 20 63 68 61 72 73 65 74 xt/html; charset a6e: 3d 22 69 73 6f 2d 38 38 35 39 2d 31 22 0d 0a 43 ="iso-8859-1"..C a7e: 6f 6e 74 65 6e 74 2d 54 72 61 6e 73 66 65 72 2d ontent-Transfer- a8e: 45 6e 63 6f 64 69 6e 67 3a 20 38 62 69 74 0d 0a Encoding: 8bit.. ... 00000a9f <__c.15>: ... 00000aa0 <__c.11>: aa0: 53 75 62 6a 65 63 74 3a 20 00 Subject: . 00000aaa <__c.10>: aaa: 54 6f 3a 20 00 To: . 00000aaf <__c.7>: aaf: 22 20 3c 00 " <. 00000ab3 <__c.8>: ab3: 3e 00 >. 00000ab5 <__c.9>: ab5: 46 72 6f 6d 3a 20 00 From: . 00000abc <__c.6>: abc: 44 41 54 41 00 DATA. 00000ac1 <__c.4>: ac1: 3e 00 >. 00000ac3 <__c.5>: ac3: 52 43 50 54 20 54 4f 3a 20 3c 00 RCPT TO: <. 00000ace <__c.2>: ace: 3e 00 >. 00000ad0 <__c.3>: ad0: 4d 41 49 4c 20 46 52 4f 4d 3a 20 3c 00 MAIL FROM: <. 00000add <__c.20>: add: 33 33 34 20 00 334 . 00000ae2 <__c.19>: ae2: 33 33 34 20 00 334 . 00000ae7 <__c.18>: ae7: 41 55 54 48 20 4c 4f 47 49 4e 00 AUTH LOGIN. 00000af2 <__c.1>: af2: 48 45 4c 4f 20 00 HELO . 00000af8 <__c.1>: af8: 45 78 70 72 65 73 73 69 6f 6e 00 Expression. 00000b03 <__c.2>: b03: 54 65 78 74 00 Text. 00000b08 <__c.3>: b08: 41 64 64 72 65 73 73 00 Address. 00000b10 <__c.4>: b10: 53 75 62 6a 65 63 74 00 Subject. 00000b18 <__c.0>: b18: 73 6d 74 70 66 69 6c 65 2e 63 73 76 00 smtpfile.csv. 00000b25 <__c.7>: b25: 0d 0a 00 ... 00000b28 <__c.6>: b28: 45 52 52 00 ERR. 00000b2c <__c.0>: b2c: 23 23 58 3a 3d 00 ##X:=. 00000b32 <__c.1>: b32: 6d 67 00 mg. 00000b35 <__c.2>: b35: 55 53 45 52 00 USER. 00000b3a <__c.3>: b3a: 50 41 53 53 57 4f 52 44 00 PASSWORD. 00000b43 <__c.4>: b43: 55 53 45 52 4c 45 56 45 4c 00 USERLEVEL. 00000b4d <__c.5>: b4d: 2e 67 69 66 00 .gif. 00000b52 : b52: 42 4b 4b 4b 59 4b 6a 4b 70 4b 76 4b 17 4c 3e 4c BKKKYKjKpKvK.L>L b62: 11 4c 46 4c 5a 4c 7b 4c 89 4c b0 4c 11 4c b8 4c .LFLZL{L.L.L.L.L b72: cc 4c ed 4c 1d 6c 35 4b f5 6b 91 6c 3a 4b 3d 4b .L.L.l5K.k.l:K=K b82: ae 51 35 4b f0 51 01 52 3a 4b 3d 4b 80 53 35 4b .Q5K.Q.R:K=K.S5K b92: 1a 53 cf 53 3a 4b 3d 4b .S.S:K=K 00000b9a : ... 00000b9b : b9b: 59 11 4d 0f d0 05 7a 11 77 0c d5 02 42 11 4c 0c Y.M...z.w...B.L. bab: 2b 00 35 11 05 0c 47 00 28 11 b9 0b 4c 00 +.5...G.(...L. 00000bb9 : bb9: 47 49 46 38 39 61 10 00 10 00 80 01 00 ff 00 00 GIF89a.......... bc9: ff ff ff 21 f9 04 01 00 00 01 00 2c 00 00 00 00 ...!.......,.... bd9: 10 00 10 00 00 02 23 8c 6f 80 8b e0 ce da 7b 31 ......#.o.....{1 be9: 50 45 d9 ad 67 f3 34 7d 60 28 4e ca 87 41 1a 94 PE..g.4}`(N..A.. bf9: 9e cb 96 ad 26 4a 96 62 13 15 00 3b ....&J.b...; 00000c05 : c05: 47 49 46 38 39 61 10 00 10 00 80 01 00 ff 00 00 GIF89a.......... c15: ff ff ff 21 f9 04 01 00 00 01 00 2c 00 00 00 00 ...!.......,.... c25: 10 00 10 00 00 02 1e 8c 8f a9 cb 01 ff 9a 83 90 ................ c35: 51 53 55 9e 40 e2 6d 81 cb e5 89 61 e7 a5 89 39 QSU.@.m....a...9 c45: 46 29 ab 1e 05 00 3b F)....; 00000c4c : c4c: 47 49 46 38 39 61 01 00 01 00 80 00 00 ff ff ff GIF89a.......... c5c: 00 00 00 21 f9 04 01 00 00 00 00 2c 00 00 00 00 ...!.......,.... c6c: 01 00 01 00 00 02 02 44 01 00 3b .......D..; 00000c77 : c77: 3c 68 74 6d 6c 3e 3c 68 65 61 64 3e 3c 74 69 74 DigiWEB Confi c97: 67 75 72 61 74 69 6f 6e 3c 2f 74 69 74 6c 65 3e guration ca7: 3c 6d 65 74 61 20 68 74 74 70 2d 65 71 75 69 76 < cf7: 62 6f 64 79 20 62 67 63 6f 6c 6f 72 3d 22 23 43 body bgcolor="#C d07: 43 43 43 43 43 22 3e 3c 68 31 3e 44 69 67 69 57 CCCCC">

DigiW d17: 45 42 20 50 61 73 73 77 6f 72 74 61 62 66 72 61 EB Passwortabfra d27: 67 65 3c 2f 68 31 3e 3c 66 6f 72 6d 20 6d 65 74 ge

  *DataFlashAdrReg = (SectorNo >> 9) & 0x3F; // A17..22 e97: 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e 3c 70 3e
Benutze d97: 72 6e 61 6d 65 20 3a 20 3c 2f 66 6f 6e 74 3e 3c rname : < da7: 2f 74 64 3e 3c 74 64 3e 3c 69 6e 70 75 74 20 74 /td>
Passwort CfgOut1(); if(CfgIn()) { CfgOut0(); CfgOut0(); if(!CfgIn()) DigiwebSaveMode=1; e37: 3a 20 3c 2f 66 6f 6e 74 3e 3c 2f 74 64 3e 3c 74 :

DataFlashWaitReady(); } #if defined __AVR__ || defined __ARM__ /* read sector (max. 'DFLASH_BytesPerSector' bytes) from DataFlash device -> buffer[] */ void ReadSector16(unsigned short SectorNo, char *BufPtr, unsigned char Length16) { ea7: 26 6e 62 73 70 3b 3c 2f 70 3e 3c 74 61 62 6c 65  

>15); eb7: 20 77 69 64 74 68 3d 22 31 30 30 25 22 20 62 6f width="100%" bo // *DataFlashCmdReg = (SectorNo & 0x0001)?FLCMD_ReadMode1:FLCMD_ReadMode0; // open read command *DataFlashCmdReg = (SectorNo & 0x0001); //scheller! DataFlashSetAdr(SectorNo); ec7: 72 64 65 72 3d 22 30 22 3e 3c 74 72 3e 20 3c 74 rder="0"> < *BufPtr++ = *dfd++; *BufPtr++ = *dfd++; *BufPtr++ = *dfd++; *BufPtr++ = *dfd++; ee7: 69 6e 70 75 74 20 74 79 70 65 3d 22 73 75 62 6d input type="subm *BufPtr++ = *dfd++; *BufPtr++ = *dfd++; *BufPtr++ = *dfd++; *BufPtr++ = *dfd++; ef7: 69 74 22 20 6e 61 6d 65 3d 22 53 75 62 6d 69 74 it" name="Submit *BufPtr++ = *dfd++; *BufPtr++ = *dfd++; *BufPtr++ = *dfd++; *BufPtr++ = *dfd++; f07: 22 20 76 61 6c 75 65 3d 22 dc 62 65 72 6e 65 68 " value=".berneh }while(--Length16); DataFlashDeSelect(); f17: 6d 65 6e 22 3e 3c 2f 74 64 3e 3c 74 64 3e 3c 2f men">
>15); // *DataFlashCmdReg = (SectorNo & 0x0001)?FLCMD_ReadMode1:FLCMD_ReadMode0; // open read command *DataFlashCmdReg = (SectorNo & 0x0001); //scheller! DataFlashSetAdr(SectorNo); do { ff&=*dfd++; ff&=*dfd++; ff&=*dfd++; ff&=*dfd++; ff&=*dfd++; ff&=*dfd++; ff&=*dfd++; ff&=*dfd++; }while(--LoopsPerSector); DataFlashDeSelect(); return ff!=0xFF?-1:0; } */ static void WriteSectorFF(unsigned char blocks16) { volatile unsigned char *dfd=DataFlashData; do { *dfd++ = 0xff; *dfd++ = 0xff; f27: 74 64 3e 3c 2f 74 72 3e 3c 2f 74 61 62 6c 65 3e td>
*dfd++ = 0xff; *dfd++ = 0xff; *dfd++ = 0xff; *dfd++ = 0xff; *dfd++ = 0xff; *dfd++ = 0xff; *dfd++ = 0xff; *dfd++ = 0xff; f37: 3c 2f 66 6f 72 6d 3e 3c 2f 62 6f 64 79 3e 3c 2f
. 00000f4d : } static void WriteSectorBuffer(char *buffer) { unsigned char LoopsPerSector=DFLASH_BytesPerSector/8; f4d: 3c 68 74 6d 6c 3e 0d 0a 3c 68 65 61 64 3e 0d 0a .... volatile unsigned char *dfd=DataFlashData; do { *dfd++ = *buffer++; *dfd++ = *buffer++; *dfd++ = *buffer++; f5d: 3c 74 69 74 6c 65 3e 44 69 67 69 57 45 42 20 43 DigiWEB C *dfd++ = *buffer++; *dfd++ = *buffer++; *dfd++ = *buffer++; *dfd++ = *buffer++; f6d: 6f 6e 66 69 67 75 72 61 74 69 6f 6e 3c 2f 74 69 onfiguration</ti *dfd++ = *buffer++; }while(--LoopsPerSector); } #endif #ifdef __DCC__ /* read sector (max. 'DFLASH_BytesPerSector' bytes) from DataFlash device -> buffer[] */ void ReadSector16(unsigned short SectorNo, char *BufPtr, unsigned char Length16) { Length16*=16; DataFlashSelect(SectorNo>>15); // *DataFlashCmdReg = (SectorNo & 0x0001)?FLCMD_ReadMode1:FLCMD_ReadMode0; // open read command *DataFlashCmdReg = (SectorNo & 0x0001); //scheller! DataFlashSetAdr(SectorNo); do { *BufPtr++ = *DataFlashData; }while(--Length16); DataFlashDeSelect(); } /* static signed char IsSectorFF(unsigned short SectorNo) { unsigned char LoopsPerSector=DFLASH_BytesPerSector; unsigned char ff=0xff; DataFlashSelect(SectorNo>>15); // *DataFlashCmdReg = (SectorNo & 0x0001)?FLCMD_ReadMode1:FLCMD_ReadMode0; // open read command *DataFlashCmdReg = (SectorNo & 0x0001); //scheller! DataFlashSetAdr(SectorNo); do { ff&=*DataFlashData; }while(--LoopsPerSector); DataFlashDeSelect(); return ff!=0xFF?-1:0; } */ static void WriteSectorFF(unsigned char blocks16) { blocks16*=16; do { *DataFlashData = 0xff; }while(--blocks16); } static void WriteSectorBuffer(char *buffer) { unsigned char LoopsPerSector=DFLASH_BytesPerSector; do { *DataFlashData = *buffer++; }while(--LoopsPerSector); } #endif // write one sector and Checksum info, data from buffer[], length = 'DFLASH_BytesPerSector' (fixed) signed char WriteSector(unsigned short SectorNo, char *buffer) { f7d: 74 6c 65 3e 0d 0a 3c 6d 65 74 61 20 68 74 74 70 tle>..<meta http unsigned char ChipStatus; // if (SectorNo >= (DFLASH_SectorsPerBlock * DFLASH_BlocksPerUnit)) // wegelassen wegen 2 Flash ! und überfüssig // return -1; DataFlashSelect(SectorNo>>15); *DataFlashCmdReg = FLCMD_SerialDataIn; // set Data-In command f8d: 2d 65 71 75 69 76 3d 22 43 6f 6e 74 65 6e 74 2d -equiv="Content- DataFlashSetAdr(SectorNo); if (SectorNo & 0x0001) { // ODD sector, DFLASH_BytesPerSector*ff - DFLASH_BytesPerSector*data - 8*ff, 8*Ext. Info (Chksum....) WriteSectorFF(DFLASH_BytesPerSector/16); f9d: 54 79 70 65 22 20 63 6f 6e 74 65 6e 74 3d 22 74 Type" content="t WriteSectorBuffer(buffer); } else { // even sector , DFLASH_BytesPerSector*data - DFLASH_BytesPerSector*0xff - 8*Ext. Info - 8*0xff WriteSectorBuffer(buffer); WriteSectorFF(DFLASH_BytesPerSector/16); // muss das sein? fad: 65 78 74 2f 68 74 6d 6c 3b 20 63 68 61 72 73 65 ext/html; charse } WriteSectorFF(16/16); // muss das sein? // now start WRITE command and check Status-Info (Pass/Fail) wait_us(2); fbd: 74 3d 69 73 6f 2d 38 38 35 39 2d 31 22 3e 0d 0a t=iso-8859-1">.. *DataFlashCmdReg = FLCMD_AutoProgram; // programm data wait_us(2); fcd: 3c 2f 68 65 61 64 3e 3c 62 6f 64 79 20 62 67 63 </head><body bgc DataFlashWaitReady(); *DataFlashCmdReg = FLCMD_StatusRead; wait_us(2); fdd: 6f 6c 6f 72 3d 22 23 43 43 43 43 43 43 22 3e 0d olor="#CCCCCC">. ChipStatus = *DataFlashData; DataFlashDeSelect(); // deselect the chip return (ChipStatus & 0x01)?-1:0; fed: 0a 3c 21 2d 2d 23 55 53 45 52 4c 45 56 45 4c 3a .<!--#USERLEVEL: ffd: 3d 30 2d 2d 3e 3c 68 31 3e 44 69 67 69 57 45 42 =0--><h1>DigiWEB } /* copy Sector, FromSector -> ToSector, length = 'DFLASH_BytesPerSector' (fixed) */ /* static signed char _CopySector (unsigned short FromSector, unsigned short ToSector) { unsigned char buffer[DFLASH_BytesPerSector]; ReadSector(FromSector, &buffer[0], DFLASH_BytesPerSector); return _WriteSector(ToSector, &buffer[0]); } */ /* signed char IsClusterFF(unsigned short cluster) { unsigned short sector=cluster * DFLASH_SectorsPerBlock; unsigned char i; for(i=0;i<DFLASH_SectorsPerBlock;i++) if(IsSectorFF(sector++)) return -1; return 0; } */ /* erase block of 32 sectors + sector ext. area (all set to 0xff) */ signed char EraseBlock (unsigned short BlockNo) { 100d: 20 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 3c 2f Configuration</ unsigned char ChipStatus; DataFlashSelect(BlockNo/(0x8000u/DFLASH_SectorsPerBlock)); *DataFlashCmdReg = FLCMD_AutoBlkErase; // set EARSE BLOCk CMD *DataFlashAdrReg = (BlockNo<<4) & 0xff; // lower adr first 101d: 68 31 3e 0d 0a 3c 70 3e 56 65 72 73 69 6f 6e 3a h1>..<p>Version: *DataFlashAdrReg = (BlockNo>>4) & 0xff; // higher adr next 102d: 20 3c 21 2d 2d 23 24 30 30 30 31 39 39 20 2d 2d <!--#$000199 -- *DataFlashCmdReg = FLCMD_EraseStart; // ERASE START wait_us(2); 103d: 3e 23 2a 20 4d 61 63 3a 20 3c 21 2d 2d 23 24 30 >#* Mac: <!--#$0 DataFlashWaitReady(); wait_us(10); *DataFlashCmdReg = FLCMD_StatusRead; 104d: 30 30 31 35 31 20 2d 2d 3e 23 2a 3c 2f 70 3e 0d 00151 -->#*</p>. wait_us(2); ChipStatus = *DataFlashData; // read Pass/Fail status DataFlashDeSelect(); // deselect the chip 105d: 0a 3c 66 6f 72 6d 20 6d 65 74 68 6f 64 3d 22 70 .<form method="p return (ChipStatus & 0x01)?-1:0; 106d: 6f 73 74 22 20 61 63 74 69 6f 6e 3d 22 22 3e 0d ost" action="">. } void DataFlashInit(void) { #ifdef __AVR__ XMCRA |= (1<<SRL2) | (1<<SRL1); // upper sector @ 0xC000; lower fast (1 clk=90ns), upper 1 WS (2 clk=180ns) 107d: 0a 3c 74 61 62 6c 65 20 62 6f 72 64 65 72 3d 22 .<table border=" MCUCR |= (1<<SRW10) | (1<<SRE); // lower fast (1 clk=90ns), upper 1 WS (2 clk=180ns) LedRedInit(); 108d: 30 22 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 44 48 43 0">..<tr><td>DHC #ifdef __AVR__ void ltoa10(long wert,char *dst) { 109d: 50 3c 2f 74 64 3e 3c 74 64 3e 3c 73 65 6c 65 63 P</td><td><selec ltoa(wert,dst,10); } #endif void uscat(char *str,unsigned short w) { ltoa10(w,str+strlen(str)); 10ad: 74 20 6e 61 6d 65 3d 22 23 23 30 30 30 31 38 36 t name="##000186 10bd: 62 33 5f 34 22 20 73 69 7a 65 3d 22 31 22 3e 3c b3_4" size="1">< } void longcat(char *str,long w) { 10cd: 6f 70 74 69 6f 6e 20 76 61 6c 75 65 3d 22 30 22 option value="0" ltoa10(w,str+strlen(str)); 10dd: 3e 44 48 43 50 20 6f 66 66 3c 2f 6f 70 74 69 6f >DHCP off</optio } void CpyComerr( char * dst, unsigned char err, size_t amount ) { if(err) 10ed: 6e 3e 3c 6f 70 74 69 6f 6e 20 76 61 6c 75 65 3d n><option value= { if(err&HTTPVAR_CACHE_ERR) err='$'; else if(err&HTTPVAR_RS232_ERR) err='?'; 10fd: 22 31 22 3e 44 48 43 50 20 62 6f 6f 74 3c 2f 6f "1">DHCP boot</o else //if(err&HTTPVAR_RK512_ERR) err='-'; memset(dst,err,amount); 110d: 70 74 69 6f 6e 3e 3c 6f 70 74 69 6f 6e 20 76 61 ption><option va } } /* static signed char gethex1(unsigned char *d,unsigned char h); unsigned char getURLDecodeChar(char** src) { unsigned char c,e; c=**src; *src+=1; if(c!='%') return c; else if ( c=='+' ) return ' '; gethex1(&c,(*src)[0]); e=c<<4; gethex1(&c,(*src)[1]); e+=c; *src+=2; return e; } char isUniCode( char c ) { char z; for(z=0;z<6;z++,c<<=1) if(!(c&0x80)) break; return z; } unsigned short getUniCodeChar(char** src) { unsigned short b1=getURLDecodeChar(src); unsigned char anzahlBytesDasZeichen=isUniCode((char)b1),b2; if(anzahlBytesDasZeichen==0 || anzahlBytesDasZeichen>3) // >3 : java arbeitet nur mit 16 Bit unicodes, alles was groesser ist gibt so oder so müll return b1; b2=getURLDecodeChar(src)&0x3F; if(anzahlBytesDasZeichen==3) { b1&=0x0F; b1<<=6; b1+=b2; b1<<=6; b1+=getURLDecodeChar(src)&0x3F; } else { b1&=0x1F; b1<<=6; b1+=b2; } return b1; } unsigned short url_decode( char *src) { char *dst=src; unsigned short z=0,c; do { c=getUniCodeChar(&src); if((c&0xFF00)) { *dst++=(char)(c>>8); } *dst++=(char)(c&0xFF); }while(c); return z; } */ //Unsere alte decodierung leider nicht unicodefaehig unsigned short url_decode(char *src) { char *dst=src; unsigned char c; unsigned short z=0; do { c=*src++; if ( c=='%' ) { c=0; if(!gethexc((unsigned char *)dst,src)) c=*dst; src+=2; z+=2; } else if ( c=='+' ) c=' '; *dst++=c; }while(c); return z; } signed char url_encode(char *src,size_t lenmax) { size_t len=strlen(src); char c; while(0!=(c=*src)) { if(!isalnum(c)) { if(c==' ') *src='+'; else { lenmax-=2; if(lenmax<=len) return -1; memmove(src+3,src+1,len); puthexc(src,c); src[2]=src[1]; src[1]=src[0]; src[0]='%'; src+=2; } } lenmax--; len--; src++; } return 0; } static signed char gethex1(unsigned char *d,unsigned char h) { if(h<'0') return -1; if(h<='9') { *d=h-'0'; return 0; } h&=~('a'-'A'); if(h<'A' || h>'F') return -1; *d=h-('A'-10); return 0; } signed char gethexc(unsigned char *d,char *p) { unsigned char c; if(gethex1(&c,*p)) return -1; *d=c<<4; if(gethex1(&c,p[1])) return -1; *d|=c; return 0; } signed char gethexs(short *d,char *p) { if(!gethexc(&((SShortChar *)d)->c1,p)) if(!gethexc(&((SShortChar *)d)->c0,p+2)) return 0; return -1; } signed char gethexl(long *d,char *p) { if(!gethexc(&((SLongChar *)d)->c3,p)) if(!gethexc(&((SLongChar *)d)->c2,p+2)) if(!gethexc(&((SLongChar *)d)->c1,p+4)) if(!gethexc(&((SLongChar *)d)->c0,p+6)) return 0; return -1; } char *puthexc(char *d,char c) { static const char HEX_P[16] PROGMEM="0123456789ABCDEF"; *d++=uchar_P(HEX_P[(unsigned char)c>>4]); 111d: 6c 75 65 3d 22 32 22 3e 44 48 43 50 20 6f 6e 3c lue="2">DHCP on< *d++=uchar_P(HEX_P[c&0xf]); 112d: 2f 6f 70 74 69 6f 6e 3e 3c 2f 73 65 6c 65 63 74 /option></select 113d: 3e 20 3c 21 2d 2d 23 23 30 30 30 31 38 36 62 37 > <!--##000186b7 114d: 20 7b 30 3d 27 27 20 31 3d 27 44 48 43 50 20 64 {0='' 1='DHCP d 115d: 65 74 65 63 74 65 64 21 27 7d 2d 2d 3e 23 2a 3c etected!'}-->#*< 116d: 2f 74 64 3e 3c 2f 74 72 3e 3c 21 2d 2d 23 23 6f /td></tr><!--##o 117d: 3a 3d 31 35 30 3b 23 24 6e 3a 3d 27 49 70 27 2d :=150;#$n:='Ip'- 118d: 2d 3e 3c 21 2d 2d 23 52 45 50 45 41 54 2d 2d 3e -><!--#REPEAT--> 119d: 3c 74 72 3e 3c 74 64 3e 3c 21 2d 2d 23 24 6e 2d <tr><td><!--#$n- 11ad: 2d 3e 23 2a 3c 2f 74 64 3e 3c 74 64 3e 3c 69 6e ->#*</td><td><in 11bd: 70 75 74 20 74 79 70 65 3d 22 74 65 78 74 22 20 put type="text" 11cd: 6e 61 6d 65 3d 22 23 23 30 30 30 5b 23 23 6f 5d name="##000[##o] 11dd: 62 32 34 5f 33 31 22 20 73 69 7a 65 3d 22 33 22 b24_31" size="3" 11ed: 20 6d 61 78 6c 65 6e 67 74 68 3d 22 33 22 20 76 maxlength="3" v 11fd: 61 6c 75 65 3d 22 23 23 23 22 3e 2e 3c 69 6e 70 alue="###">.<inp 120d: 75 74 20 74 79 70 65 3d 22 74 65 78 74 22 20 6e ut type="text" n 121d: 61 6d 65 3d 22 23 23 30 30 30 5b 23 23 6f 5d 62 ame="##000[##o]b 122d: 31 36 5f 32 33 22 20 73 69 7a 65 3d 22 33 22 20 16_23" size="3" 123d: 6d 61 78 6c 65 6e 67 74 68 3d 22 33 22 20 76 61 maxlength="3" va 124d: 6c 75 65 3d 22 23 23 23 22 3e 2e 3c 69 6e 70 75 lue="###">.<inpu 125d: 74 20 74 79 70 65 3d 22 74 65 78 74 22 20 6e 61 t type="text" na 126d: 6d 65 3d 22 23 23 30 30 30 5b 23 23 6f 5d 62 38 me="##000[##o]b8 127d: 5f 31 35 22 20 73 69 7a 65 3d 22 33 22 20 6d 61 _15" size="3" ma 128d: 78 6c 65 6e 67 74 68 3d 22 33 22 20 76 61 6c 75 xlength="3" valu 129d: 65 3d 22 23 23 23 22 3e 2e 3c 69 6e 70 75 74 20 e="###">.<input 12ad: 74 79 70 65 3d 22 74 65 78 74 22 20 6e 61 6d 65 type="text" name 12bd: 3d 22 23 23 30 30 30 5b 23 23 6f 5d 62 30 5f 37 ="##000[##o]b0_7 12cd: 22 20 73 69 7a 65 3d 22 33 22 20 6d 61 78 6c 65 " size="3" maxle 12dd: 6e 67 74 68 3d 22 33 22 20 76 61 6c 75 65 3d 22 ngth="3" value=" 12ed: 23 23 23 22 3e 3c 2f 74 64 3e 3c 2f 74 72 3e 0d ###"></td></tr>. 12fd: 0a 3c 21 2d 2d 23 69 66 28 23 23 6f 3d 3d 31 35 .<!--#if(##o==15 130d: 34 29 2d 2d 3e 3c 21 2d 2d 23 23 6f 3a 3d 31 35 4)--><!--##o:=15 131d: 32 3b 23 24 6e 3a 3d 27 47 61 74 65 77 61 79 27 2;#$n:='Gateway' 132d: 2d 2d 3e 3c 21 2d 2d 23 65 6c 73 65 2d 2d 3e 3c --><!--#else-->< 133d: 21 2d 2d 23 23 6f 3a 3d 23 23 6f 2b 34 3b 23 24 !--##o:=##o+4;#$ 134d: 6e 3a 3d 27 53 75 62 6e 65 74 6d 61 73 6b 20 27 n:='Subnetmask ' 135d: 2d 2d 3e 3c 21 2d 2d 23 65 6e 64 69 66 2d 2d 3e --><!--#endif--> *d=0; return d; } char *puthexs(char *d,short s) { return puthexc(puthexc(d,(unsigned char)((unsigned short)s>>8)),(unsigned char)s); 136d: 3c 21 2d 2d 23 55 4e 54 49 4c 28 23 23 6f 3d 3d <!--#UNTIL(##o== 137d: 31 35 36 29 2d 2d 3e 3c 74 72 3e 3c 74 64 3e 46 156)--><tr><td>F } char *puthexl(char *d,long l) { return puthexs(puthexs(d,(unsigned short)((unsigned long)l>>16)),(unsigned short)l); 138d: 74 70 6c 6f 67 69 6e 3c 2f 74 64 3e 3c 74 64 3e tplogin</td><td> 139d: 3c 69 6e 70 75 74 20 74 79 70 65 3d 22 74 65 78 <input type="tex } void TCPsendTXT(AVRSOCKET *socket,const char *txt) { TCPsend(socket,strlen(txt),txt); 13ad: 74 22 20 6e 61 6d 65 3d 22 23 24 30 30 30 31 36 t" name="#$00016 13bd: 30 22 20 76 61 6c 75 65 3d 22 23 23 23 23 23 23 0" value="###### } void TCPsendCR(AVRSOCKET *socket) { TCPsend_P(socket,2,PSTR("\r\n")); } void TCPsendTXTCR(AVRSOCKET *socket,const char *txt) { 13cd: 23 23 23 23 23 22 20 73 69 7a 65 3d 22 31 31 22 #####" size="11" TCPsendTXT(socket,txt); TCPsendCR(socket); 13dd: 20 6d 61 78 6c 65 6e 67 74 68 3d 22 31 31 22 3e maxlength="11"> } #ifdef __AVR__ void TCPsendTXTCR_P(AVRSOCKET *socket,const char *txt_P) { 13ed: 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e </td></tr>..<tr> TCPsend_P(socket,strlen_P(txt_P),txt_P); 13fd: 3c 74 64 3e 46 74 70 70 61 73 73 3c 2f 74 64 3e <td>Ftppass</td> TCPsendCR(socket); 140d: 3c 74 64 3e 3c 69 6e 70 75 74 20 74 79 70 65 3d <td><input type= } #endif // **************************************************************** // * qsearch * // * return ist pointer auf gefundene zeile (bei ==) * // * oder dahinter (bei !=) * // * cmp = 0 bei gefunden und 1 bei nicht gefunden * // * src = suchzeile * // * tab = tabelle * // * tabcolumst = strukturbreite der Tabelle * // * tabrows = Anzahl der Tabellenzeilen * // * cmpprg = Programmpointer zum vergleich von 2 zeilen * // * returnt -1,0,1 * // **************************************************************** void *qsearch(unsigned char *cmp,void *src,void *tab,size_t tabcolumns,size_t tabrows,signed char (*cmpprg)(void *src,void*dst)) { 141d: 22 74 65 78 74 22 20 6e 61 6d 65 3d 22 23 24 30 "text" name="#$0 int m=0; int li=0; signed char s=0; if(tabrows--) 142d: 30 30 31 36 31 22 20 76 61 6c 75 65 3d 22 23 23 00161" value="## { while((int)tabrows>=li) { m=(li+(int)tabrows)/2; 143d: 23 23 23 23 23 23 23 23 23 22 20 73 69 7a 65 3d #########" size= switch((s=cmpprg(src,(char *)tab+tabcolumns*m))) 144d: 22 31 31 22 20 6d 61 78 6c 65 6e 67 74 68 3d 22 "11" maxlength=" 145d: 31 31 22 3e 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 11"></td></tr>.. 146d: 3c 74 72 3e 3c 74 64 3e 3c 69 6e 70 75 74 20 74 <tr><td><input t 147d: 79 70 65 3d 22 73 75 62 6d 69 74 22 20 6e 61 6d ype="submit" nam { case -1: tabrows=m-1; continue; case 1: li=m+1; 148d: 65 3d 22 53 75 62 6d 69 74 22 20 76 61 6c 75 65 e="Submit" value continue; default: if(cmp) *cmp=0; return (char *)tab+tabcolumns*m; 149d: 3d 22 20 20 20 4f 4b 20 20 20 22 3e 3c 2f 74 64 =" OK "></td } } if(s>0) 14ad: 3e 3c 74 64 3e 3c 69 6e 70 75 74 20 74 79 70 65 ><td><input type m++; } if(cmp) *cmp=1; return (char *)tab+tabcolumns*m; 14bd: 3d 22 63 68 65 63 6b 62 6f 78 22 20 6e 61 6d 65 ="checkbox" name 14cd: 3d 22 23 23 30 30 30 31 38 36 62 32 22 20 76 61 ="##000186b2" va } void QsmInterrupt(void) { 14dd: 6c 75 65 3d 22 31 22 3e 52 65 73 65 74 20 44 69 lue="1">Reset Di unsigned char l; unsigned char t; unsigned char r; l=sizeof(qsm.Buffer[QSM_TRANSMIT_BUFFER])-1; t=qsm.Buffer[QSM_TRANSMIT_BUFFER][l]; disable(); SPDR=t; 14ed: 67 69 57 45 42 3c 2f 74 64 3e 3c 2f 74 72 3e 0d giWEB</td></tr>. do { l--; t=qsm.Buffer[QSM_TRANSMIT_BUFFER][l]; while(!(SPSR & (1<<SPIF))); 14fd: 0a 3c 2f 74 61 62 6c 65 3e 3c 2f 66 6f 72 6d 3e .</table></form> r=SPDR; SPDR=t; qsm.Buffer[QSM_RECEIVE_BUFFER][(sizeof(qsm.Buffer[QSM_TRANSMIT_BUFFER])-2)-l]=r; }while(l); while(!(SPSR & (1<<SPIF))); qsm.Buffer[QSM_RECEIVE_BUFFER][sizeof(qsm.Buffer[QSM_TRANSMIT_BUFFER])-1]=SPDR; 150d: 3c 2f 62 6f 64 79 3e 3c 2f 68 74 6d 6c 3e 0d 0a </body></html>.. ... 0000151e <__c.7>: enable(); if(ConfigData.ssibits) 151e: 77 62 00 wb. 00001521 <__c.8>: 1521: 72 62 00 rb. 00001524 <__c.0>: 1524: 2e 68 74 6d 00 .htm. 00001529 <__c.1>: 1529: 2e 78 6d 6c 00 .xml. 0000152e <__c.2>: 152e: 2e 74 78 68 00 .txh. 00001533 <__c.3>: 1533: 2e 6a 73 00 .js. 00001537 <__c.4>: 1537: 2e 68 74 6d 00 .htm. 0000153c <__c.5>: 153c: 2e 64 77 68 00 .dwh. 00001541 <__c.6>: 1541: 2e 67 69 66 00 .gif. 00001546 <gifprg_P>: 1546: 21 f9 00 06 c8 4f 2c 00 00 08 44 4f 47 49 00 0b !....O,...DOGI.. 1556: 64 50 21 ff 00 0c 8d 50 3b 00 00 00 74 4e 21 fe dP!....P;...tN!. 1566: 00 00 24 4f ..$O 0000156a <__c.2>: 156a: 44 49 47 49 57 45 42 21 31 2e 30 00 DIGIWEB!1.0. 00001576 <__c.0>: 1576: 2e 67 69 66 00 .gif. 0000157b <__c.1>: 157b: 72 62 00 rb. 0000157e <putmac_htm_P>: 157e: 3c 68 74 6d 6c 3e 3c 68 65 61 64 3e 3c 74 69 74 <html><head><tit 158e: 6c 65 3e 50 75 74 4d 61 63 3c 2f 74 69 74 6c 65 le>PutMac 160e: 3c 2f 68 65 61 64 3e 3c 62 6f 64 79 20 62 67 63 < 162e: 66 6f 72 6d 20 6d 65 74 68 6f 64 3d 22 70 6f 73 form method="pos 163e: 74 22 20 61 63 74 69 6f 6e 3d 22 63 6f 6e 66 69 t" action="confi 164e: 67 2e 68 74 6d 22 20 6e 61 6d 65 3d 22 22 3e 3c g.htm" name="">< 165e: 70 3e 4e 65 75 65 20 4d 41 43 20 41 64 72 65 73 p>Neue MAC Adres 166e: 73 65 20 65 69 6e 67 65 62 65 6e 3c 69 6e 70 75 se eingeben

.... ... 0000172f : 172f: 21 2d 2d 00 00 00 00 00 00 00 00 00 3c 66 2f 53 !--.......... 1895: 0a 3c 6d 65 74 61 20 68 74 74 70 2d 65 71 75 69 .... 000018cd : 18cd: 22 3e 0a 00 00 ">... 000018d2 : QsmWegerfassung(); } void QsmInit(void) { DDRB |= (1<<2) | (1<<1) | (1<<0); // SCK & MOSI & SS auf OUT 18d2: 3c 69 6e 70 75 74 20 74 79 70 65 3d 22 68 69 64 : 191d: 3a 3d 23 69 6e 70 75 74 00 :=#input. 00001926 <__c.20>: 1926: 3d 26 00 =&. 00001929 <__c.21>: int l; offset*=4; 1929: 3d 00 =. 0000192b <__c.53>: 192b: 58 6d 67 3d 26 61 63 3d 22 00 Xmg=&ac=". 00001935 <__c.50>: for(l=3;l>=0;l--) 1935: 23 46 52 4d 3a 3d 00 #FRM:=. 0000193c <__c.51>: *w=(*w<<8)+rs232_usertab(offset+l); 193c: 23 43 4f 4c 3a 3d 00 #COL:=. 00001943 <__c.52>: 1943: 23 53 50 44 3a 3d 00 #SPD:=. 0000194a <__c.40>: 194a: 55 53 45 52 00 USER. 0000194f <__c.41>: 194f: 6d 67 00 mg. 00001952 <__c.42>: 1952: 50 41 53 53 57 4f 52 44 00 PASSWORD. 0000195b <__c.43>: 195b: 3c 69 6e 70 75 74 20 74 79 70 65 3d 22 68 69 64 .. 00001985 <__c.6>: 1985: 2d 2d 3e 20 45 52 52 4f 52 2d 43 4f 44 45 20 3a --> ERROR-CODE : 1995: 20 00 . 00001997 <__c.7>: 1997: 4e 41 4d 45 3d 00 NAME=. 0000199d <__c.8>: 199d: 56 41 4c 55 45 3d 00 VALUE=. 000019a4 <__c.9>: } ///////////////////////////////////////////////////////////////////////////////////////////////////// // Generallöschung und Neuinitialisierung ///////////////////////////////////////////////////////////////////////////////////////////////////// static void ConfigDataReset(void) { 19a4: 46 4d 54 00 FMT. 000019a8 <__c.10>: 19a8: 56 41 4c 55 45 3d 00 VALUE=. 000019af <__c.11>: char b[128]; size_t l; memclr(b); 19af: 22 20 53 45 4c 45 43 54 45 44 3e 00 " SELECTED>. 000019bb <__c.12>: for(l=0;l. 000019bf <__c.13>: { LedRedTgl(); 19bf: 2f 6f 70 74 69 6f 6e 00 /option. 000019c7 <__c.14>: eewr(l?l:l+sizeof(ARP),b,l?sizeof(b):sizeof(b)-sizeof(ARP)); 19c7: 48 54 54 50 2d 45 51 55 49 56 3d 00 HTTP-EQUIV=. 000019d3 <__c.15>: 19d3: 52 45 46 52 45 53 00 REFRES. 000019da <__c.16>: 19da: 43 4f 4e 54 45 4e 54 3d 00 CONTENT=. 000019e3 <__c.17>: 19e3: 58 6d 67 3d 00 Xmg=. 000019e8 <__c.29>: 19e8: 56 41 4c 55 45 3d 00 VALUE=. 000019ef <__c.30>: 19ef: 56 41 4c 55 45 3d 00 VALUE=. 000019f6 <__c.22>: } LedRedOff(); 19f6: 54 59 50 45 3d 00 TYPE=. 000019fc <__c.23>: ConfigDataSetDefault(); eewr(sizeof(ARP),(char *)&ConfigData+sizeof(ARP),sizeof(ConfigData)-sizeof(ARP)); 19fc: 54 45 58 54 00 TEXT. 00001a01 <__c.24>: 1a01: 50 41 53 53 57 4f 52 44 00 PASSWORD. 00001a0a <__c.25>: 1a0a: 48 49 44 44 45 4e 00 HIDDEN. 00001a11 <__c.26>: rs232protokoll(ConfigData.ComProtokoll,(unsigned char)ConfigGetComPort(),ConfigData.MyGnr); 1a11: 53 55 42 4d 49 54 00 SUBMIT. 00001a18 <__c.27>: 1a18: 42 55 54 54 4f 4e 00 BUTTON. 00001a1f <__c.31>: 1a1f: 4f 4e 43 4c 49 43 4b 3d 00 ONCLICK=. 00001a28 <__c.28>: 1a28: 43 48 45 43 4b 42 4f 58 00 CHECKBOX. 00001a31 <__c.32>: } void ConfigDefault(void) { eerd(0,&ConfigData,sizeof(ConfigData)); 1a31: 4e 41 4d 45 3d 00 NAME=. 00001a37 <__c.33>: 1a37: 56 41 4c 55 45 3d 00 VALUE=. 00001a3e <__c.34>: // Für Debug Notfall! if(ConfigData.MyArp.MAC[0]!=0x0050 || ConfigData.MyArp.MAC[1]!=0xC21E || (ConfigData.MyArp.MAC[2]&0xF000)!=0x2000) 1a3e: 20 76 61 6c 75 65 3d 22 31 22 3e 00 value="1">. 00001a4a <__c.35>: 1a4a: 20 43 48 45 43 4b 45 44 3e 00 CHECKED>. 00001a54 <__c.36>: 1a54: 3c 69 6e 70 75 74 20 74 79 70 65 3d 22 68 69 64 . 00001a7f <__c.38>: ConfigData.MyArp.MAC[1]=0xC21E; // Default MAC1 1a7f: 23 43 00 #C. 00001a82 <__c.39>: 1a82: 53 52 43 3d 00 SRC=. 00001a87 <__c.46>: ConfigData.MyArp.MAC[2]=0x2000; // Default MAC2 1a87: 53 52 43 3d 00 SRC=. 00001a8c <__c.47>: 1a8c: 22 00 ". 00001a8e <__c.48>: 1a8e: 4a 41 56 41 53 43 52 49 50 54 00 JAVASCRIPT. 00001a99 <__c.49>: ConfigData.MyArp.IP[0]=0xC0A8; // Default IP0 192.168 1a99: 2d 2d 3e 00 -->. 00001a9d <__c.0>: ConfigData.MyArp.IP[1]=0x0101; // Default IP1 001.001 1a9d: 3c 48 54 4d 4c 3e 3c 48 45 41 44 3e 3c 54 49 54 Parametererro } } void ConfigReset(void) { FlashFileFormat(); 1abd: 72 3c 2f 54 49 54 4c 45 3e 3c 4d 45 54 41 20 68 r 1aed: 3c 2f 48 45 41 44 3e 3c 42 4f 44 59 3e 3c 42 3e 1afd: 50 61 72 61 6d 65 74 65 72 65 72 72 6f 72 20 00 Parametererror . 00001b0d <__c.1>: } } void eerd(size_t pos,void *buffer,size_t len) { while(EECR & (1<
. 00001b17 <__c.2>: 1b17: 3c 2f 42 4f 44 59 3e 3c 2f 48 54 4d 4c 3e 0d 0a .. ... 00001b28 <__c.0>: 1b28: 6c 61 6e 67 75 61 67 65 2e 63 73 76 00 language.csv. 00001b35 : { do if(uchar_P(*ptr_P) == (char)chr) return ptr_P; while(uchar_P(*ptr_P++)); 1b35: 44 45 46 49 4e 45 44 00 00 00 00 00 00 00 00 00 DEFINED......... return 0; } 1b45: 76 80 00 44 4e 53 00 00 00 00 00 00 00 00 00 00 v..DNS.......... char *strpbrk(char * s1,const char * s2) { while(*s1) { if(strchr(s2, *s1)) return s1; s1++; 1b55: 00 00 00 f2 81 00 45 58 49 53 54 53 00 00 00 00 ......EXISTS.... 1b65: 00 00 00 00 00 00 c1 81 00 44 45 4c 46 49 4c 45 .........DELFILE ... } return NULL; 1b7d: 00 56 80 00 52 45 4e 46 49 4c 45 00 00 00 00 00 .V..RENFILE..... } char *strstr_P(char *s1,const char *s2_P) { 1b8d: 00 00 00 00 22 80 00 43 50 59 46 49 4c 45 00 00 ...."..CPYFILE.. size_t len=strlen_P(s2_P); while(s1 && *s1) { if(!strncmp_P(s1, s2_P,len)) return s1; s1 = strchr(s1+1,uchar_P(*s2_P)); 1b9d: 00 00 00 00 00 00 00 87 7f 00 45 52 52 4e 4f 00 ..........ERRNO. ... 1bb5: 00 00 4e 70 00 44 41 54 45 54 4f 53 54 52 00 00 ..Np.DATETOSTR.. 1bc5: 00 00 00 00 00 68 7f 02 53 54 52 54 4f 44 41 54 .....h..STRTODAT } return NULL; 1bd5: 45 00 00 00 00 00 00 00 a3 81 02 46 4f 52 4d 41 E..........FORMA } int memcmp_P(void * s1, const void * s2_P, size_t len) { while(len--) { if(*(char *)s1 != uchar_P(*(const char *)s2_P)) return *(char *)s1 - uchar_P(*(const char *)s2_P); s1=(char *)s1+1; s2_P=(const char *)s2_P+1; 1be5: 54 00 00 00 00 00 00 00 00 00 00 eb 86 02 55 52 T.............UR 1bf5: 4c 45 4e 43 4f 44 45 00 00 00 00 00 00 00 4c 7f LENCODE.......L. } return 0; 1c05: 02 4d 55 4c 44 49 56 00 00 00 00 00 00 00 00 00 .MULDIV......... } char *strpbrk_P(const char * s1, const char * s2_P) { 1c15: 00 47 81 02 4d 49 4e 4d 41 58 00 00 00 00 00 00 .G..MINMAX...... while(*s1) {