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

📄 httpd.lis

📁 uIP是免费的TCP/IP协议栈,我们将它移植到我们的AVR以太网开发板中
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 00E4 7CC0              xjmp L21
 00E6           X10:
 00E6                   .dbline 242
 00E6           ;            uip_appdata[1] == ISO_E &&
 00E6           ;            uip_appdata[2] == ISO_T &&
 00E6           ;            uip_appdata[3] == ISO_space) 
 00E6           ;       {      
 00E6                   .dbline 244
 00E6           ;       /* Find the file we are looking for. */
 00E6           ;       for(i = 4; i < 40; ++i) 
 00E6 84E0              ldi R24,4
 00E8 90E0              ldi R25,0
 00EA 5C01              movw R10,R24
 00EC 1CC0              xjmp L26
 00EE           L23:
 00EE                   .dbline 245
 00EE           ;         {
 00EE                   .dbline 246
 00EE           ;           if(uip_appdata[i]==ISO_space||uip_appdata[i] == ISO_cr||uip_appdata[i] == ISO_nl)
 00EE 20900000          lds R2,_uip_appdata
 00F2 30900100          lds R3,_uip_appdata+1
 00F6 2501              movw R4,R10
 00F8 420C              add R4,R2
 00FA 531C              adc R5,R3
 00FC F201              movw R30,R4
 00FE 8081              ldd R24,z+0
 0100 8032              cpi R24,32
 0102 21F0              breq L30
 0104 8D30              cpi R24,13
 0106 11F0              breq L30
 0108 8A30              cpi R24,10
 010A 51F4              brne L27
 010C           L30:
 010C                   .dbline 247
 010C           ;               {
 010C                   .dbline 248
 010C           ;              uip_appdata[i] = 0;
 010C 20900000          lds R2,_uip_appdata
 0110 30900100          lds R3,_uip_appdata+1
 0114 F501              movw R30,R10
 0116 E20D              add R30,R2
 0118 F31D              adc R31,R3
 011A 2224              clr R2
 011C 2082              std z+0,R2
 011E                   .dbline 249
 011E           ;              break;
 011E 08C0              xjmp L25
 0120           L27:
 0120                   .dbline 251
 0120           L24:
 0120                   .dbline 244
 0120 C501              movw R24,R10
 0122 0196              adiw R24,1
 0124 5C01              movw R10,R24
 0126           L26:
 0126                   .dbline 244
 0126 C501              movw R24,R10
 0128 8832              cpi R24,40
 012A E0E0              ldi R30,0
 012C 9E07              cpc R25,R30
 012E F8F2              brlo L23
 0130           L25:
 0130                   .dbline 254
 0130           ;           }
 0130           ;       }
 0130           ; 
 0130           ;       /* Check for a request for "/". */
 0130           ;       if(uip_appdata[4] == ISO_slash && uip_appdata[5] == 0)
 0130 E0910000          lds R30,_uip_appdata
 0134 F0910100          lds R31,_uip_appdata+1
 0138 8481              ldd R24,z+4
 013A 8F32              cpi R24,47
 013C 89F4              brne L31
 013E E0910000          lds R30,_uip_appdata
 0142 F0910100          lds R31,_uip_appdata+1
 0146 2580              ldd R2,z+5
 0148 2220              tst R2
 014A 51F4              brne L31
 014C                   .dbline 255
 014C           ;         {
 014C                   .dbline 257
 014C           ;           //load_web_page(index_html);
 014C           ;           fs_open(file_index_html.name, &fsfile);    
 014C 9E01              movw R18,R28
 014E 285F              subi R18,248  ; offset = 8
 0150 3F4F              sbci R19,255
 0152 00910200          lds R16,_file_index_html+2
 0156 10910300          lds R17,_file_index_html+2+1
 015A 0E940000          xcall _fs_open
 015E                   .dbline 258
 015E           ;       }
 015E 00C1              xjmp L22
 0160           L31:
 0160                   .dbline 260
 0160           ;         else
 0160           ;         {
 0160                   .dbline 261
 0160           ;                 i=5;
 0160 85E0              ldi R24,5
 0162 90E0              ldi R25,0
 0164 5C01              movw R10,R24
 0166 11C0              xjmp L35
 0168           L34:
 0168                   .dbline 263
 0168                   .dbline 264
 0168 20900000          lds R2,_uip_appdata
 016C 30900100          lds R3,_uip_appdata+1
 0170 F501              movw R30,R10
 0172 E20D              add R30,R2
 0174 F31D              adc R31,R3
 0176 2080              ldd R2,z+0
 0178 CE01              movw R24,R28
 017A F501              movw R30,R10
 017C 3597              sbiw R30,5
 017E E80F              add R30,R24
 0180 F91F              adc R31,R25
 0182 2082              std z+0,R2
 0184                   .dbline 265
 0184 C501              movw R24,R10
 0186 0196              adiw R24,1
 0188 5C01              movw R10,R24
 018A                   .dbline 266
 018A           L35:
 018A                   .dbline 262
 018A           ;                 while((uip_appdata[i] != ISO_dot) && (uip_appdata[i] != ISO_space))
 018A 20900000          lds R2,_uip_appdata
 018E 30900100          lds R3,_uip_appdata+1
 0192 2501              movw R4,R10
 0194 420C              add R4,R2
 0196 531C              adc R5,R3
 0198 F201              movw R30,R4
 019A 8081              ldd R24,z+0
 019C 8E32              cpi R24,46
 019E 11F0              breq L37
 01A0 8032              cpi R24,32
 01A2 11F7              brne L34
 01A4           L37:
 01A4                   .dbline 267
 01A4           ;                 {
 01A4           ;                  opfn[i-5]=uip_appdata[i];
 01A4           ;                  i++;
 01A4           ;                 }
 01A4           ;                 opfn[i-5]='\r';        
 01A4 CE01              movw R24,R28
 01A6 F501              movw R30,R10
 01A8 3597              sbiw R30,5
 01AA E80F              add R30,R24
 01AC F91F              adc R31,R25
 01AE 8DE0              ldi R24,13
 01B0 8083              std z+0,R24
 01B2                   .dbline 268
 01B2           ;                 fs_open(opfn, &fsfile);
 01B2 9E01              movw R18,R28
 01B4 285F              subi R18,248  ; offset = 8
 01B6 3F4F              sbci R19,255
 01B8 8E01              movw R16,R28
 01BA 0E940000          xcall _fs_open
 01BE                   .dbline 269
 01BE           ;               if(!fs_open((char *)&uip_appdata[4], &fsfile))
 01BE 9E01              movw R18,R28
 01C0 285F              subi R18,248  ; offset = 8
 01C2 3F4F              sbci R19,255
 01C4 00910000          lds R16,_uip_appdata
 01C8 10910100          lds R17,_uip_appdata+1
 01CC 0C5F              subi R16,252  ; offset = 4
 01CE 1F4F              sbci R17,255
 01D0 0E940000          xcall _fs_open
 01D4 0030              cpi R16,0
 01D6 0107              cpc R16,R17
 01D8 09F0              breq X11
 01DA C2C0              xjmp L22
 01DC           X11:
 01DC           X1:
 01DC                   .dbline 270
 01DC           ;               {
 01DC                   .dbline 271
 01DC           ;                 PRINTLN("couldn't open file");
 01DC                   .dbline 273
 01DC           ;                 //fs_open(file_404_html.name, &fsfile);
 01DC           ;               }
 01DC                   .dbline 275
 01DC           ;               
 01DC           ;       } 
 01DC                   .dbline 276
 01DC           ;        }
 01DC C1C0              xjmp L22
 01DE           L21:
 01DE                   .dbline 277
 01DE           ;        else if(uip_appdata[0] == ISO_P &&
 01DE E0910000          lds R30,_uip_appdata
 01E2 F0910100          lds R31,_uip_appdata+1
 01E6 8081              ldd R24,z+0
 01E8 8035              cpi R24,80
 01EA 09F0              breq X12
 01EC B5C0              xjmp L40
 01EE           X12:
 01EE 8181              ldd R24,z+1
 01F0 8F34              cpi R24,79
 01F2 09F0              breq X13
 01F4 B1C0              xjmp L40
 01F6           X13:
 01F6 E0910000          lds R30,_uip_appdata
 01FA F0910100          lds R31,_uip_appdata+1
 01FE 8281              ldd R24,z+2
 0200 8335              cpi R24,83
 0202 09F0              breq X14
 0204 A9C0              xjmp L40
 0206           X14:
 0206 E0910000          lds R30,_uip_appdata
 020A F0910100          lds R31,_uip_appdata+1
 020E 8381              ldd R24,z+3
 0210 8435              cpi R24,84
 0212 09F0              breq X15
 0214 A1C0              xjmp L40
 0216           X15:
 0216 E0910000          lds R30,_uip_appdata
 021A F0910100          lds R31,_uip_appdata+1
 021E 8481              ldd R24,z+4
 0220 8032              cpi R24,32
 0222 09F0              breq X16
 0224 99C0              xjmp L40
 0226           X16:
 0226                   .dbline 282
 0226           ;                uip_appdata[1] == ISO_O &&
 0226           ;                uip_appdata[2] == ISO_S &&
 0226           ;                uip_appdata[3] == ISO_T &&
 0226           ;                    uip_appdata[4] == ISO_space)
 0226           ;        {
 0226                   .dbline 283
 0226           ;          for(i=0;i<1496;i++) 
 0226 AA24              clr R10
 0228 BB24              clr R11
 022A 28C0              xjmp L45
 022C           L42:
 022C                   .dbline 284
 022C           ;          {
 022C                   .dbline 285
 022C           ;           if((uip_appdata[i]==ISO_cr)&&(uip_appdata[i+1]==ISO_nl)&&(uip_appdata[i+2]==ISO_cr)&&(uip_appdata[i+3]==ISO_nl))
 022C 20900000          lds R2,_uip_appdata
 0230 30900100          lds R3,_uip_appdata+1
 0234 F501              movw R30,R10
 0236 E20D              add R30,R2
 0238 F31D              adc R31,R3
 023A 8081              ldd R24,z+0
 023C 8D30              cpi R24,13
 023E D9F4              brne L46
 0240 F501              movw R30,R10
 0242 3196              adiw R30,1
 0244 E20D              add R30,R2
 0246 F31D              adc R31,R3
 0248 8081              ldd R24,z+0
 024A 8A30              cpi R24,10
 024C A1F4              brne L46
 024E F501              movw R30,R10
 0250 3296              adiw R30,2
 0252 E20D              add R30,R2
 0254 F31D              adc R31,R3
 0256 8081              ldd R24,z+0
 0258 8D30              cpi R24,13
 025A 69F4              brne L46
 025C F501              movw R30,R10
 025E 3396              adiw R30,3
 0260 E20D              add R30,R2
 0262 F31D              adc R31,R3
 0264 8081              ldd R24,z+0
 0266 8A30              cpi R24,10
 0268 31F4              brne L46
 026A                   .dbline 286
 026A           ;               {
 026A                   .dbline 287
 026A           ;              post_data=uip_appdata[i+8];
 026A F501              movw R30,R10
 026C 3896              adiw R30,8
 026E E20D              add R30,R2
 0270 F31D              adc R31,R3
 0272 C080              ldd R12,z+0
 0274                   .dbline 288
 0274           ;              break;
 0274 09C0              xjmp L44
 0276           L46:
 0276                   .dbline 290
 0276           L43:
 0276                   .dbline 283
 0276 C501              movw R24,R10
 0278 0196              adiw R24,1
 027A 5C01              movw R10,R24
 027C           L45:
 027C                   .dbline 283
 027C C501              movw R24,R10
 027E 883D              cpi R24,216
 0280 E5E0              ldi R30,5
 0282 9E07              cpc R25,R30
 0284 08F4              brsh X17
 0286 D2CF              xjmp L42
 0288           X17:
 0288           L44:
 0288                   .dbline 291
 0288           ;           }
 0288           ;        }
 0288           ;         if(post_data==0x31){LED1_ON;LED2_OFF;}
 0288 8C2D              mov R24,R12
 028A 8133              cpi R24,49
 028C 29F4              brne L48
 028E                   .dbline 291
 028E                   .dbline 291
 028E 82B3              in R24,0x12
 0290 8F7E              andi R24,239
 0292 82BB              out 0x12,R24
 0294                   .dbline 291
 0294 959A              sbi 0x12,5
 0296                   .dbline 291
 0296 0AC0              xjmp L49
 0298           L48:
 0298                   .dbline 292
 0298           ;         else if(post_data==0x32){LED2_ON;LED1_OFF;}
 0298 8C2D              mov R24,R12
 029A 8233              cpi R24,50
 029C 29F4              brne L50
 029E                   .dbline 292
 029E                   .dbline 292
 029E 82B3              in R24,0x12
 02A0 8F7D              andi R24,223
 02A2 82BB              out 0x12,R24
 02A4                   .dbline 292
 02A4 949A              sbi 0x12,4
 02A6                   .dbline 292
 02A6 02C0              xjmp L51
 02A8           L50:
 02A8                   .dbline 293
 02A8           ;         else{LED2_OFF;LED1_OFF;}
 02A8                   .dbline 293
 02A8 959A              sbi 0x12,5
 02AA                   .dbline 293
 02AA 949A              sbi 0x12,4
 02AC                   .dbline 293
 02AC           L51:
 02AC           L49:
 02AC                   .dbline 296
 02AC           ; 
 02AC           ;       /* Check for a request for "/". */
 02AC           ;       if(uip_appdata[5] == ISO_slash && uip_appdata[6] == 0)
 02AC E0910000          lds R30,_uip_appdata
 02B0 F0910100          lds R31,_uip_appdata+1
 02B4 8581              ldd R24,z+5
 02B6 8F32              cpi R24,47
 02B8 89F4              brne L52
 02BA E0910000          lds R30,_uip_appdata
 02BE F0910100          lds R31,_uip_appdata+1
 02C2 2680              ldd R2,z+6
 02C4 2220              tst R2
 02C6 51F4              brne L52
 02C8                   .dbline 297
 02C8           ;         {
 02C8                   .dbline 299
 02C8           ;           //load_web_page(index_html);
 02C8           ;           fs_open(file_index_html.name, &fsfile);    
 02C8 9E01              movw R18,R28
 02CA 285F              subi R18,248  ; offset = 8
 02CC 3F4F              sbci R19,255
 02CE 00910200          lds R16,_file_index_html+2
 02D2 10910300          lds R17,_file_index_html+2+1
 02D6 0E940000          xcall _fs_open
 02DA                   .dbline 300
 02DA           ;       }
 02DA 42C0              xjmp L41
 02DC           L52:
 02DC                   .dbline 302
 02DC           ;         else
 02DC           ;         {
 02DC                   .dbline 303
 02DC           ;                 i=6;
 02DC 86E0              ldi R24,6
 02DE 90E0              ldi R25,0
 02E0 5C01              movw R10,R24
 02E2 11C0              xjmp L56
 02E4           L55:
 02E4                   .dbline 305
 02E4                   .dbline 306
 02E4 20900000          lds R2,_uip_appdata
 02E8 30900100          lds R3,_uip_appdata+1
 02EC F501              movw R30,R10
 02EE E20D              add R30,R2
 02F0 F31D              adc R31,R3
 02F2 2080              ldd R2,z+0

⌨️ 快捷键说明

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