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

📄 httpserv.lis

📁 单片机C语言程序设计实训100例--基于AVR+PROTEUS仿真
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 00F0 8101              movw R16,R2
 00F2 0E940000          xcall mod16s
 00F6 1D83              std y+5,R17
 00F8 0C83              std y+4,R16
 00FA 2AE0              ldi R18,10
 00FC 30E0              ldi R19,0
 00FE 8101              movw R16,R2
 0100 0E940000          xcall div16s
 0104 1B83              std y+3,R17
 0106 0A83              std y+2,R16
 0108 7983              std y+1,R23
 010A 6883              std y+0,R22
 010C 20E0              ldi R18,<L15
 010E 30E0              ldi R19,>L15
 0110 8501              movw R16,R10
 0112 0E940000          xcall _fprintf_P
 0116                   .dbline 330
 0116           ;     if (req->req_url)
 0116 FA01              movw R30,R20
 0118 2084              ldd R2,z+8
 011A 3184              ldd R3,z+9
 011C 2220              tst R2
 011E 11F4              brne X5
 0120 3320              tst R3
 0122 39F0              breq L33
 0124           X5:
 0124                   .dbline 331
 0124           ;         fprintf_P(stream, url_fmt, req->req_url);
 0124 3982              std y+1,R3
 0126 2882              std y+0,R2
 0128 20E0              ldi R18,<L16
 012A 30E0              ldi R19,>L16
 012C 8501              movw R16,R10
 012E 0E940000          xcall _fprintf_P
 0132           L33:
 0132                   .dbline 332
 0132           ;     if (req->req_query)
 0132 FA01              movw R30,R20
 0134 2284              ldd R2,z+10
 0136 3384              ldd R3,z+11
 0138 2220              tst R2
 013A 11F4              brne X6
 013C 3320              tst R3
 013E 39F0              breq L35
 0140           X6:
 0140                   .dbline 333
 0140           ;         fprintf_P(stream, query_fmt, req->req_query);
 0140 3982              std y+1,R3
 0142 2882              std y+0,R2
 0144 20E0              ldi R18,<L17
 0146 30E0              ldi R19,>L17
 0148 8501              movw R16,R10
 014A 0E940000          xcall _fprintf_P
 014E           L35:
 014E                   .dbline 334
 014E           ;     if (req->req_type)
 014E FA01              movw R30,R20
 0150 2484              ldd R2,z+12
 0152 3584              ldd R3,z+13
 0154 2220              tst R2
 0156 11F4              brne X7
 0158 3320              tst R3
 015A 39F0              breq L37
 015C           X7:
 015C                   .dbline 335
 015C           ;         fprintf_P(stream, type_fmt, req->req_type);
 015C 3982              std y+1,R3
 015E 2882              std y+0,R2
 0160 20E0              ldi R18,<L18
 0162 30E0              ldi R19,>L18
 0164 8501              movw R16,R10
 0166 0E940000          xcall _fprintf_P
 016A           L37:
 016A                   .dbline 336
 016A           ;     if (req->req_cookie)
 016A FA01              movw R30,R20
 016C 2684              ldd R2,z+14
 016E 3784              ldd R3,z+15
 0170 2220              tst R2
 0172 11F4              brne X8
 0174 3320              tst R3
 0176 39F0              breq L39
 0178           X8:
 0178                   .dbline 337
 0178           ;         fprintf_P(stream, cookie_fmt, req->req_cookie);
 0178 3982              std y+1,R3
 017A 2882              std y+0,R2
 017C 20E0              ldi R18,<L19
 017E 30E0              ldi R19,>L19
 0180 8501              movw R16,R10
 0182 0E940000          xcall _fprintf_P
 0186           L39:
 0186                   .dbline 338
 0186           ;     if (req->req_auth)
 0186 FA01              movw R30,R20
 0188 2088              ldd R2,z+16
 018A 3188              ldd R3,z+17
 018C 2220              tst R2
 018E 11F4              brne X9
 0190 3320              tst R3
 0192 39F0              breq L41
 0194           X9:
 0194                   .dbline 339
 0194           ;         fprintf_P(stream, auth_fmt, req->req_auth);
 0194 3982              std y+1,R3
 0196 2882              std y+0,R2
 0198 20E0              ldi R18,<L20
 019A 30E0              ldi R19,>L20
 019C 8501              movw R16,R10
 019E 0E940000          xcall _fprintf_P
 01A2           L41:
 01A2                   .dbline 340
 01A2           ;     if (req->req_agent)
 01A2 FA01              movw R30,R20
 01A4 2288              ldd R2,z+18
 01A6 3388              ldd R3,z+19
 01A8 2220              tst R2
 01AA 11F4              brne X10
 01AC 3320              tst R3
 01AE 39F0              breq L43
 01B0           X10:
 01B0                   .dbline 341
 01B0           ;         fprintf_P(stream, agent_fmt, req->req_agent);
 01B0 3982              std y+1,R3
 01B2 2882              std y+0,R2
 01B4 20E0              ldi R18,<L21
 01B6 30E0              ldi R19,>L21
 01B8 8501              movw R16,R10
 01BA 0E940000          xcall _fprintf_P
 01BE           L43:
 01BE                   .dbline 344
 01BE           ; 
 01BE           ;     /* Send HTML footer and flush output buffer. */
 01BE           ;     fputs_P(foot, stream);
 01BE 9501              movw R18,R10
 01C0 00E0              ldi R16,<L14
 01C2 10E0              ldi R17,>L14
 01C4 0E940000          xcall _fputs_P
 01C8                   .dbline 345
 01C8           ;     fflush(stream);
 01C8 8501              movw R16,R10
 01CA 0E940000          xcall _fflush
 01CE                   .dbline 347
 01CE           ; 
 01CE           ;     return 0;
 01CE 0027              clr R16
 01D0 1127              clr R17
 01D2                   .dbline -2
 01D2           L12:
 01D2                   .dbline 0 ; func end
 01D2 2A96              adiw R28,10
 01D4 0C940000          xjmp pop_xgsetF00C
 01D8                   .dbsym r cp 22 pc
 01D8                   .dbsym r req 20 pS[_REQUEST]
 01D8                   .dbsym r stream 10 pS[__iobuf]
 01D8                   .dbend
                        .area lit(rom, con, rel)
 010A           L46:
 010A 3C48544D4C3E3C484541443E3C544954  .byte 60,'H,'T,'M,'L,62,60,'H,'E,'A,'D,62,60,'T,'I,'T
 011A 4C453E546872656164733C2F5449544C  .byte 'L,'E,62,'T,'h,'r,'e,'a,'d,'s,60,47,'T,'I,'T,'L
 012A 453E3C2F484541443E3C424F44593E3C  .byte 'E,62,60,47,'H,'E,'A,'D,62,60,'B,'O,'D,'Y,62,60
 013A 48313E546872656164733C2F48313E0D  .byte 'H,49,62,'T,'h,'r,'e,'a,'d,'s,60,47,'H,49,62,13
 014A 0A3C5441424C4520424F524445523E3C  .byte 10,60,'T,'A,'B,'L,'E,32,'B,'O,'R,'D,'E,'R,62,60
 015A 54523E3C54483E48616E646C653C2F54  .byte 'T,'R,62,60,'T,'H,62,'H,'a,'n,'d,'l,'e,60,47,'T
 016A 483E3C54483E4E616D653C2F54483E3C  .byte 'H,62,60,'T,'H,62,'N,'a,'m,'e,60,47,'T,'H,62,60
 017A 54483E5072696F726974793C2F54483E  .byte 'T,'H,62,'P,'r,'i,'o,'r,'i,'t,'y,60,47,'T,'H,62
 018A 3C54483E5374617475733C2F54483E3C  .byte 60,'T,'H,62,'S,'t,'a,'t,'u,'s,60,47,'T,'H,62,60
 019A 54483E4576656E743C42523E51756575  .byte 'T,'H,62,'E,'v,'e,'n,'t,60,'B,'R,62,'Q,'u,'e,'u
 01AA 653C2F54483E3C54483E54696D65723C  .byte 'e,60,47,'T,'H,62,60,'T,'H,62,'T,'i,'m,'e,'r,60
 01BA 2F54483E3C54483E537461636B2D3C42  .byte 47,'T,'H,62,60,'T,'H,62,'S,'t,'a,'c,'k,45,60,'B
 01CA 523E706F696E7465723C2F54483E3C54  .byte 'R,62,'p,'o,'i,'n,'t,'e,'r,60,47,'T,'H,62,60,'T
 01DA 483E467265653C42523E537461636B3C  .byte 'H,62,'F,'r,'e,'e,60,'B,'R,62,'S,'t,'a,'c,'k,60
 01EA 2F54483E3C2F54523E0D0A00  .byte 47,'T,'H,62,60,47,'T,'R,62,13,10,0
 01F6           L47:
 01F6 3C54523E3C54443E253034583C2F5444  .byte 60,'T,'R,62,60,'T,'D,62,37,48,52,'X,60,47,'T,'D
 0206 3E3C54443E25733C2F54443E3C54443E  .byte 62,60,'T,'D,62,37,'s,60,47,'T,'D,62,60,'T,'D,62
 0216 25753C2F54443E3C54443E25733C2F54  .byte 37,'u,60,47,'T,'D,62,60,'T,'D,62,37,'s,60,47,'T
 0226 443E3C54443E253034583C2F54443E3C  .byte 'D,62,60,'T,'D,62,37,48,52,'X,60,47,'T,'D,62,60
 0236 54443E253034583C2F54443E3C54443E  .byte 'T,'D,62,37,48,52,'X,60,47,'T,'D,62,60,'T,'D,62
 0246 253034583C2F54443E3C54443E25753C  .byte 37,48,52,'X,60,47,'T,'D,62,60,'T,'D,62,37,'u,60
 0256 2F54443E3C54443E25733C2F54443E3C  .byte 47,'T,'D,62,60,'T,'D,62,37,'s,60,47,'T,'D,62,60
 0266 2F54523E0D0A00    .byte 47,'T,'R,62,13,10,0
 026D           L48:
 026D 3C2F5441424C453E3C2F424F44593E3C  .byte 60,47,'T,'A,'B,'L,'E,62,60,47,'B,'O,'D,'Y,62,60
 027D 2F48544D4C3E00    .byte 47,'H,'T,'M,'L,62,0
                        .area data(ram, con, rel)
 0002                   .dbfile C:\ethernut-4.9.7\nutapp_13h\httpd\httpserv.c
 0002           L49:
 0002                   .blkw 1
                        .area idata
 0002 EB02              .word L50
                        .area data(ram, con, rel)
 0004                   .dbfile C:\ethernut-4.9.7\nutapp_13h\httpd\httpserv.c
 0004                   .blkw 1
                        .area idata
 0004 CC02              .word L51
                        .area data(ram, con, rel)
 0006                   .dbfile C:\ethernut-4.9.7\nutapp_13h\httpd\httpserv.c
 0006                   .blkw 1
                        .area idata
 0006 AD02              .word L52
                        .area data(ram, con, rel)
 0008                   .dbfile C:\ethernut-4.9.7\nutapp_13h\httpd\httpserv.c
 0008                   .blkw 1
                        .area idata
 0008 A902              .word L53
                        .area data(ram, con, rel)
 000A                   .dbfile C:\ethernut-4.9.7\nutapp_13h\httpd\httpserv.c
                        .area text(rom, con, rel)
 01D8                   .dbfile C:\ethernut-4.9.7\nutapp_13h\httpd\httpserv.c
 01D8                   .dbfunc s ShowThreads _ShowThreads fI
 01D8                   .dbstruct 0 25 _NUTTHREADINFO
 01D8                   .dbfield 0 td_next pS[_NUTTHREADINFO]
 01D8                   .dbfield 2 td_qnxt pS[_NUTTHREADINFO]
 01D8                   .dbfield 4 td_qpec i
 01D8                   .dbfield 6 td_name A[9:9]c
 01D8                   .dbfield 15 td_state c
 01D8                   .dbfield 16 td_sp i
 01D8                   .dbfield 18 td_priority c
 01D8                   .dbfield 19 td_memory pc
 01D8                   .dbfield 21 td_timer pV
 01D8                   .dbfield 23 td_queue pV
 01D8                   .dbend
 01D8                   .dbsym s thread_states L49 A[8:4]pc
 01D8                   .dbsym s foot L48 A[23:23]kc
 01D8                   .dbsym s tfmt L47 A[119:119]kc
 01D8                   .dbsym s head L46 A[236:236]kc
 01D8           ;            tdp -> R20,R21
 01D8           ;            req -> R12,R13
 01D8           ;         stream -> R10,R11
                        .even
 01D8           _ShowThreads:
 01D8 0E940000          xcall push_xgsetF03C
 01DC 6901              movw R12,R18
 01DE 5801              movw R10,R16
 01E0 6297              sbiw R28,18
 01E2                   .dbline -1
 01E2                   .dbline 358
 01E2           ; }
 01E2           ; 
 01E2           ; /*
 01E2           ;  * CGI Sample: Show list of threads.
 01E2           ;  *
 01E2           ;  * This routine must have been registered by NutRegisterCgi() and is
 01E2           ;  * automatically called by NutHttpProcessRequest() when the client
 01E2           ;  * request the URL 'cgi-bin/threads.cgi'.
 01E2           ;  */
 01E2           ; static int ShowThreads(FILE * stream, REQUEST * req)
 01E2           ; {
 01E2                   .dbline 370
 01E2           ;     static prog_char head[] = "<HTML><HEAD><TITLE>Threads</TITLE></HEAD><BODY><H1>Threads</H1>\r\n"
 01E2           ;         "<TABLE BORDER><TR><TH>Handle</TH><TH>Name</TH><TH>Priority</TH><TH>Status</TH><TH>Event<BR>Queue</TH><TH>Timer</TH><TH>Stack-<BR>pointer</TH><TH>Free<BR>Stack</TH></TR>\r\n";
 01E2           ; #if defined(__AVR__)
 01E2           ;     static prog_char tfmt[] =
 01E2           ;         "<TR><TD>%04X</TD><TD>%s</TD><TD>%u</TD><TD>%s</TD><TD>%04X</TD><TD>%04X</TD><TD>%04X</TD><TD>%u</TD><TD>%s</TD></TR>\r\n";
 01E2           ; #else
 01E2           ;     static prog_char tfmt[] =
 01E2           ;         "<TR><TD>%08lX</TD><TD>%s</TD><TD>%u</TD><TD>%s</TD><TD>%08lX</TD><TD>%08lX</TD><TD>%08lX</TD><TD>%lu</TD><TD>%s</TD></TR>\r\n";
 01E2           ; #endif
 01E2           ;     static prog_char foot[] = "</TABLE></BODY></HTML>";
 01E2           ;     static char *thread_states[] = { "TRM", "<FONT COLOR=#CC0000>RUN</FONT>", "<FONT COLOR=#339966>RDY</FONT>", "SLP" };
 01E2           ;     NUTTHREADINFO *tdp = nutThreadList;
 01E2                   .dbline 373
 01E2           ; 
 01E2           ;     /* Send HTTP response. */
 01E2           ;     NutHttpSendHeaderTop(stream, req, 200, "Ok");
 01E2 80E0              ldi R24,<L22
 01E4 90E0              ldi R25,>L22
 01E6 9B83              std y+3,R25
 01E8 8A83              std y+2,R24
 01EA 88EC              ldi R24,200
 01EC 90E0              ldi R25,0
 01EE 9983              std y+1,R25
 01F0 8883              std y+0,R24
 01F2 9601              movw R18,R12
 01F4 8501              movw R16,R10
 01F6 0E940000          xcall _NutHttpSendHeaderTop
 01FA                   .dbline 374
 01FA           ;     NutHttpSendHeaderBottom(stream, req, html_mt, -1);
 01FA 8FEF              ldi R24,255
 01FC 9FEF              ldi R25,255
 01FE AFEF              ldi R26,255
 0200 BFEF              ldi R27,255
 0202 8A83              std y+2,R24

⌨️ 快捷键说明

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