⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.lis

📁 AVR系列被广泛应用的单片机MEGA8开发(原理图)及例程
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 009E C02E              mov R12,R16
 00A0 DD24              clr R13
 00A2                   .dbline 102
 00A2           ;           page_address|=recchar()<<8;
 00A2 00D0              rcall _recchar
 00A4 202E              mov R2,R16
 00A6 3324              clr R3
 00A8 322C              mov R3,R2
 00AA 2224              clr R2
 00AC C228              or R12,R2
 00AE D328              or R13,R3
 00B0                   .dbline 103
 00B0           ;           for(address=0;address < APP_END;address += PAGESIZE)  //Application section = 60 pages
 00B0 6627              clr R22
 00B2 7727              clr R23
 00B4 3AC0              rjmp L26
 00B6           L23:
 00B6                   .dbline 104
 00B6           ;           { 
 00B6                   .dbline 105
 00B6           ;           for(page_size=0;page_size < PAGESIZE;page_size += 2)  //Application section = 60 pages
 00B6 AA24              clr R10
 00B8 2FC0              rjmp L30
 00BA           L27:
 00BA                   .dbline 106
 00BA           ;               {
 00BA                   .dbline 107
 00BA           ;               if(page_address!=0)
 00BA CC20              tst R12
 00BC 11F4              brne X1
 00BE DD20              tst R13
 00C0 21F0              breq L31
 00C2           X1:
 00C2                   .dbline 108
 00C2           ;                data=recchar();
 00C2 00D0              rcall _recchar
 00C4 E02E              mov R14,R16
 00C6 FF24              clr R15
 00C8 03C0              rjmp L32
 00CA           L31:
 00CA                   .dbline 110
 00CA           ;                 else
 00CA           ;                 data=0xFF;
 00CA 8FEF              ldi R24,255
 00CC 90E0              ldi R25,0
 00CE 7C01              movw R14,R24
 00D0           L32:
 00D0                   .dbline 111
 00D0           ;                 if(page_address)
 00D0 CC20              tst R12
 00D2 11F4              brne X2
 00D4 DD20              tst R13
 00D6 19F0              breq L33
 00D8           X2:
 00D8                   .dbline 112
 00D8           ;                 page_address--;
 00D8 C601              movw R24,R12
 00DA 0197              sbiw R24,1
 00DC 6C01              movw R12,R24
 00DE           L33:
 00DE                   .dbline 113
 00DE           ;                 if(page_address!=0)
 00DE CC20              tst R12
 00E0 11F4              brne X3
 00E2 DD20              tst R13
 00E4 41F0              breq L35
 00E6           X3:
 00E6                   .dbline 114
 00E6           ;                data|=recchar()<<8;
 00E6 00D0              rcall _recchar
 00E8 202E              mov R2,R16
 00EA 3324              clr R3
 00EC 322C              mov R3,R2
 00EE 2224              clr R2
 00F0 E228              or R14,R2
 00F2 F328              or R15,R3
 00F4 03C0              rjmp L36
 00F6           L35:
 00F6                   .dbline 116
 00F6           ;                 else
 00F6           ;                data|=0xFF<<8;
 00F6 C701              movw R24,R14
 00F8 9F6F              ori R25,255
 00FA 7C01              movw R14,R24
 00FC           L36:
 00FC                   .dbline 117
 00FC           ;                 if(page_address)
 00FC CC20              tst R12
 00FE 11F4              brne X4
 0100 DD20              tst R13
 0102 19F0              breq L37
 0104           X4:
 0104                   .dbline 118
 0104           ;                 page_address--;
 0104 C601              movw R24,R12
 0106 0197              sbiw R24,1
 0108 6C01              movw R12,R24
 010A           L37:
 010A                   .dbline 119
 010A 2A2D              mov R18,R10
 010C 3327              clr R19
 010E 8701              movw R16,R14
 0110 00D0              rcall _fill_temp_buffer
 0112                   .dbline 120
 0112           L28:
 0112                   .dbline 105
 0112 8A2D              mov R24,R10
 0114 8E5F              subi R24,254    ; addi 2
 0116 A82E              mov R10,R24
 0118           L30:
 0118                   .dbline 105
 0118 8A2D              mov R24,R10
 011A 8034              cpi R24,64
 011C 08F4              brsh X6
 011E CDCF              rjmp L27
 0120           X6:
 0120                   .dbline 121
 0120 25E0              ldi R18,5
 0122 8B01              movw R16,R22
 0124 00D0              rcall _write_page
 0126                   .dbline 122
 0126           L24:
 0126                   .dbline 103
 0126 605C              subi R22,192  ; offset = 64
 0128 7F4F              sbci R23,255
 012A           L26:
 012A                   .dbline 103
 012A 6030              cpi R22,0
 012C ECE1              ldi R30,28
 012E 7E07              cpc R23,R30
 0130 08F4              brsh X7
 0132 C1CF              rjmp L23
 0134           X7:
 0134                   .dbline 123
 0134           ;                fill_temp_buffer(data,(page_size)); //call asm routine. 
 0134           ;               }
 0134           ;             write_page((address),0x05);       
 0134           ;               }
 0134           ;            sendstr("End Write ");  
 0134 00E0              ldi R16,<L39
 0136 10E0              ldi R17,>L39
 0138 00D0              rcall _sendstr
 013A                   .dbline 124
 013A           ;         }
 013A A7CF              rjmp L16
 013C           L20:
 013C                   .dbline 126
 013C           ;         
 013C           ;        else if(val=='e')                   //Chip erase 
 013C 4536              cpi R20,101
 013E 09F0              breq X8
 0140 A4CF              rjmp L16
 0142           X8:
 0142                   .dbline 127
 0142           ;         {   
 0142                   .dbline 128
 0142           ;         sendstr("Start Erase ");  
 0142 00E0              ldi R16,<L42
 0144 10E0              ldi R17,>L42
 0146 00D0              rcall _sendstr
 0148                   .dbline 130
 0148           ; 
 0148           ;           for(address=0;address < APP_END;address += PAGESIZE)  //Application section = 60 pages
 0148 6627              clr R22
 014A 7727              clr R23
 014C 08C0              rjmp L46
 014E           L43:
 014E                   .dbline 131
 014E                   .dbline 131
 014E 00E2              ldi R16,20000
 0150 1EE4              ldi R17,78
 0152 56DF              rcall _Delay
 0154                   .dbline 132
 0154 23E0              ldi R18,3
 0156 8B01              movw R16,R22
 0158 00D0              rcall _write_page
 015A                   .dbline 133
 015A           L44:
 015A                   .dbline 130
 015A 605C              subi R22,192  ; offset = 64
 015C 7F4F              sbci R23,255
 015E           L46:
 015E                   .dbline 130
 015E 6030              cpi R22,0
 0160 ECE1              ldi R30,28
 0162 7E07              cpc R23,R30
 0164 A0F3              brlo L43
 0166                   .dbline 134
 0166           ;           {Delay(20000);
 0166           ;             write_page(address,0x03);       //Perform page erase
 0166           ;           }
 0166           ;             sendstr("End  Erase ");  
 0166 00E0              ldi R16,<L47
 0168 10E0              ldi R17,>L47
 016A 00D0              rcall _sendstr
 016C                   .dbline 135
 016C           ;         }
 016C                   .dbline 138
 016C           ;       
 016C           ; 
 016C           ;       }
 016C                   .dbline 94
 016C                   .dbline 94
 016C 8ECF              rjmp L16
 016E           L12:
 016E                   .dbline 141
 016E           ;       }
 016E           ;     else
 016E           ;         { asm("JMP 0x0000") ;
 016E                   .dbline 141
 016E 0C940000          JMP 0x0000
 0172                   .dbline 142
 0172           ;            UCSRB = 0x00; 
 0172 2224              clr R2
 0174 2AB8              out 0xa,R2
 0176                   .dbline 143
 0176           ;         }
 0176                   .dbline -2
 0176                   .dbline 145
 0176           ; 
 0176           ;     }
 0176           L7:
 0176                   .dbline 0 ; func end
 0176 0895              ret
 0178                   .dbsym l intval 1 i
 0178                   .dbsym r val 20 c
 0178                   .dbsym r address 22 i
 0178                   .dbsym r data 14 i
 0178                   .dbsym r page_size 10 c
 0178                   .dbsym r page_address 12 i
 0178                   .dbend
                        .area data(ram, con, rel)
 0000                   .dbfile D:\AVR_Demo\M8IAP\Source\main.c
 0000           L47:
 0000                   .blkb 12
                        .area idata
 0000 456E64202045726173652000  .byte 'E,'n,'d,32,32,'E,'r,'a,'s,'e,32,0
                        .area data(ram, con, rel)
 000C                   .dbfile D:\AVR_Demo\M8IAP\Source\main.c
 000C           L42:
 000C                   .blkb 13
                        .area idata
 000C 53746172742045726173652000        .byte 'S,'t,'a,'r,'t,32,'E,'r,'a,'s,'e,32,0
                        .area data(ram, con, rel)
 0019                   .dbfile D:\AVR_Demo\M8IAP\Source\main.c
 0019           L39:
 0019                   .blkb 11
                        .area idata
 0019 456E642057726974652000    .byte 'E,'n,'d,32,'W,'r,'i,'t,'e,32,0
                        .area data(ram, con, rel)
 0024                   .dbfile D:\AVR_Demo\M8IAP\Source\main.c
 0024           L22:
 0024                   .blkb 13
                        .area idata
 0024 53746172742057726974652000        .byte 'S,'t,'a,'r,'t,32,'W,'r,'i,'t,'e,32,0
                        .area data(ram, con, rel)
 0031                   .dbfile D:\AVR_Demo\M8IAP\Source\main.c
 0031           L15:
 0031                   .blkb 10
                        .area idata
 0031 53746172742049415000      .byte 'S,'t,'a,'r,'t,32,'I,'A,'P,0
                        .area data(ram, con, rel)
 003B                   .dbfile D:\AVR_Demo\M8IAP\Source\main.c
 003B           L14:
 003B                   .blkb 20
                        .area idata
 003B B8BBD3D1C7DA2041544D454741382044  .byte 184,187,211,209,199,218,32,'A,'T,'M,'E,'G,'A,56,32,'D
 004B 454D4F00          .byte 'E,'M,'O,0
                        .area data(ram, con, rel)
 004F                   .dbfile D:\AVR_Demo\M8IAP\Source\main.c
 004F           L8:
 004F                   .blkb 16
                        .area idata
 004F B8BBD3D1C7DA4941502056312E302000  .byte 184,187,211,209,199,218,'I,'A,'P,32,'V,49,46,48,32,0
                        .area data(ram, con, rel)
 005F                   .dbfile D:\AVR_Demo\M8IAP\Source\main.c

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -