📄 main.lss
字号:
3336: 2f 5f subi r18, 0xFF ; 255
3338: 3f 4f sbci r19, 0xFF ; 255
333a: 4e 17 cp r20, r30
333c: 5f 07 cpc r21, r31
333e: 34 f3 brlt .-52 ; 0x330c <cmdreadeepromisp+0x4a>
3340: 30 93 6d 00 sts 0x006D, r19
3344: 20 93 6c 00 sts 0x006C, r18
3348: ed 57 subi r30, 0x7D ; 125
334a: fe 4f sbci r31, 0xFE ; 254
334c: 17 82 std Z+7, r1 ; 0x07
334e: 08 95 ret
00003350 <cmdosccal>:
3350: 10 92 85 01 sts 0x0185, r1
3354: 82 e0 ldi r24, 0x02 ; 2
3356: 80 93 86 01 sts 0x0186, r24
335a: 85 e0 ldi r24, 0x05 ; 5
335c: 80 93 88 01 sts 0x0188, r24
3360: 10 92 89 01 sts 0x0189, r1
3364: 08 95 ret
00003366 <delay_ms>:
3366: 9c 01 movw r18, r24
3368: e3 e3 ldi r30, 0x33 ; 51
336a: f7 e0 ldi r31, 0x07 ; 7
336c: 03 c0 rjmp .+6 ; 0x3374 <delay_ms+0xe>
*/
void
_delay_loop_2(uint16_t __count)
{
__asm__ volatile (
336e: cf 01 movw r24, r30
3370: 01 97 sbiw r24, 0x01 ; 1
3372: f1 f7 brne .-4 ; 0x3370 <delay_ms+0xa>
3374: 21 50 subi r18, 0x01 ; 1
3376: 30 40 sbci r19, 0x00 ; 0
3378: 8f ef ldi r24, 0xFF ; 255
337a: 2f 3f cpi r18, 0xFF ; 255
337c: 38 07 cpc r19, r24
337e: b9 f7 brne .-18 ; 0x336e <delay_ms+0x8>
3380: 08 95 ret
00003382 <cmdprogrameepromisp>:
3382: ef 92 push r14
3384: ff 92 push r15
3386: 0f 93 push r16
3388: 1f 93 push r17
338a: cf 93 push r28
338c: df 93 push r29
338e: 10 92 85 01 sts 0x0185, r1
3392: 82 e0 ldi r24, 0x02 ; 2
3394: 80 93 86 01 sts 0x0186, r24
3398: 85 e1 ldi r24, 0x15 ; 21
339a: 80 93 88 01 sts 0x0188, r24
339e: 10 92 89 01 sts 0x0189, r1
33a2: 80 91 76 00 lds r24, 0x0076
33a6: 99 27 eor r25, r25
33a8: d8 2f mov r29, r24
33aa: cc 27 eor r28, r28
33ac: 80 91 77 00 lds r24, 0x0077
33b0: c8 0f add r28, r24
33b2: d1 1d adc r29, r1
33b4: ee 24 eor r14, r14
33b6: ff 24 eor r15, r15
33b8: 0f e7 ldi r16, 0x7F ; 127
33ba: 10 e0 ldi r17, 0x00 ; 0
33bc: 43 c0 rjmp .+134 ; 0x3444 <cmdprogrameepromisp+0xc2>
33be: 80 ea ldi r24, 0xA0 ; 160
33c0: 8f b9 out 0x0f, r24 ; 15
33c2: 77 9b sbis 0x0e, 7 ; 14
33c4: fe cf rjmp .-4 ; 0x33c2 <cmdprogrameepromisp+0x40>
33c6: 8f b1 in r24, 0x0f ; 15
33c8: 20 91 6c 00 lds r18, 0x006C
33cc: 30 91 6d 00 lds r19, 0x006D
33d0: 83 2f mov r24, r19
33d2: 99 27 eor r25, r25
33d4: 58 2f mov r21, r24
33d6: 8f b9 out 0x0f, r24 ; 15
33d8: 77 9b sbis 0x0e, 7 ; 14
33da: fe cf rjmp .-4 ; 0x33d8 <cmdprogrameepromisp+0x56>
33dc: 8f b1 in r24, 0x0f ; 15
33de: 42 2f mov r20, r18
33e0: 2f b9 out 0x0f, r18 ; 15
33e2: 77 9b sbis 0x0e, 7 ; 14
33e4: fe cf rjmp .-4 ; 0x33e2 <cmdprogrameepromisp+0x60>
33e6: 8f b1 in r24, 0x0f ; 15
33e8: 8f ef ldi r24, 0xFF ; 255
33ea: 8f b9 out 0x0f, r24 ; 15
33ec: 77 9b sbis 0x0e, 7 ; 14
33ee: fe cf rjmp .-4 ; 0x33ec <cmdprogrameepromisp+0x6a>
33f0: 8f b1 in r24, 0x0f ; 15
33f2: f8 01 movw r30, r16
33f4: 90 81 ld r25, Z
33f6: 98 17 cp r25, r24
33f8: b9 f0 breq .+46 ; 0x3428 <cmdprogrameepromisp+0xa6>
33fa: 80 91 7a 00 lds r24, 0x007A
33fe: 8f b9 out 0x0f, r24 ; 15
3400: 77 9b sbis 0x0e, 7 ; 14
3402: fe cf rjmp .-4 ; 0x3400 <cmdprogrameepromisp+0x7e>
3404: 8f b1 in r24, 0x0f ; 15
3406: 5f b9 out 0x0f, r21 ; 15
3408: 77 9b sbis 0x0e, 7 ; 14
340a: fe cf rjmp .-4 ; 0x3408 <cmdprogrameepromisp+0x86>
340c: 8f b1 in r24, 0x0f ; 15
340e: 4f b9 out 0x0f, r20 ; 15
3410: 77 9b sbis 0x0e, 7 ; 14
3412: fe cf rjmp .-4 ; 0x3410 <cmdprogrameepromisp+0x8e>
3414: 8f b1 in r24, 0x0f ; 15
3416: 9f b9 out 0x0f, r25 ; 15
3418: 77 9b sbis 0x0e, 7 ; 14
341a: fe cf rjmp .-4 ; 0x3418 <cmdprogrameepromisp+0x96>
341c: 8f b1 in r24, 0x0f ; 15
341e: 80 91 79 00 lds r24, 0x0079
3422: 99 27 eor r25, r25
3424: 0e 94 b3 19 call 0x3366 ; 0x3366 <delay_ms>
3428: 80 91 6c 00 lds r24, 0x006C
342c: 90 91 6d 00 lds r25, 0x006D
3430: 01 96 adiw r24, 0x01 ; 1
3432: 90 93 6d 00 sts 0x006D, r25
3436: 80 93 6c 00 sts 0x006C, r24
343a: 08 94 sec
343c: e1 1c adc r14, r1
343e: f1 1c adc r15, r1
3440: 0f 5f subi r16, 0xFF ; 255
3442: 1f 4f sbci r17, 0xFF ; 255
3444: ec 16 cp r14, r28
3446: fd 06 cpc r15, r29
3448: 0c f4 brge .+2 ; 0x344c <cmdprogrameepromisp+0xca>
344a: b9 cf rjmp .-142 ; 0x33be <cmdprogrameepromisp+0x3c>
344c: df 91 pop r29
344e: cf 91 pop r28
3450: 1f 91 pop r17
3452: 0f 91 pop r16
3454: ff 90 pop r15
3456: ef 90 pop r14
3458: 08 95 ret
0000345a <cmdprogramflashisp>:
345a: cf 92 push r12
345c: df 92 push r13
345e: ef 92 push r14
3460: ff 92 push r15
3462: 0f 93 push r16
3464: 1f 93 push r17
3466: cf 93 push r28
3468: df 93 push r29
346a: 10 92 85 01 sts 0x0185, r1
346e: 82 e0 ldi r24, 0x02 ; 2
3470: 80 93 86 01 sts 0x0186, r24
3474: 83 e1 ldi r24, 0x13 ; 19
3476: 80 93 88 01 sts 0x0188, r24
347a: 10 92 89 01 sts 0x0189, r1
347e: 80 91 6e 00 lds r24, 0x006E
3482: 88 23 and r24, r24
3484: e1 f0 breq .+56 ; 0x34be <cmdprogramflashisp+0x64>
3486: 8d e4 ldi r24, 0x4D ; 77
3488: 8f b9 out 0x0f, r24 ; 15
348a: 77 9b sbis 0x0e, 7 ; 14
348c: fe cf rjmp .-4 ; 0x348a <cmdprogramflashisp+0x30>
348e: 8f b1 in r24, 0x0f ; 15
3490: 1f b8 out 0x0f, r1 ; 15
3492: 77 9b sbis 0x0e, 7 ; 14
3494: fe cf rjmp .-4 ; 0x3492 <cmdprogramflashisp+0x38>
3496: 8f b1 in r24, 0x0f ; 15
3498: 80 91 68 00 lds r24, 0x0068
349c: 90 91 69 00 lds r25, 0x0069
34a0: a0 91 6a 00 lds r26, 0x006A
34a4: b0 91 6b 00 lds r27, 0x006B
34a8: cd 01 movw r24, r26
34aa: aa 27 eor r26, r26
34ac: bb 27 eor r27, r27
34ae: 8f b9 out 0x0f, r24 ; 15
34b0: 77 9b sbis 0x0e, 7 ; 14
34b2: fe cf rjmp .-4 ; 0x34b0 <cmdprogramflashisp+0x56>
34b4: 8f b1 in r24, 0x0f ; 15
34b6: 1f b8 out 0x0f, r1 ; 15
34b8: 77 9b sbis 0x0e, 7 ; 14
34ba: fe cf rjmp .-4 ; 0x34b8 <cmdprogramflashisp+0x5e>
34bc: 8f b1 in r24, 0x0f ; 15
34be: 80 91 76 00 lds r24, 0x0076
34c2: 99 27 eor r25, r25
34c4: 78 2f mov r23, r24
34c6: 66 27 eor r22, r22
34c8: 80 91 77 00 lds r24, 0x0077
34cc: 68 0f add r22, r24
34ce: 71 1d adc r23, r1
34d0: e0 90 68 00 lds r14, 0x0068
34d4: f0 90 69 00 lds r15, 0x0069
34d8: 00 91 6a 00 lds r16, 0x006A
34dc: 10 91 6b 00 lds r17, 0x006B
34e0: d0 90 7a 00 lds r13, 0x007A
34e4: b8 e0 ldi r27, 0x08 ; 8
34e6: cb 2e mov r12, r27
34e8: cd 28 or r12, r13
34ea: a8 01 movw r20, r16
34ec: 97 01 movw r18, r14
34ee: c0 e0 ldi r28, 0x00 ; 0
34f0: d0 e0 ldi r29, 0x00 ; 0
34f2: e0 e7 ldi r30, 0x70 ; 112
34f4: f0 e0 ldi r31, 0x00 ; 0
34f6: 2d c0 rjmp .+90 ; 0x3552 <cmdprogramflashisp+0xf8>
34f8: df b8 out 0x0f, r13 ; 15
34fa: 77 9b sbis 0x0e, 7 ; 14
34fc: fe cf rjmp .-4 ; 0x34fa <cmdprogramflashisp+0xa0>
34fe: 8f b1 in r24, 0x0f ; 15
3500: bb 27 eor r27, r27
3502: a5 2f mov r26, r21
3504: 94 2f mov r25, r20
3506: 83 2f mov r24, r19
3508: 8f b9 out 0x0f, r24 ; 15
350a: 77 9b sbis 0x0e, 7 ; 14
350c: fe cf rjmp .-4 ; 0x350a <cmdprogramflashisp+0xb0>
350e: 8f b1 in r24, 0x0f ; 15
3510: 92 2f mov r25, r18
3512: 2f b9 out 0x0f, r18 ; 15
3514: 77 9b sbis 0x0e, 7 ; 14
3516: fe cf rjmp .-4 ; 0x3514 <cmdprogramflashisp+0xba>
3518: 8f b1 in r24, 0x0f ; 15
351a: 87 85 ldd r24, Z+15 ; 0x0f
351c: 8f b9 out 0x0f, r24 ; 15
351e: 77 9b sbis 0x0e, 7 ; 14
3520: fe cf rjmp .-4 ; 0x351e <cmdprogramflashisp+0xc4>
3522: 8f b1 in r24, 0x0f ; 15
3524: cf b8 out 0x0f, r12 ; 15
3526: 77 9b sbis 0x0e, 7 ; 14
3528: fe cf rjmp .-4 ; 0x3526 <cmdprogramflashisp+0xcc>
352a: 8f b1 in r24, 0x0f ; 15
352c: 1f b8 out 0x0f, r1 ; 15
352e: 77 9b sbis 0x0e, 7 ; 14
3530: fe cf rjmp .-4 ; 0x352e <cmdprogramflashisp+0xd4>
3532: 8f b1 in r24, 0x0f ; 15
3534: 9f b9 out 0x0f, r25 ; 15
3536: 77 9b sbis 0x0e, 7 ; 14
3538: fe cf rjmp .-4 ; 0x3536 <cmdprogramflashisp+0xdc>
353a: 8f b1 in r24, 0x0f ; 15
353c: 80 89 ldd r24, Z+16 ; 0x10
353e: 8f b9 out 0x0f, r24 ; 15
3540: 77 9b sbis 0x0e, 7 ; 14
3542: fe cf rjmp .-4 ; 0x3540 <cmdprogramflashisp+0xe6>
3544: 8f b1 in r24, 0x0f ; 15
3546: 22 96 adiw r28, 0x02 ; 2
3548: 2f 5f subi r18, 0xFF ; 255
354a: 3f 4f sbci r19, 0xFF ; 255
354c: 4f 4f sbci r20, 0xFF ; 255
354e: 5f 4f sbci r21, 0xFF ; 255
3550: 32 96 adiw r30, 0x02 ; 2
3552: c6 17 cp r28, r22
3554: d7 07 cpc r29, r23
3556: 84 f2 brlt .-96 ; 0x34f8 <cmdprogramflashisp+0x9e>
3558: 20 93 68 00 sts 0x0068, r18
355c: 30 93 69 00 sts 0x0069, r19
3560: 40 93 6a 00 sts 0x006A, r20
3564: 50 93 6b 00 sts 0x006B, r21
3568: 80 91 78 00 lds r24, 0x0078
356c: 87 ff sbrs r24, 7
356e: 1d c0 rjmp .+58 ; 0x35aa <cmdprogramflashisp+0x150>
3570: 80 91 7b 00 lds r24, 0x007B
3574: 8f b9 out 0x0f, r24 ; 15
3576: 77 9b sbis 0x0e, 7 ; 14
3578: fe cf rjmp .-4 ; 0x3576 <cmdprogramflashisp+0x11c>
357a: 8f b1 in r24, 0x0f ; 15
357c: bb 27 eor r27, r27
357e: 17 fd sbrc r17, 7
3580: ba 95 dec r27
3582: a1 2f mov r26, r17
3584: 90 2f mov r25, r16
3586: 8f 2d mov r24, r15
3588: 8f b9 out 0x0f, r24 ; 15
358a: 77 9b sbis 0x0e, 7 ; 14
358c: fe cf rjmp .-4 ; 0x358a <cmdprogramflashisp+0x130>
358e: 8f b1 in r24, 0x0f ; 15
3590: ef b8 out 0x0f, r14 ; 15
3592: 77 9b sbis 0x0e, 7 ; 14
3594: fe cf rjmp .-4 ; 0x3592 <cmdprogramflashisp+0x138>
3596: 8f b1 in r24, 0x0f ; 15
3598: 1f b8 out 0x0f, r1 ; 15
359a: 77 9b sbis 0x0e, 7 ; 14
359c: fe cf rjmp .-4 ; 0x359a <cmdprogramflashisp+0x140>
359e: 8f b1 in r24, 0x0f ; 15
35a0: 80 91 79 00 lds r24, 0x0079
35a4: 99 27 eor r25, r25
35a6: 0e 94 b3 19 call 0x3366 ; 0x3366 <delay_ms>
35aa: df 91 pop r29
35ac: cf 91 pop r28
35ae: 1f 91 pop r17
35b0: 0f 91 pop r16
35b2: ff 90 pop r15
35b4: ef 90 pop r14
35b6: df 90 pop r13
35b8: cf 90 pop r12
35ba: 08 95 ret
000035bc <cmdchiperaseisp>:
35bc: 10 92 85 01 sts 0x0185, r1
35c0: 82 e0 ldi r24, 0x02 ; 2
35c2: 80 93 86 01 sts 0x0186, r24
35c6: 82 e1 ldi r24, 0x12 ; 18
35c8: 80 93 88 01 sts 0x0188, r24
35cc: 10 92 89 01 sts 0x0189, r1
35d0: 80 91 78 00 lds r24, 0x0078
35d4: 8f b9 out 0x0f, r24 ; 15
35d6: 77 9b sbis 0x0e, 7 ; 14
35d8: fe cf rjmp .-4 ; 0x35d6 <cmdchiperaseisp+0x1a>
35da: 8f b1 in r24, 0x0f ; 15
35dc: 80 91 79 00 lds r24, 0x0079
35e0: 8f b9 out 0x0f, r24 ; 15
35e2: 77 9b sbis 0x0e, 7 ; 14
35e4: fe cf rjmp .-4 ; 0x35e2 <cmdchiperaseisp+0x26>
35e6: 8f b1 in r24, 0x0f ; 15
35e8: 80 91 7a 00 lds r24, 0x007A
35ec: 8f b9 out 0x0f, r24 ; 15
35ee: 77 9b sbis 0x0e, 7 ; 14
35f0: fe cf rjmp .-4 ; 0x35ee <cmdchiperaseisp+0x32>
35f2: 8f b1 in r24, 0x0f ; 15
35f4: 80 91 7b 00 lds r24, 0x007B
35f8: 8f b9 out 0x0f, r24 ; 15
35fa: 77 9b sbis 0x0e, 7 ; 14
35fc: fe cf rjmp .-4 ; 0x35fa <cmdchiperaseisp+0x3e>
35fe: 8f b1 in r24, 0x0f ; 15
3600: 80 91 76 00 lds r24, 0x0076
3604: 99 27 eor r25, r25
3606: 0e 94 b3 19 call 0x3366 ; 0x3366 <delay_ms>
360a: 08 95 ret
0000360c <spi>:
360c: 8f b9 out 0x0f, r24 ; 15
360e: 77 9b sbis 0x0e, 7 ; 14
3610: fe cf rjmp .-4 ; 0x360e <spi+0x2>
3612: 8f b1 in r24, 0x0f ; 15
}
3614: 99 27 eor r25, r25
3616: 08 95 ret
00003618 <EnterProgmodeIsp>:
void EnterProgmodeIsp(void)
{
3618: 1f 93 push r17
char tmp;
tx_buf[5] = CMD_ENTER_PROGMODE_ISP;
361a: 80 e1 ldi r24, 0x10 ; 16
361c: 80 93 88 01 sts 0x0188, r24
DDRB|=0xB0; //set spi pins out put
3620: 87 b3 in r24, 0x17 ; 23
3622: 80 6b ori r24, 0xB0 ; 176
3624: 87 bb out 0x17, r24 ; 23
reset_DDR|=_BV(reset);
3626: b9 9a sbi 0x17, 1 ; 23
sck_port &=~_BV(sck); //clear sck
3628: c7 98 cbi 0x18, 7 ; 24
delay_ms(rx_buf[7]+rx_buf[8]);
362a: 80 91 77 00 lds r24, 0x0077
362e: 90 91 78 00 lds r25, 0x0078
3632: 89 0f add r24, r25
3634: 91 2d mov r25, r1
3636: 91 1d adc r25, r1
3638: 0e 94 b3 19 call 0x3366 ; 0x3366 <delay_ms>
if(rx_buf[11]==0x53) //this is avr set reset
363c: 80 91 7b 00 lds r24, 0x007B
3640: 83 35 cpi r24, 0x53 ; 83
3642: c9 f5 brne .+114 ; 0x36b6 <EnterProgmodeIsp+0x9e>
{
reset_PORT &= ~_BV(reset); //reset 0
3644: c1 98 cbi 0x18, 1 ; 24
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -