📄 uip_arch.lst
字号:
114 .stabs "",36,0,0,.Lscope0-uip_add_rcv_nxt
115 .stabs "uip_add_ack_nxt:F(0,20)",36,0,117,uip_add_ack_nxt
GAS LISTING C:\DOCUME~1\pstang\LOCALS~1\Temp/ccSyaaaa.s page 5
116 .stabs "n:P(3,1)",64,0,116,25
117 .global uip_add_ack_nxt
118 .type uip_add_ack_nxt, @function
119 uip_add_ack_nxt:
114:uip_arch.c **** /*-----------------------------------------------------------------------------------*/
115:uip_arch.c **** void
116:uip_arch.c **** uip_add_ack_nxt(u8_t n)
117:uip_arch.c **** {
120 .stabn 68,0,117,.LM10-uip_add_ack_nxt
121 .LM10:
122 /* prologue: frame size=0 */
123 /* prologue end (size=0) */
124 0050 982F mov r25,r24
118:uip_arch.c **** uip_conn->ack_nxt[3] += n;
125 .stabn 68,0,118,.LM11-uip_add_ack_nxt
126 .LM11:
127 0052 E091 0000 lds r30,uip_conn
128 0056 F091 0000 lds r31,(uip_conn)+1
129 005a 8489 ldd r24,Z+20
130 005c 890F add r24,r25
131 005e 848B std Z+20,r24
119:uip_arch.c **** if(uip_conn->ack_nxt[3] < n) {
132 .stabn 68,0,119,.LM12-uip_add_ack_nxt
133 .LM12:
134 0060 E091 0000 lds r30,uip_conn
135 0064 F091 0000 lds r31,(uip_conn)+1
136 0068 8489 ldd r24,Z+20
137 006a 8917 cp r24,r25
138 006c B8F4 brsh .L5
120:uip_arch.c **** ++uip_conn->ack_nxt[2];
139 .stabn 68,0,120,.LM13-uip_add_ack_nxt
140 .LM13:
141 006e 8389 ldd r24,Z+19
142 0070 8F5F subi r24,lo8(-(1))
143 0072 838B std Z+19,r24
121:uip_arch.c **** if(uip_conn->ack_nxt[2] == 0) {
144 .stabn 68,0,121,.LM14-uip_add_ack_nxt
145 .LM14:
146 0074 E091 0000 lds r30,uip_conn
147 0078 F091 0000 lds r31,(uip_conn)+1
148 007c 8389 ldd r24,Z+19
149 007e 8823 tst r24
150 0080 69F4 brne .L5
122:uip_arch.c **** ++uip_conn->ack_nxt[1];
151 .stabn 68,0,122,.LM15-uip_add_ack_nxt
152 .LM15:
153 0082 8289 ldd r24,Z+18
154 0084 8F5F subi r24,lo8(-(1))
155 0086 828B std Z+18,r24
123:uip_arch.c **** if(uip_conn->ack_nxt[1] == 0) {
156 .stabn 68,0,123,.LM16-uip_add_ack_nxt
157 .LM16:
158 0088 E091 0000 lds r30,uip_conn
159 008c F091 0000 lds r31,(uip_conn)+1
160 0090 8289 ldd r24,Z+18
161 0092 8823 tst r24
162 0094 19F4 brne .L5
GAS LISTING C:\DOCUME~1\pstang\LOCALS~1\Temp/ccSyaaaa.s page 6
124:uip_arch.c **** ++uip_conn->ack_nxt[0];
163 .stabn 68,0,124,.LM17-uip_add_ack_nxt
164 .LM17:
165 0096 8189 ldd r24,Z+17
166 0098 8F5F subi r24,lo8(-(1))
167 009a 818B std Z+17,r24
125:uip_arch.c **** }
126:uip_arch.c **** }
127:uip_arch.c **** }
128:uip_arch.c **** }
168 .stabn 68,0,128,.LM18-uip_add_ack_nxt
169 .LM18:
170 .L5:
171 009c 0895 ret
172 /* epilogue: frame size=0 */
173 009e 0895 ret
174 /* epilogue end (size=1) */
175 /* function uip_add_ack_nxt size 40 (39) */
176 .size uip_add_ack_nxt, .-uip_add_ack_nxt
177 .Lscope1:
178 .stabs "",36,0,0,.Lscope1-uip_add_ack_nxt
179 .stabs "chksum:f(3,2)",36,0,133,chksum
180 .stabs "sdata:P(1,1)=*(3,2)",64,0,132,30
181 .stabs "len:P(3,2)",64,0,132,22
182 .type chksum, @function
183 chksum:
129:uip_arch.c **** /*-----------------------------------------------------------------------------------*/
130:uip_arch.c **** #endif /* UIP_BUFSIZE > 255 */
131:uip_arch.c **** static u16_t
132:uip_arch.c **** chksum(u16_t *sdata, u16_t len)
133:uip_arch.c **** {
184 .stabn 68,0,133,.LM19-chksum
185 .LM19:
186 /* prologue: frame size=0 */
187 /* prologue end (size=0) */
188 00a0 FC01 movw r30,r24
134:uip_arch.c **** u16_t acc;
135:uip_arch.c ****
136:uip_arch.c **** for(acc = 0; len > 1; len -= 2) {
189 .stabn 68,0,136,.LM20-chksum
190 .LM20:
191 .LBB2:
192 00a2 20E0 ldi r18,lo8(0)
193 00a4 30E0 ldi r19,hi8(0)
194 00a6 6230 cpi r22,2
195 00a8 7105 cpc r23,__zero_reg__
196 00aa 78F0 brlo .L19
197 .L15:
137:uip_arch.c **** acc += *sdata;
198 .stabn 68,0,137,.LM21-chksum
199 .LM21:
200 00ac 8081 ld r24,Z
201 00ae 9181 ldd r25,Z+1
202 00b0 280F add r18,r24
203 00b2 391F adc r19,r25
138:uip_arch.c **** if(acc < *sdata) {
204 .stabn 68,0,138,.LM22-chksum
GAS LISTING C:\DOCUME~1\pstang\LOCALS~1\Temp/ccSyaaaa.s page 7
205 .LM22:
206 00b4 2817 cp r18,r24
207 00b6 3907 cpc r19,r25
208 00b8 10F4 brsh .L14
139:uip_arch.c **** /* Overflow, so we add the carry to acc (i.e., increase by
140:uip_arch.c **** one). */
141:uip_arch.c **** ++acc;
209 .stabn 68,0,141,.LM23-chksum
210 .LM23:
211 00ba 2F5F subi r18,lo8(-(1))
212 00bc 3F4F sbci r19,hi8(-(1))
213 .L14:
142:uip_arch.c **** }
143:uip_arch.c **** ++sdata;
214 .stabn 68,0,143,.LM24-chksum
215 .LM24:
216 00be 3296 adiw r30,2
217 .stabn 68,0,136,.LM25-chksum
218 .LM25:
219 00c0 6250 subi r22,lo8(-(-2))
220 00c2 7040 sbci r23,hi8(-(-2))
221 00c4 6230 cpi r22,2
222 00c6 7105 cpc r23,__zero_reg__
223 00c8 88F7 brsh .L15
224 .L19:
144:uip_arch.c **** }
145:uip_arch.c ****
146:uip_arch.c **** /* add up any odd byte */
147:uip_arch.c **** if(len == 1) {
225 .stabn 68,0,147,.LM26-chksum
226 .LM26:
227 00ca 6130 cpi r22,1
228 00cc 7105 cpc r23,__zero_reg__
229 00ce 49F4 brne .L16
148:uip_arch.c **** acc += htons(((u16_t)(*(u8_t *)sdata)) << 8);
230 .stabn 68,0,148,.LM27-chksum
231 .LM27:
232 00d0 8081 ld r24,Z
233 00d2 9927 clr r25
234 00d4 280F add r18,r24
235 00d6 391F adc r19,r25
149:uip_arch.c **** if(acc < htons(((u16_t)(*(u8_t *)sdata)) << 8)) {
236 .stabn 68,0,149,.LM28-chksum
237 .LM28:
238 00d8 2817 cp r18,r24
239 00da 3907 cpc r19,r25
240 00dc 10F4 brsh .L16
150:uip_arch.c **** ++acc;
241 .stabn 68,0,150,.LM29-chksum
242 .LM29:
243 00de 2F5F subi r18,lo8(-(1))
244 00e0 3F4F sbci r19,hi8(-(1))
245 .L16:
151:uip_arch.c **** }
152:uip_arch.c **** }
153:uip_arch.c ****
154:uip_arch.c **** return acc;
GAS LISTING C:\DOCUME~1\pstang\LOCALS~1\Temp/ccSyaaaa.s page 8
155:uip_arch.c **** }
246 .stabn 68,0,155,.LM30-chksum
247 .LM30:
248 .LBE2:
249 00e2 C901 movw r24,r18
250 /* epilogue: frame size=0 */
251 00e4 0895 ret
252 /* epilogue end (size=1) */
253 /* function chksum size 35 (34) */
254 .size chksum, .-chksum
255 .stabs "acc:r(3,2)",64,0,134,18
256 .stabn 192,0,0,.LBB2-chksum
257 .stabn 224,0,0,.LBE2-chksum
258 .Lscope2:
259 .stabs "",36,0,0,.Lscope2-chksum
260 .stabs "uip_ipchksum:F(3,2)",36,0,159,uip_ipchksum
261 .global uip_ipchksum
262 .type uip_ipchksum, @function
263 uip_ipchksum:
156:uip_arch.c **** /*-----------------------------------------------------------------------------------*/
157:uip_arch.c **** u16_t
158:uip_arch.c **** uip_ipchksum(void)
159:uip_arch.c **** {
264 .stabn 68,0,159,.LM31-uip_ipchksum
265 .LM31:
266 /* prologue: frame size=0 */
267 /* prologue end (size=0) */
160:uip_arch.c **** return chksum((u16_t *)&uip_buf[UIP_LLH_LEN], 20);
268 .stabn 68,0,160,.LM32-uip_ipchksum
269 .LM32:
270 00e6 64E1 ldi r22,lo8(20)
271 00e8 70E0 ldi r23,hi8(20)
272 00ea 80E0 ldi r24,lo8(uip_buf+14)
273 00ec 90E0 ldi r25,hi8(uip_buf+14)
274 00ee 0E94 0000 call chksum
161:uip_arch.c **** }
275 .stabn 68,0,161,.LM33-uip_ipchksum
276 .LM33:
277 /* epilogue: frame size=0 */
278 00f2 0895 ret
279 /* epilogue end (size=1) */
280 /* function uip_ipchksum size 7 (6) */
281 .size uip_ipchksum, .-uip_ipchksum
282 .Lscope3:
283 .stabs "",36,0,0,.Lscope3-uip_ipchksum
284 .stabs "uip_tcpchksum:F(3,2)",36,0,165,uip_tcpchksum
285 .global uip_tcpchksum
286 .type uip_tcpchksum, @function
287 uip_tcpchksum:
162:uip_arch.c **** /*-----------------------------------------------------------------------------------*/
163:uip_arch.c **** u16_t
164:uip_arch.c **** uip_tcpchksum(void)
165:uip_arch.c **** {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -