📄 httpserv.lis
字号:
0366 60E0 ldi R22,0
0368 70E0 ldi R23,0
036A 4E87 std y+14,R20
036C 5F87 std y+15,R21
036E 688B std y+16,R22
0370 798B std y+17,R23
0372 36C0 xjmp L70
0374 L69:
0374 .dbline 419
0374 ; while (tnp) {
0374 .dbline 420
0374 ; ticks_left += tnp->tn_ticks_left;
0374 F601 movw R30,R12
0376 3896 adiw R30,8
0378 2080 ldd R2,z+0
037A 3180 ldd R3,z+1
037C 4280 ldd R4,z+2
037E 5380 ldd R5,z+3
0380 6E84 ldd R6,y+14
0382 7F84 ldd R7,y+15
0384 8888 ldd R8,y+16
0386 9988 ldd R9,y+17
0388 620C add R6,R2
038A 731C adc R7,R3
038C 841C adc R8,R4
038E 951C adc R9,R5
0390 6E86 std y+14,R6
0392 7F86 std y+15,R7
0394 888A std y+16,R8
0396 998A std y+17,R9
0398 .dbline 421
0398 ; fprintf_P(stream, tfmt, (uptr_t) tnp, ticks_left, tnp->tn_ticks, (uptr_t) tnp->tn_callback, (uptr_t) tnp->tn_arg);
0398 F601 movw R30,R12
039A 2684 ldd R2,z+14
039C 3784 ldd R3,z+15
039E 3D86 std y+13,R3
03A0 2C86 std y+12,R2
03A2 2484 ldd R2,z+12
03A4 3584 ldd R3,z+13
03A6 3B86 std y+11,R3
03A8 2A86 std y+10,R2
03AA 3496 adiw R30,4
03AC 2080 ldd R2,z+0
03AE 3180 ldd R3,z+1
03B0 4280 ldd R4,z+2
03B2 5380 ldd R5,z+3
03B4 2E82 std y+6,R2
03B6 3F82 std y+7,R3
03B8 4886 std y+8,R4
03BA 5986 std y+9,R5
03BC 2E84 ldd R2,y+14
03BE 3F84 ldd R3,y+15
03C0 4888 ldd R4,y+16
03C2 5988 ldd R5,y+17
03C4 2A82 std y+2,R2
03C6 3B82 std y+3,R3
03C8 4C82 std y+4,R4
03CA 5D82 std y+5,R5
03CC D982 std y+1,R13
03CE C882 std y+0,R12
03D0 20E0 ldi R18,<L65
03D2 30E0 ldi R19,>L65
03D4 8501 movw R16,R10
03D6 0E940000 xcall _fprintf_P
03DA .dbline 422
03DA ; tnp = tnp->tn_next;
03DA F601 movw R30,R12
03DC C080 ldd R12,z+0
03DE D180 ldd R13,z+1
03E0 .dbline 423
03E0 ; }
03E0 L70:
03E0 .dbline 419
03E0 CC20 tst R12
03E2 09F0 breq X17
03E4 C7CF xjmp L69
03E6 X17:
03E6 DD20 tst R13
03E8 09F0 breq X18
03EA C4CF xjmp L69
03EC X18:
03EC X15:
03EC .dbline 424
03EC ; }
03EC L67:
03EC .dbline 426
03EC ;
03EC ; fputs_P(foot, stream);
03EC 9501 movw R18,R10
03EE 00E0 ldi R16,<L66
03F0 10E0 ldi R17,>L66
03F2 0E940000 xcall _fputs_P
03F6 .dbline 427
03F6 ; fflush(stream);
03F6 8501 movw R16,R10
03F8 0E940000 xcall _fflush
03FC .dbline 429
03FC ;
03FC ; return 0;
03FC 0027 clr R16
03FE 1127 clr R17
0400 .dbline -2
0400 L62:
0400 .dbline 0 ; func end
0400 6296 adiw R28,18
0402 0C940000 xjmp pop_xgsetF03C
0406 .dbsym l ticks_left 14 l
0406 .dbsym r tnp 12 pS[_NUTTIMERINFO]
0406 .dbsym r req 12 pS[_REQUEST]
0406 .dbsym r stream 10 pS[__iobuf]
0406 .dbend
.area lit(rom, con, rel)
03AE L73:
03AE 3C48544D4C3E3C484541443E3C544954 .byte 60,'H,'T,'M,'L,62,60,'H,'E,'A,'D,62,60,'T,'I,'T
03BE 4C453E536F636B6574733C2F5449544C .byte 'L,'E,62,'S,'o,'c,'k,'e,'t,'s,60,47,'T,'I,'T,'L
03CE 453E3C2F484541443E3C424F44593E3C .byte 'E,62,60,47,'H,'E,'A,'D,62,60,'B,'O,'D,'Y,62,60
03DE 48313E536F636B6574733C2F48313E0D .byte 'H,49,62,'S,'o,'c,'k,'e,'t,'s,60,47,'H,49,62,13
03EE 0A3C5441424C4520424F524445523E3C .byte 10,60,'T,'A,'B,'L,'E,32,'B,'O,'R,'D,'E,'R,62,60
03FE 54523E3C54483E48616E646C653C2F54 .byte 'T,'R,62,60,'T,'H,62,'H,'a,'n,'d,'l,'e,60,47,'T
040E 483E3C54483E547970653C2F54483E3C .byte 'H,62,60,'T,'H,62,'T,'y,'p,'e,60,47,'T,'H,62,60
041E 54483E4C6F63616C3C2F54483E3C5448 .byte 'T,'H,62,'L,'o,'c,'a,'l,60,47,'T,'H,62,60,'T,'H
042E 3E52656D6F74653C2F54483E3C54483E .byte 62,'R,'e,'m,'o,'t,'e,60,47,'T,'H,62,60,'T,'H,62
043E 5374617475733C2F54483E3C2F54523E .byte 'S,'t,'a,'t,'u,'s,60,47,'T,'H,62,60,47,'T,'R,62
044E 0D0A00 .byte 13,10,0
0451 L74:
0451 3C54523E3C54443E253034583C2F5444 .byte 60,'T,'R,62,60,'T,'D,62,37,48,52,'X,60,47,'T,'D
0461 3E3C54443E5443503C2F54443E3C5444 .byte 62,60,'T,'D,62,'T,'C,'P,60,47,'T,'D,62,60,'T,'D
0471 3E25733A25753C2F54443E00 .byte 62,37,'s,58,37,'u,60,47,'T,'D,62,0
047D L75:
047D 3C54443E25733A25753C2F54443E3C54 .byte 60,'T,'D,62,37,'s,58,37,'u,60,47,'T,'D,62,60,'T
048D 443E00 .byte 'D,62,0
0490 L76:
0490 3C2F5441424C453E3C2F424F44593E3C .byte 60,47,'T,'A,'B,'L,'E,62,60,47,'B,'O,'D,'Y,62,60
04A0 2F48544D4C3E00 .byte 47,'H,'T,'M,'L,62,0
04A7 L77:
04A7 4C495354454E00 .byte 'L,'I,'S,'T,'E,'N,0
04AE L78:
04AE 53594E53454E5400 .byte 'S,'Y,'N,'S,'E,'N,'T,0
04B6 L79:
04B6 53594E5243564400 .byte 'S,'Y,'N,'R,'C,'V,'D,0
04BE L80:
04BE 3C464F4E5420434F4C4F523D23434330 .byte 60,'F,'O,'N,'T,32,'C,'O,'L,'O,'R,61,35,'C,'C,48
04CE 3030303E45535441424C3C2F464F4E54 .byte 48,48,48,62,'E,'S,'T,'A,'B,'L,60,47,'F,'O,'N,'T
04DE 3E00 .byte 62,0
04E0 L81:
04E0 46494E574149543100 .byte 'F,'I,'N,'W,'A,'I,'T,49,0
04E9 L82:
04E9 46494E574149543200 .byte 'F,'I,'N,'W,'A,'I,'T,50,0
04F2 L83:
04F2 434C4F53455741495400 .byte 'C,'L,'O,'S,'E,'W,'A,'I,'T,0
04FC L84:
04FC 434C4F53494E4700 .byte 'C,'L,'O,'S,'I,'N,'G,0
0504 L85:
0504 4C41535441434B00 .byte 'L,'A,'S,'T,'A,'C,'K,0
050C L86:
050C 54494D455741495400 .byte 'T,'I,'M,'E,'W,'A,'I,'T,0
0515 L87:
0515 434C4F53454400 .byte 'C,'L,'O,'S,'E,'D,0
051C L88:
051C 554E4B4E4F574E00 .byte 'U,'N,'K,'N,'O,'W,'N,0
.area text(rom, con, rel)
0406 .dbfile C:\ethernut-4.9.7\nutapp_13h\httpd\httpserv.c
0406 .dbfunc s ShowSockets _ShowSockets fI
0406 .dbstruct 0 4 _NBDATA
0406 .dbfield 0 vp pV
0406 .dbfield 2 sz I
0406 .dbend
0406 .dbstruct 0 19 _NETBUF
0406 .dbfield 0 nb_next pS[_NETBUF]
0406 .dbfield 2 nb_flags c
0406 .dbfield 3 nb_dl S[_NBDATA]
0406 .dbfield 7 nb_nw S[_NBDATA]
0406 .dbfield 11 nb_tp S[_NBDATA]
0406 .dbfield 15 nb_ap S[_NBDATA]
0406 .dbend
0406 .dbstruct 0 115 tcp_socket
0406 .dbfield 0 so_next pS[tcp_socket]
0406 .dbfield 2 so_device pV
0406 .dbfield 4 so_devtype c
0406 .dbfield 5 so_devread pfI
0406 .dbfield 7 so_devwrite pfI
0406 .dbfield 9 so_devwrite_P pfI
0406 .dbfield 11 so_devioctl pfI
0406 .dbfield 13 so_devocnt i
0406 .dbfield 15 so_devobuf pc
0406 .dbfield 17 so_devobsz i
0406 .dbfield 19 so_state c
0406 .dbfield 20 so_local_addr l
0406 .dbfield 24 so_local_port i
0406 .dbfield 26 so_remote_addr l
0406 .dbfield 30 so_remote_port i
0406 .dbfield 32 so_tx_flags c
0406 .dbfield 33 so_tx_isn l
0406 .dbfield 37 so_tx_una l
0406 .dbfield 41 so_tx_nxt l
0406 .dbfield 45 so_tx_wl1 l
0406 .dbfield 49 so_tx_wl2 l
0406 .dbfield 53 so_tx_win i
0406 .dbfield 55 so_tx_dup c
0406 .dbfield 56 so_tx_nbq pS[_NETBUF]
0406 .dbfield 58 so_tx_tq pV
0406 .dbfield 60 so_rx_isn l
0406 .dbfield 64 so_rx_nxt l
0406 .dbfield 68 so_rx_win i
0406 .dbfield 70 so_rx_cnt I
0406 .dbfield 72 so_rx_bsz I
0406 .dbfield 74 so_rd_cnt I
0406 .dbfield 76 so_rx_apc C
0406 .dbfield 77 so_rx_buf pS[_NETBUF]
0406 .dbfield 79 so_rx_tq pV
0406 .dbfield 81 so_rx_nbq pS[_NETBUF]
0406 .dbfield 83 so_mss i
0406 .dbfield 85 so_rtt_seq l
0406 .dbfield 89 so_rtto i
0406 .dbfield 91 so_retransmits i
0406 .dbfield 93 so_time_wait i
0406 .dbfield 95 so_retran_time i
0406 .dbfield 97 so_last_error i
0406 .dbfield 99 so_pc_tq pV
0406 .dbfield 101 so_ac_tq pV
0406 .dbfield 103 so_read_to l
0406 .dbfield 107 so_write_to l
0406 .dbfield 111 so_oos_drop l
0406 .dbend
0406 .dbsym s st_unknown L88 A[8:8]kc
0406 .dbsym s st_closed L87 A[7:7]kc
0406 .dbsym s st_timewait L86 A[9:9]kc
0406 .dbsym s st_lastack L85 A[8:8]kc
0406 .dbsym s st_closing L84 A[8:8]kc
0406 .dbsym s st_closewait L83 A[10:10]kc
0406 .dbsym s st_finwait2 L82 A[9:9]kc
0406 .dbsym s st_finwait1 L81 A[9:9]kc
0406 .dbsym s st_estab L80 A[34:34]kc
0406 .dbsym s st_synrcvd L79 A[8:8]kc
0406 .dbsym s st_synsent L78 A[8:8]kc
0406 .dbsym s st_listen L77 A[7:7]kc
0406 .dbsym s foot L76 A[23:23]kc
0406 .dbsym s tfmt2 L75 A[19:19]kc
0406 .dbsym s tfmt1 L74 A[44:44]kc
0406 .dbsym s head L73 A[163:163]kc
0406 ; st_P -> R22,R23
0406 ; ts -> R20,R21
0406 ; req -> R12,R13
0406 ; stream -> R10,R11
.even
0406 _ShowSockets:
0406 0E940000 xcall push_xgsetF0FC
040A 6901 movw R12,R18
040C 5801 movw R10,R16
040E 2697 sbiw R28,6
0410 .dbline -1
0410 .dbline 440
0410 ; }
0410 ;
0410 ; /*
0410 ; * CGI Sample: Show list of sockets.
0410 ; *
0410 ; * This routine must have been registered by NutRegisterCgi() and is
0410 ; * automatically called by NutHttpProcessRequest() when the client
0410 ; * request the URL 'cgi-bin/sockets.cgi'.
0410 ; */
0410 ; static int ShowSockets(FILE * stream, REQUEST * req)
0410 ; {
0410 .dbline 468
0410 ; /* String literals are kept in flash ROM. */
0410 ; static prog_char head[] = "<HTML><HEAD><TITLE>Sockets</TITLE></HEAD>"
0410 ; "<BODY><H1>Sockets</H1>\r\n"
0410 ; "<TABLE BORDER><TR><TH>Handle</TH><TH>Type</TH><TH>Local</TH><TH>Remote</TH><TH>Status</TH></TR>\r\n";
0410 ; #if defined(__AVR__)
0410 ; static prog_char tfmt1[] = "<TR><TD>%04X</TD><TD>TCP</TD><TD>%s:%u</TD>";
0410 ; #else
0410 ; static prog_char tfmt1[] = "<TR><TD>%08lX</TD><TD>TCP</TD><TD>%s:%u</TD>";
0410 ; #endif
0410 ; static prog_char tfmt2[] = "<TD>%s:%u</TD><TD>";
0410 ; static prog_char foot[] = "</TABLE></BODY></HTML>";
0410 ; static prog_char st_listen[] = "LISTEN";
0410 ; static prog_char st_synsent[] = "SYNSENT";
0410 ; static prog_char st_synrcvd[] = "SYNRCVD";
0410 ; static prog_char st_estab[] = "<FONT COLOR=#CC0000>ESTABL</FONT>";
0410 ; static prog_char st_finwait1[] = "FINWAIT
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -