📄 ip.lst
字号:
1 .file "ip.c"
2 __SREG__ = 0x3f
3 __SP_H__ = 0x3e
4 __SP_L__ = 0x3d
5 __CCP__ = 0x34
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .global __do_copy_data
9 .global __do_clear_bss
11 .text
12 .Ltext0:
125 .global ip_generate_packet
127 ip_generate_packet:
1:net/ip.c **** /*
2:net/ip.c **** ,-----------------------------------------------------------------------------------------.
3:net/ip.c **** | net/ip
4:net/ip.c **** |-----------------------------------------------------------------------------------------
5:net/ip.c **** | this file implements a very basic ip protocol
6:net/ip.c **** | - ethernet packet generation is done
7:net/ip.c **** | - ip packet is constructed
8:net/ip.c **** |
9:net/ip.c **** | Author : Simon Schulz / avr{AT}auctionant.de
10:net/ip.c **** |
11:net/ip.c **** |
12:net/ip.c **** |
13:net/ip.c **** |-----------------------------------------------------------------------------------------
14:net/ip.c **** | License:
15:net/ip.c **** | This program is free software; you can redistribute it and/or modify it under
16:net/ip.c **** | the terms of the GNU General Public License as published by the Free Software
17:net/ip.c **** | Foundation; either version 2 of the License, or (at your option) any later
18:net/ip.c **** | version.
19:net/ip.c **** | This program is distributed in the hope that it will be useful, but
20:net/ip.c **** |
21:net/ip.c **** | WITHOUT ANY WARRANTY;
22:net/ip.c **** |
23:net/ip.c **** | without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
24:net/ip.c **** | PURPOSE. See the GNU General Public License for more details.
25:net/ip.c **** |
26:net/ip.c **** | You should have received a copy of the GNU General Public License along with
27:net/ip.c **** | this program; if not, write to the Free Software Foundation, Inc., 51
28:net/ip.c **** | Franklin St, Fifth Floor, Boston, MA 02110, USA
29:net/ip.c **** |
30:net/ip.c **** | http://www.gnu.de/gpl-ger.html
31:net/ip.c **** `-----------------------------------------------------------------------------------------*/
32:net/ip.c ****
33:net/ip.c **** #include "ip.h"
34:net/ip.c **** #include "mynic.h"
35:net/ip.c **** #include "nethelp.h"
36:net/ip.c ****
37:net/ip.c **** //ACTIVATE DEBUG by editing this file:
38:net/ip.c **** #include "debug.h"
39:net/ip.c ****
40:net/ip.c **** volatile unsigned int ip_identification;
41:net/ip.c ****
42:net/ip.c **** void ip_generate_packet(unsigned char *buffer,
43:net/ip.c **** uint32_t *dest_ip,
44:net/ip.c **** unsigned char *dest_mac,
45:net/ip.c **** unsigned int source_port, unsigned int dest_port,
46:net/ip.c **** unsigned char ip_packettype,
47:net/ip.c **** unsigned int data_length){
128
129 .LFBB1:
130 push r12
131 0000 CF92 push r13
132 0002 DF92 push r14
133 0004 EF92 push r16
134 0006 0F93 push r17
135 0008 1F93 push r28
136 000a CF93 push r29
137 000c DF93 /* prologue: function */
138 /* frame size = 0 */
139 movw r28,r24
140 000e EC01 movw r16,r22
141 0010 8B01 movw r22,r12
48:net/ip.c **** ip_packettype,
49:net/ip.c **** unsigned int data_length){
50:net/ip.c **** unsigned int res16;
51:net/ip.c **** unsigned int c;
52:net/ip.c ****
143
144 push r17
145 0014 6C5E push r28
146 0016 7F4F push r29
147 0018 DC01 /* prologue: function */
148 001a 20E0 /* frame size = 0 */
149 001c 30E0 movw r28,r24
150 movw r16,r22
53:net/ip.c **** gned int data_length){
54:net/ip.c **** unsigned int res16;
55:net/ip.c **** unsigned int c;
56:net/ip.c ****
57:net/ip.c **** //datalength = datalength + ip header:
151 BB1:
152 push r12
153 001e FA01 push r13
154 0020 E20F push r14
155 0022 F31F push r16
156 0024 8081 push r17
157 0026 8C93 push r28
58:net/ip.c **** 6;
59:net/ip.c **** unsigned int c;
158 e ip_generate_packet, @function
159 ip_generate_packet:
161 002a E050 .LM0:
162 002c F040 .LFBB1:
163 002e 8081 push r12
164 0030 1696 push r13
165 0032 8C93 push r14
166 0034 1697 push r16
167 push r17
168 push r28
169 0036 2F5F push r29
170 0038 3F4F /* prologue: function */
171 003a 1196 /* frame size = 0 */
172 003c 2630 movw r28,r24
173 003e 3105 movw r16,r22
174 0040 01F4 movw r22,r12
60:net/ip.c **** nsigned int data_length){
61:net/ip.c **** unsigned int res16;
62:net/ip.c **** unsigned int c;
63:net/ip.c ****
175 push r13
176 push r14
177 0042 88E0 push r16
178 0044 8C87 push r17
64:net/ip.c **** gned int data_length){
179 acket
181 0046 1D86 ip_generate_packet:
65:net/ip.c **** ip_packettype,
66:net/ip.c **** unsigned int data_length){
67:net/ip.c **** unsigned int res16;
68:net/ip.c **** unsigned int c;
69:net/ip.c ****
182 stabs "ip_packettype:P(0,11)",64,0,0,14
184 0048 85E4 .global ip_generate_packet
70:net/ip.c **** gned int data_length){
71:net/ip.c **** unsigned int res16;
72:net/ip.c **** unsigned int c;
186 :P(0,4)",64,0,0,16
73:net/ip.c **** nsigned int data_length){
74:net/ip.c **** unsigned int res16;
75:net/ip.c **** unsigned int c;
189 4,0,0,20
76:net/ip.c **** nsigned int data_length){
192 ",64,0,0,28
77:net/ip.c **** ip_packettype,
78:net/ip.c **** unsigned int data_length){
79:net/ip.c **** unsigned int res16;
195 rate_packet:F(0,15)",36,0,0,ip_generate_packet
80:net/ip.c **** unsigned int data_length){
200 packet
81:net/ip.c **** ip_packettype,
205 packet
82:net/ip.c **** t dest_port,
83:net/ip.c **** unsigned char ip_packettype,
84:net/ip.c **** unsigned int data_length){
212 ",64,0,0,16
85:net/ip.c **** ip_packettype,
216 ",64,0,0,28
86:net/ip.c **** t dest_port,
87:net/ip.c **** unsigned char ip_packettype,
88:net/ip.c **** unsigned int data_length){
219 rate_packet:F(0,15)",36,0,0,ip_generate_packet
89:net/ip.c **** ip_packettype,
90:net/ip.c **** unsigned int data_length){
91:net/ip.c **** unsigned int res16;
223 rate_packet:F(0,15)",36,0,0,ip_generate_packet
92:net/ip.c **** unsigned int data_length){
93:net/ip.c **** unsigned int res16;
94:net/ip.c **** unsigned int c;
226 0,0
95:net/ip.c **** nsigned int data_length){
96:net/ip.c **** unsigned int res16;
97:net/ip.c **** unsigned int c;
236 4,0,0,20
241 00a2 7091 0000 .global ip_generate_packet
243 00a8 4A96 ip_generate_packet:
98:net/ip.c **** nsigned int data_length){
99:net/ip.c **** unsigned int res16;
100:net/ip.c **** unsigned int c;
245 ,64,0,0,14
247 00ae 188E .global ip_generate_packet
101:net/ip.c **** nsigned int data_length){
248 t:P(0,4)",64,0,0,18
252 .global ip_generate_packet
102:net/ip.c **** ip_packettype,
103:net/ip.c **** unsigned int data_length){
104:net/ip.c **** unsigned int res16;
254 :P(0,4)",64,0,0,16
257 00b6 2E97 .global ip_generate_packet
259 00ba 70E0 ip_generate_packet:
261 00be 30E0 .LM0:
262 00c0 40E0 .LFBB1:
263 00c2 50E0 push r12
264 00c4 0E94 0000 push r13
105:net/ip.c **** unsigned int data_length){
106:net/ip.c **** unsigned int res16;
107:net/ip.c **** unsigned int c;
265 ",64,0,0,12
266 .global ip_generate_packet
108:net/ip.c **** nsigned int data_length){
268 :P(0,4)",64,0,0,16
271 .global ip_generate_packet
109:net/ip.c **** ip_packettype,
110:net/ip.c **** unsigned int data_length){
111:net/ip.c **** unsigned int res16;
112:net/ip.c **** unsigned int c;
272 t:P(0,4)",64,0,0,18
276 00d0 1F91 .global ip_generate_packet
278 00d4 EF90 ip_generate_packet:
280 00d8 CF90 .LM0:
281 00da 0895 .LFBB1:
282 push r12
283 push r13
284 push r14
285 push r16
286 push r17
287 push r28
288 push r29
289 /* prologue: function */
290 /* frame size = 0 */
DEFINED SYMBOLS
*ABS*:00000000 ip.c
C:\DOCUME~1\ESERVIS\USTAWI~1\Temp/ccTpJzpW.s:2 *ABS*:0000003f __SREG__
C:\DOCUME~1\ESERVIS\USTAWI~1\Temp/ccTpJzpW.s:3 *ABS*:0000003e __SP_H__
C:\DOCUME~1\ESERVIS\USTAWI~1\Temp/ccTpJzpW.s:4 *ABS*:0000003d __SP_L__
C:\DOCUME~1\ESERVIS\USTAWI~1\Temp/ccTpJzpW.s:5 *ABS*:00000034 __CCP__
C:\DOCUME~1\ESERVIS\USTAWI~1\Temp/ccTpJzpW.s:6 *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\ESERVIS\USTAWI~1\Temp/ccTpJzpW.s:7 *ABS*:00000001 __zero_reg__
C:\DOCUME~1\ESERVIS\USTAWI~1\Temp/ccTpJzpW.s:127 .text:00000000 ip_generate_packet
*COM*:00000002 ip_identification
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
nic_mac
nic_ip_to_buffer
nic_ip
nethelp_checksum
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -