GAS LISTING /tmp/ccRusmxE.s page 1 1 .file "wins.c" 2 __SP_H__ = 0x3e 3 __SP_L__ = 0x3d 4 __SREG__ = 0x3f 5 __RAMPZ__ = 0x3b 6 __tmp_reg__ = 0 7 __zero_reg__ = 1 8 .section .text.NutWinsNameQuery,"ax",@progbits 9 .global NutWinsNameQuery 10 .type NutWinsNameQuery, @function 11 NutWinsNameQuery: 12 0000 2F92 push r2 13 0002 3F92 push r3 14 0004 4F92 push r4 15 0006 5F92 push r5 16 0008 6F92 push r6 17 000a 7F92 push r7 18 000c 8F92 push r8 19 000e 9F92 push r9 20 0010 AF92 push r10 21 0012 BF92 push r11 22 0014 CF92 push r12 23 0016 DF92 push r13 24 0018 EF92 push r14 25 001a FF92 push r15 26 001c 0F93 push r16 27 001e 1F93 push r17 28 0020 CF93 push r28 29 0022 DF93 push r29 30 0024 CDB7 in r28,__SP_L__ 31 0026 DEB7 in r29,__SP_H__ 32 0028 2A97 sbiw r28,10 33 002a 0FB6 in __tmp_reg__,__SREG__ 34 002c F894 cli 35 002e DEBF out __SP_H__,r29 36 0030 0FBE out __SREG__,__tmp_reg__ 37 0032 CDBF out __SP_L__,r28 38 /* prologue: function */ 39 /* frame size = 10 */ 40 /* stack size = 28 */ 41 .L__stack_usage = 28 42 0034 7C01 movw r14,r24 43 0036 1A01 movw r2,r20 44 0038 2B01 movw r4,r22 45 003a FC01 movw r30,r24 46 0: 47 003c 0190 ld __tmp_reg__,Z+ 48 003e 0020 tst __tmp_reg__ 49 0040 01F4 brne 0b 50 0042 3197 sbiw r30,1 51 0044 E81B sub r30,r24 52 0046 F90B sbc r31,r25 53 0048 7097 sbiw r30,16 54 004a 00F0 brlo .+2 55 004c 00C0 rjmp .L16 56 004e 6EE3 ldi r22,lo8(62) 57 0050 70E0 ldi r23,0 GAS LISTING /tmp/ccRusmxE.s page 2 58 0052 81E0 ldi r24,lo8(1) 59 0054 90E0 ldi r25,0 60 0056 0E94 0000 call calloc 61 005a 5C01 movw r10,r24 62 005c 892B or r24,r25 63 005e 01F4 brne .+2 64 0060 00C0 rjmp .L16 65 0062 61E0 ldi r22,lo8(1) 66 0064 70E0 ldi r23,0 67 0066 81E2 ldi r24,lo8(33) 68 0068 90E0 ldi r25,0 69 006a 0E94 0000 call calloc 70 006e 4C01 movw r8,r24 71 0070 892B or r24,r25 72 0072 01F4 brne .+2 73 0074 00C0 rjmp .L3 74 0076 89E8 ldi r24,lo8(-119) 75 0078 90E0 ldi r25,0 76 007a 0E94 0000 call NutUdpCreateSocket 77 007e 3C01 movw r6,r24 78 0080 892B or r24,r25 79 0082 01F4 brne .+2 80 0084 00C0 rjmp .L3 81 0086 6401 movw r12,r8 82 0088 8FEF ldi r24,-1 83 008a C81A sub r12,r24 84 008c D80A sbc r13,r24 85 008e 9701 movw r18,r14 86 0090 00E0 ldi r16,0 87 0092 10E0 ldi r17,0 88 .L8: 89 0094 F701 movw r30,r14 90 0: 91 0096 0190 ld __tmp_reg__,Z+ 92 0098 0020 tst __tmp_reg__ 93 009a 01F4 brne 0b 94 009c 3197 sbiw r30,1 95 009e EE19 sub r30,r14 96 00a0 FF09 sbc r31,r15 97 00a2 0E17 cp r16,r30 98 00a4 1F07 cpc r17,r31 99 00a6 00F4 brsh .L12 100 00a8 F901 movw r30,r18 101 00aa 8081 ld r24,Z 102 00ac 082E mov __tmp_reg__,r24 103 00ae 000C lsl r0 104 00b0 990B sbc r25,r25 105 00b2 00C0 rjmp .L6 106 .L12: 107 00b4 80E2 ldi r24,lo8(32) 108 00b6 90E0 ldi r25,0 109 .L6: 110 00b8 2987 std Y+9,r18 111 00ba 3A87 std Y+10,r19 112 00bc 0E94 0000 call toupper 113 00c0 2985 ldd r18,Y+9 114 00c2 3A85 ldd r19,Y+10 GAS LISTING /tmp/ccRusmxE.s page 3 115 00c4 0F30 cpi r16,15 116 00c6 1105 cpc r17,__zero_reg__ 117 00c8 01F4 brne .L7 118 00ca 80E0 ldi r24,0 119 .L7: 120 00cc F601 movw r30,r12 121 00ce 3197 sbiw r30,1 122 00d0 982F mov r25,r24 123 00d2 9295 swap r25 124 00d4 9F70 andi r25,lo8(15) 125 00d6 9F5B subi r25,lo8(-(65)) 126 00d8 9083 st Z,r25 127 00da 8F70 andi r24,lo8(15) 128 00dc 8F5B subi r24,lo8(-(65)) 129 00de F601 movw r30,r12 130 00e0 8083 st Z,r24 131 00e2 0F5F subi r16,-1 132 00e4 1F4F sbci r17,-1 133 00e6 F2E0 ldi r31,2 134 00e8 CF0E add r12,r31 135 00ea D11C adc r13,__zero_reg__ 136 00ec 2F5F subi r18,-1 137 00ee 3F4F sbci r19,-1 138 00f0 0031 cpi r16,16 139 00f2 1105 cpc r17,__zero_reg__ 140 00f4 01F4 brne .L8 141 00f6 F401 movw r30,r8 142 00f8 10A2 std Z+32,__zero_reg__ 143 00fa C501 movw r24,r10 144 00fc 0D96 adiw r24,13 145 00fe 9887 std Y+8,r25 146 0100 8F83 std Y+7,r24 147 .L9: 148 0102 C12C mov r12,__zero_reg__ 149 0104 D12C mov r13,__zero_reg__ 150 0106 7601 movw r14,r12 151 0108 0EE3 ldi r16,lo8(62) 152 010a 10E0 ldi r17,0 153 010c 9501 movw r18,r10 154 010e AE01 movw r20,r28 155 0110 4B5F subi r20,-5 156 0112 5F4F sbci r21,-1 157 0114 BE01 movw r22,r28 158 0116 6F5F subi r22,-1 159 0118 7F4F sbci r23,-1 160 011a C301 movw r24,r6 161 011c 0E94 0000 call NutUdpReceiveFrom 162 0120 F501 movw r30,r10 163 0122 8281 ldd r24,Z+2 164 0124 9381 ldd r25,Z+3 165 /* #APP */ 166 ; 309 "../../nut/include/sys/types.h" 1 167 0126 082E mov __tmp_reg__, r24 168 0128 892F mov r24, r25 169 012a 902D mov r25, __tmp_reg__ 170 171 ; 0 "" 2 GAS LISTING /tmp/ccRusmxE.s page 4 172 /* #NOAPP */ 173 012c 8827 clr r24 174 012e 987F andi r25,248 175 0130 892B or r24,r25 176 0132 01F4 brne .L9 177 0134 8481 ldd r24,Z+4 178 0136 9581 ldd r25,Z+5 179 /* #APP */ 180 ; 309 "../../nut/include/sys/types.h" 1 181 0138 082E mov __tmp_reg__, r24 182 013a 892F mov r24, r25 183 013c 902D mov r25, __tmp_reg__ 184 185 ; 0 "" 2 186 /* #NOAPP */ 187 013e 0197 sbiw r24,1 188 0140 01F4 brne .L9 189 0142 8485 ldd r24,Z+12 190 0144 8032 cpi r24,lo8(32) 191 0146 01F4 brne .L9 192 0148 86A5 ldd r24,Z+46 193 014a 97A5 ldd r25,Z+47 194 /* #APP */ 195 ; 309 "../../nut/include/sys/types.h" 1 196 014c 082E mov __tmp_reg__, r24 197 014e 892F mov r24, r25 198 0150 902D mov r25, __tmp_reg__ 199 200 ; 0 "" 2 201 /* #NOAPP */ 202 0152 8097 sbiw r24,32 203 0154 01F4 brne .L9 204 0156 00A9 ldd r16,Z+48 205 0158 11A9 ldd r17,Z+49 206 /* #APP */ 207 ; 309 "../../nut/include/sys/types.h" 1 208 015a 002E mov __tmp_reg__, r16 209 015c 012F mov r16, r17 210 015e 102D mov r17, __tmp_reg__ 211 212 ; 0 "" 2 213 /* #NOAPP */ 214 0160 0130 cpi r16,1 215 0162 1105 cpc r17,__zero_reg__ 216 0164 01F0 breq .+2 217 0166 00C0 rjmp .L9 218 0168 B401 movw r22,r8 219 016a 8F81 ldd r24,Y+7 220 016c 9885 ldd r25,Y+8 221 016e 0E94 0000 call strcmp 222 0172 892B or r24,r25 223 0174 01F0 breq .+2 224 0176 00C0 rjmp .L9 225 0178 80E8 ldi r24,lo8(-128) 226 017a 95E8 ldi r25,lo8(-123) 227 /* #APP */ 228 ; 309 "../../nut/include/sys/types.h" 1 GAS LISTING /tmp/ccRusmxE.s page 5 229 017c 082E mov __tmp_reg__, r24 230 017e 892F mov r24, r25 231 0180 902D mov r25, __tmp_reg__ 232 233 ; 0 "" 2 234 /* #NOAPP */ 235 0182 F501 movw r30,r10 236 0184 9383 std Z+3,r25 237 0186 8283 std Z+2,r24 238 /* #APP */ 239 ; 309 "../../nut/include/sys/types.h" 1 240 0188 002E mov __tmp_reg__, r16 241 018a 012F mov r16, r17 242 018c 102D mov r17, __tmp_reg__ 243 244 ; 0 "" 2 245 /* #NOAPP */ 246 018e 1783 std Z+7,r17 247 0190 0683 std Z+6,r16 248 0192 8CE3 ldi r24,lo8(60) 249 0194 90E0 ldi r25,0 250 0196 A0E0 ldi r26,0 251 0198 B0E0 ldi r27,0 252 /* #APP */ 253 ; 319 "../../nut/include/sys/types.h" 1 254 019a 082E mov __tmp_reg__, r24 255 019c 8B2F mov r24, r27 256 019e B02D mov r27, __tmp_reg__ 257 01a0 092E mov __tmp_reg__, r25 258 01a2 9A2F mov r25, r26 259 01a4 A02D mov r26, __tmp_reg__ 260 261 ; 0 "" 2 262 /* #NOAPP */ 263 01a6 82AB std Z+50,r24 264 01a8 93AB std Z+51,r25 265 01aa A4AB std Z+52,r26 266 01ac B5AB std Z+53,r27 267 01ae 86E0 ldi r24,lo8(6) 268 01b0 90E0 ldi r25,0 269 /* #APP */ 270 ; 309 "../../nut/include/sys/types.h" 1 271 01b2 082E mov __tmp_reg__, r24 272 01b4 892F mov r24, r25 273 01b6 902D mov r25, __tmp_reg__ 274 275 ; 0 "" 2 276 /* #NOAPP */ 277 01b8 97AB std Z+55,r25 278 01ba 86AB std Z+54,r24 279 01bc 1582 std Z+5,__zero_reg__ 280 01be 1482 std Z+4,__zero_reg__ 281 01c0 11AE std Z+57,__zero_reg__ 282 01c2 10AE std Z+56,__zero_reg__ 283 01c4 22AE std Z+58,r2 284 01c6 33AE std Z+59,r3 285 01c8 44AE std Z+60,r4 GAS LISTING /tmp/ccRusmxE.s page 6 286 01ca 55AE std Z+61,r5 287 01cc 4981 ldd r20,Y+1 288 01ce 5A81 ldd r21,Y+2 289 01d0 6B81 ldd r22,Y+3 290 01d2 7C81 ldd r23,Y+4 291 01d4 8EE3 ldi r24,lo8(62) 292 01d6 E82E mov r14,r24 293 01d8 F12C mov r15,__zero_reg__ 294 01da 8501 movw r16,r10 295 01dc 29E8 ldi r18,lo8(-119) 296 01de 30E0 ldi r19,0 297 01e0 C301 movw r24,r6 298 01e2 0E94 0000 call NutUdpSendTo 299 01e6 F501 movw r30,r10 300 01e8 8EE3 ldi r24,lo8(62) 301 0: 302 01ea 1192 st Z+,__zero_reg__ 303 01ec 8A95 dec r24 304 01ee 01F4 brne 0b 305 01f0 00C0 rjmp .L9 306 .L3: 307 01f2 C501 movw r24,r10 308 01f4 0E94 0000 call free 309 01f8 8114 cp r8,__zero_reg__ 310 01fa 9104 cpc r9,__zero_reg__ 311 01fc 01F0 breq .L16 312 01fe C401 movw r24,r8 313 0200 0E94 0000 call free 314 .L16: 315 0204 8FEF ldi r24,lo8(-1) 316 0206 9FEF ldi r25,lo8(-1) 317 /* epilogue start */ 318 0208 2A96 adiw r28,10 319 020a 0FB6 in __tmp_reg__,__SREG__ 320 020c F894 cli 321 020e DEBF out __SP_H__,r29 322 0210 0FBE out __SREG__,__tmp_reg__ 323 0212 CDBF out __SP_L__,r28 324 0214 DF91 pop r29 325 0216 CF91 pop r28 326 0218 1F91 pop r17 327 021a 0F91 pop r16 328 021c FF90 pop r15 329 021e EF90 pop r14 330 0220 DF90 pop r13 331 0222 CF90 pop r12 332 0224 BF90 pop r11 333 0226 AF90 pop r10 334 0228 9F90 pop r9 335 022a 8F90 pop r8 336 022c 7F90 pop r7 337 022e 6F90 pop r6 338 0230 5F90 pop r5 339 0232 4F90 pop r4 340 0234 3F90 pop r3 341 0236 2F90 pop r2 342 0238 0895 ret GAS LISTING /tmp/ccRusmxE.s page 7 343 .size NutWinsNameQuery, .-NutWinsNameQuery 344 .ident "GCC: (GNU) 5.3.0" GAS LISTING /tmp/ccRusmxE.s page 8 DEFINED SYMBOLS *ABS*:0000000000000000 wins.c /tmp/ccRusmxE.s:2 *ABS*:000000000000003e __SP_H__ /tmp/ccRusmxE.s:3 *ABS*:000000000000003d __SP_L__ /tmp/ccRusmxE.s:4 *ABS*:000000000000003f __SREG__ /tmp/ccRusmxE.s:5 *ABS*:000000000000003b __RAMPZ__ /tmp/ccRusmxE.s:6 *ABS*:0000000000000000 __tmp_reg__ /tmp/ccRusmxE.s:7 *ABS*:0000000000000001 __zero_reg__ /tmp/ccRusmxE.s:11 .text.NutWinsNameQuery:0000000000000000 NutWinsNameQuery UNDEFINED SYMBOLS calloc NutUdpCreateSocket toupper NutUdpReceiveFrom strcmp NutUdpSendTo free