📄 newmain.lis
字号:
04E2 ; page_offset_rd=0;
04E2 2224 clr R2
04E4 3324 clr R3
04E6 30920B00 sts _page_offset_rd+1,R3
04EA 20920A00 sts _page_offset_rd,R2
04EE .dbline 328
04EE ; delay_ms(2);
04EE 02E0 ldi R16,2
04F0 10E0 ldi R17,0
04F2 0FDE xcall _delay_ms
04F4 .dbline 329
04F4 ; Read_Testfile(data ,4 );
04F4 24E0 ldi R18,4
04F6 30E0 ldi R19,0
04F8 00E0 ldi R16,<_data
04FA 10E0 ldi R17,>_data
04FC 33DE xcall _Read_Testfile
04FE .dbline 330
04FE ; delay_ms(2);
04FE 02E0 ldi R16,2
0500 10E0 ldi R17,0
0502 07DE xcall _delay_ms
0504 .dbline 331
0504 ; Filelength=0;
0504 40E0 ldi R20,0
0506 50E0 ldi R21,0
0508 60E0 ldi R22,0
050A 70E0 ldi R23,0
050C 50930F00 sts _Filelength+1,R21
0510 40930E00 sts _Filelength,R20
0514 70931100 sts _Filelength+2+1,R23
0518 60931000 sts _Filelength+2,R22
051C .dbline 332
051C ; Filelength=data[2];
051C 20903200 lds R2,_data+2
0520 3324 clr R3
0522 4424 clr R4
0524 5524 clr R5
0526 30920F00 sts _Filelength+1,R3
052A 20920E00 sts _Filelength,R2
052E 50921100 sts _Filelength+2+1,R5
0532 40921000 sts _Filelength+2,R4
0536 .dbline 333
0536 ; Filelength=Filelength*0x100+data[3];
0536 40901000 lds R4,_Filelength+2
053A 50901100 lds R5,_Filelength+2+1
053E 20900E00 lds R2,_Filelength
0542 30900F00 lds R3,_Filelength+1
0546 40E0 ldi R20,0
0548 51E0 ldi R21,1
054A 60E0 ldi R22,0
054C 70E0 ldi R23,0
054E 5A92 st -y,R5
0550 4A92 st -y,R4
0552 3A92 st -y,R3
0554 2A92 st -y,R2
0556 8A01 movw R16,R20
0558 9B01 movw R18,R22
055A 0E940000 xcall empy32s
055E 1801 movw R2,R16
0560 2901 movw R4,R18
0562 60903300 lds R6,_data+3
0566 7724 clr R7
0568 8824 clr R8
056A 9924 clr R9
056C 260C add R2,R6
056E 371C adc R3,R7
0570 481C adc R4,R8
0572 591C adc R5,R9
0574 30920F00 sts _Filelength+1,R3
0578 20920E00 sts _Filelength,R2
057C 50921100 sts _Filelength+2+1,R5
0580 40921000 sts _Filelength+2,R4
0584 .dbline 334
0584 ; delay_ms(1000);
0584 08EE ldi R16,1000
0586 13E0 ldi R17,3
0588 C4DD xcall _delay_ms
058A .dbline 335
058A ; address=0;
058A 40E0 ldi R20,0
058C 50E0 ldi R21,0
058E 60E0 ldi R22,0
0590 70E0 ldi R23,0
0592 50930100 sts _address+1,R21
0596 40930000 sts _address,R20
059A 70930300 sts _address+2+1,R23
059E 60930200 sts _address+2,R22
05A2 4EC0 xjmp L125
05A4 L124:
05A4 .dbline 337
05A4 .dbline 338
05A4 02E0 ldi R16,2
05A6 10E0 ldi R17,0
05A8 B4DD xcall _delay_ms
05AA .dbline 339
05AA C0900C00 lds R12,_page_counter_rd
05AE D0900D00 lds R13,_page_counter_rd+1
05B2 .dbline 340
05B2 A0900A00 lds R10,_page_offset_rd
05B6 B0900B00 lds R11,_page_offset_rd+1
05BA .dbline 341
05BA 80E0 ldi R24,256
05BC 91E0 ldi R25,1
05BE 9983 std y+1,R25
05C0 8883 std y+0,R24
05C2 2FEF ldi R18,255
05C4 30E0 ldi R19,0
05C6 00E0 ldi R16,<_data
05C8 10E0 ldi R17,>_data
05CA 0E940000 xcall _memset
05CE .dbline 342
05CE 20E0 ldi R18,256
05D0 31E0 ldi R19,1
05D2 00E0 ldi R16,<_data
05D4 10E0 ldi R17,>_data
05D6 C6DD xcall _Read_Testfile
05D8 .dbline 344
05D8 0AE0 ldi R16,10
05DA 10E0 ldi R17,0
05DC 9ADD xcall _delay_ms
05DE .dbline 346
05DE 38DD xcall _write_one_page
05E0 .dbline 347
05E0 40E0 ldi R20,0
05E2 51E0 ldi R21,1
05E4 60E0 ldi R22,0
05E6 70E0 ldi R23,0
05E8 40900200 lds R4,_address+2
05EC 50900300 lds R5,_address+2+1
05F0 20900000 lds R2,_address
05F4 30900100 lds R3,_address+1
05F8 240E add R2,R20
05FA 351E adc R3,R21
05FC 461E adc R4,R22
05FE 571E adc R5,R23
0600 30920100 sts _address+1,R3
0604 20920000 sts _address,R2
0608 50920300 sts _address+2+1,R5
060C 40920200 sts _address+2,R4
0610 .dbline 348
0610 40E0 ldi R20,0
0612 51E0 ldi R21,1
0614 60E0 ldi R22,0
0616 70E0 ldi R23,0
0618 40901000 lds R4,_Filelength+2
061C 50901100 lds R5,_Filelength+2+1
0620 20900E00 lds R2,_Filelength
0624 30900F00 lds R3,_Filelength+1
0628 241A sub R2,R20
062A 350A sbc R3,R21
062C 460A sbc R4,R22
062E 570A sbc R5,R23
0630 30920F00 sts _Filelength+1,R3
0634 20920E00 sts _Filelength,R2
0638 50921100 sts _Filelength+2+1,R5
063C 40921000 sts _Filelength+2,R4
0640 .dbline 349
0640 L125:
0640 .dbline 336
0640 ; while (Filelength>SPM_PAGESIZE)
0640 40E0 ldi R20,0
0642 51E0 ldi R21,1
0644 60E0 ldi R22,0
0646 70E0 ldi R23,0
0648 40901000 lds R4,_Filelength+2
064C 50901100 lds R5,_Filelength+2+1
0650 20900E00 lds R2,_Filelength
0654 30900F00 lds R3,_Filelength+1
0658 4215 cp R20,R2
065A 5305 cpc R21,R3
065C 6405 cpc R22,R4
065E 7505 cpc R23,R5
0660 0CF4 brge X8
0662 A0CF xjmp L124
0664 X8:
0664 .dbline 350
0664 ; {
0664 ; delay_ms(2);
0664 ; page_num=page_counter_rd;
0664 ; byte_num=page_offset_rd;
0664 ; memset(data,0xff,SPM_PAGESIZE);
0664 ; Read_Testfile(data ,SPM_PAGESIZE );
0664 ;
0664 ; delay_ms(10);
0664 ;
0664 ; write_one_page(); //收到256字节写入一页Flash中
0664 ; address += SPM_PAGESIZE; //Flash页加1
0664 ; Filelength=Filelength-SPM_PAGESIZE;
0664 ; }
0664 ; if(Filelength>0)
0664 40E0 ldi R20,0
0666 50E0 ldi R21,0
0668 60E0 ldi R22,0
066A 70E0 ldi R23,0
066C 4215 cp R20,R2
066E 5305 cpc R21,R3
0670 6405 cpc R22,R4
0672 7505 cpc R23,R5
0674 84F5 brge L127
0676 .dbline 351
0676 ; {
0676 .dbline 352
0676 ; delay_ms(2);
0676 02E0 ldi R16,2
0678 10E0 ldi R17,0
067A 4BDD xcall _delay_ms
067C .dbline 353
067C ; memset(data,0xff,SPM_PAGESIZE);
067C 80E0 ldi R24,256
067E 91E0 ldi R25,1
0680 9983 std y+1,R25
0682 8883 std y+0,R24
0684 2FEF ldi R18,255
0686 30E0 ldi R19,0
0688 00E0 ldi R16,<_data
068A 10E0 ldi R17,>_data
068C 0E940000 xcall _memset
0690 .dbline 354
0690 ; Read_Testfile(data ,Filelength );
0690 20910E00 lds R18,_Filelength
0694 30910F00 lds R19,_Filelength+1
0698 00E0 ldi R16,<_data
069A 10E0 ldi R17,>_data
069C 63DD xcall _Read_Testfile
069E .dbline 355
069E ; write_one_page();
069E D8DC xcall _write_one_page
06A0 .dbline 356
06A0 ; clr_dog();
06A0 4EDD xcall _clr_dog
06A2 .dbline 357
06A2 ; BootFlag=0;
06A2 2224 clr R2
06A4 2A82 std y+2,R2
06A6 .dbline 358
06A6 ; EEPROM_WRITE(0x7ff,BootFlag);
06A6 81E0 ldi R24,1
06A8 90E0 ldi R25,0
06AA 9983 std y+1,R25
06AC 8883 std y+0,R24
06AE 9E01 movw R18,R28
06B0 2E5F subi R18,254 ; offset = 2
06B2 3F4F sbci R19,255
06B4 0FEF ldi R16,2047
06B6 17E0 ldi R17,7
06B8 0E940000 xcall _EEPROMWriteBytes
06BC .dbline 359
06BC ; EEPROM_WRITE(0x600,BootFlag);
06BC 81E0 ldi R24,1
06BE 90E0 ldi R25,0
06C0 9983 std y+1,R25
06C2 8883 std y+0,R24
06C4 9E01 movw R18,R28
06C6 2E5F subi R18,254 ; offset = 2
06C8 3F4F sbci R19,255
06CA 00E0 ldi R16,1536
06CC 16E0 ldi R17,6
06CE 0E940000 xcall _EEPROMWriteBytes
06D2 .dbline 360
06D2 ; quit();
06D2 F9DC xcall _quit
06D4 .dbline 361
06D4 ; }
06D4 1CC0 xjmp L128
06D6 L127:
06D6 .dbline 363
06D6 ; else
06D6 ; {
06D6 .dbline 364
06D6 ; delay_ms(2);
06D6 02E0 ldi R16,2
06D8 10E0 ldi R17,0
06DA 1BDD xcall _delay_ms
06DC .dbline 365
06DC ; BootFlag=0;
06DC 2224 clr R2
06DE 2A82 std y+2,R2
06E0 .dbline 366
06E0 ; EEPROM_WRITE(0x7ff,BootFlag);
06E0 81E0 ldi R24,1
06E2 90E0 ldi R25,0
06E4 9983 std y+1,R25
06E6 8883 std y+0,R24
06E8 9E01 movw R18,R28
06EA 2E5F subi R18,254 ; offset = 2
06EC 3F4F sbci R19,255
06EE 0FEF ldi R16,2047
06F0 17E0 ldi R17,7
06F2 0E940000 xcall _EEPROMWriteBytes
06F6 .dbline 367
06F6 ; EEPROM_WRITE(0x600,BootFlag);
06F6 81E0 ldi R24,1
06F8 90E0 ldi R25,0
06FA 9983 std y+1,R25
06FC 8883 std y+0,R24
06FE 9E01 movw R18,R28
0700 2E5F subi R18,254 ; offset = 2
0702 3F4F sbci R19,255
0704 00E0 ldi R16,1536
0706 16E0 ldi R17,6
0708 0E940000 xcall _EEPROMWriteBytes
070C .dbline 368
070C ; quit();
070C DCDC xcall _quit
070E .dbline 369
070E ; }
070E L128:
070E .dbline 370
070E ; }
070E L111:
070E L109:
070E .dbline -2
070E L107:
070E 2396 adiw R28,3
0710 .dbline 0 ; func end
0710 0895 ret
0712 .dbsym r byte_num 10 I
0712 .dbsym r page_num 12 I
0712 .dbsym l BootFlag 2 c
0712 .dbsym r i 10 c
0712 .dbend
.area bss(ram, con, rel)
0000 .dbfile E:\cqt\cqt_boot\newmain.c
0000 _Num::
0000 .blkb 1
0001 .dbsym e Num _Num c
0001 _ROK_flag::
0001 .blkb 1
0002 .dbsym e ROK_flag _ROK_flag c
0002 _length1::
0002 .blkb 2
0004 .dbsym e length1 _length1 I
0004 _lengt
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -