udpin.lst 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. GAS LISTING /tmp/cc194toL.s page 1
  2. 1 .file "udpin.c"
  3. 2 __SP_H__ = 0x3e
  4. 3 __SP_L__ = 0x3d
  5. 4 __SREG__ = 0x3f
  6. 5 __RAMPZ__ = 0x3b
  7. 6 __tmp_reg__ = 0
  8. 7 __zero_reg__ = 1
  9. 8 .section .text.NutUdpInput,"ax",@progbits
  10. 9 .global NutUdpInput
  11. 10 .type NutUdpInput, @function
  12. 11 NutUdpInput:
  13. 12 0000 0F93 push r16
  14. 13 0002 1F93 push r17
  15. 14 0004 CF93 push r28
  16. 15 0006 DF93 push r29
  17. 16 /* prologue: function */
  18. 17 /* frame size = 0 */
  19. 18 /* stack size = 4 */
  20. 19 .L__stack_usage = 4
  21. 20 0008 EB01 movw r28,r22
  22. 21 000a EB85 ldd r30,Y+11
  23. 22 000c FC85 ldd r31,Y+12
  24. 23 000e 3097 sbiw r30,0
  25. 24 0010 01F0 breq .L3
  26. 25 0012 8D85 ldd r24,Y+13
  27. 26 0014 9E85 ldd r25,Y+14
  28. 27 0016 8830 cpi r24,8
  29. 28 0018 9105 cpc r25,__zero_reg__
  30. 29 001a 00F4 brsh .L32
  31. 30 .L3:
  32. 31 001c CE01 movw r24,r28
  33. 32 001e 0E94 0000 call NutNetBufFree
  34. 33 0022 00C0 rjmp .L6
  35. 34 .L32:
  36. 35 0024 0897 sbiw r24,8
  37. 36 0026 9A8B std Y+18,r25
  38. 37 0028 898B std Y+17,r24
  39. 38 002a 28E0 ldi r18,lo8(8)
  40. 39 002c 30E0 ldi r19,0
  41. 40 002e 3E87 std Y+14,r19
  42. 41 0030 2D87 std Y+13,r18
  43. 42 0032 892B or r24,r25
  44. 43 0034 01F0 breq .L7
  45. 44 0036 CF01 movw r24,r30
  46. 45 0038 0896 adiw r24,8
  47. 46 003a 988B std Y+16,r25
  48. 47 003c 8F87 std Y+15,r24
  49. 48 .L7:
  50. 49 003e 8281 ldd r24,Z+2
  51. 50 0040 9381 ldd r25,Z+3
  52. 51 0042 0E94 0000 call NutUdpFindSocket
  53. 52 0046 8C01 movw r16,r24
  54. 53 0048 0097 sbiw r24,0
  55. 54 004a 01F4 brne .L8
  56. 55 004c 8A81 ldd r24,Y+2
  57. 56 004e 83FF sbrs r24,3
  58. 57 0050 00C0 rjmp .L3
  59. GAS LISTING /tmp/cc194toL.s page 2
  60. 58 0052 8E01 movw r16,r28
  61. 59 0054 20E0 ldi r18,0
  62. 60 0056 30E0 ldi r19,0
  63. 61 0058 A901 movw r20,r18
  64. 62 005a 63E0 ldi r22,lo8(3)
  65. 63 005c 83E0 ldi r24,lo8(3)
  66. 64 005e 0E94 0000 call NutIcmpResponse
  67. 65 0062 892B or r24,r25
  68. 66 0064 01F0 breq .L3
  69. 67 0066 00C0 rjmp .L6
  70. 68 .L8:
  71. 69 0068 DC01 movw r26,r24
  72. 70 006a 1A96 adiw r26,10
  73. 71 006c 2D91 ld r18,X+
  74. 72 006e 3C91 ld r19,X
  75. 73 0070 1B97 sbiw r26,10+1
  76. 74 0072 2115 cp r18,__zero_reg__
  77. 75 0074 3105 cpc r19,__zero_reg__
  78. 76 0076 01F0 breq .L9
  79. 77 0078 1896 adiw r26,8
  80. 78 007a 4D91 ld r20,X+
  81. 79 007c 5C91 ld r21,X
  82. 80 007e 1997 sbiw r26,8+1
  83. 81 0080 8989 ldd r24,Y+17
  84. 82 0082 9A89 ldd r25,Y+18
  85. 83 0084 840F add r24,r20
  86. 84 0086 951F adc r25,r21
  87. 85 0088 2817 cp r18,r24
  88. 86 008a 3907 cpc r19,r25
  89. 87 008c 04F0 brlt .L3
  90. 88 008e 1496 adiw r26,4
  91. 89 0090 ED91 ld r30,X+
  92. 90 0092 FC91 ld r31,X
  93. 91 0094 1597 sbiw r26,4+1
  94. 92 0096 3097 sbiw r30,0
  95. 93 0098 01F0 breq .L35
  96. 94 .L11:
  97. 95 009a 2081 ld r18,Z
  98. 96 009c 3181 ldd r19,Z+1
  99. 97 009e 2115 cp r18,__zero_reg__
  100. 98 00a0 3105 cpc r19,__zero_reg__
  101. 99 00a2 01F0 breq .L36
  102. 100 00a4 F901 movw r30,r18
  103. 101 00a6 00C0 rjmp .L11
  104. 102 .L36:
  105. 103 00a8 D183 std Z+1,r29
  106. 104 00aa C083 st Z,r28
  107. 105 00ac 00C0 rjmp .L12
  108. 106 .L35:
  109. 107 00ae F801 movw r30,r16
  110. 108 00b0 D583 std Z+5,r29
  111. 109 00b2 C483 std Z+4,r28
  112. 110 .L12:
  113. 111 00b4 D801 movw r26,r16
  114. 112 00b6 00C0 rjmp .L33
  115. 113 .L9:
  116. 114 00b8 FC01 movw r30,r24
  117. GAS LISTING /tmp/cc194toL.s page 3
  118. 115 00ba 8481 ldd r24,Z+4
  119. 116 00bc 9581 ldd r25,Z+5
  120. 117 00be 0097 sbiw r24,0
  121. 118 00c0 01F0 breq .L14
  122. 119 00c2 0E94 0000 call NutNetBufFree
  123. 120 .L14:
  124. 121 00c6 D801 movw r26,r16
  125. 122 00c8 1596 adiw r26,4+1
  126. 123 00ca DC93 st X,r29
  127. 124 00cc CE93 st -X,r28
  128. 125 00ce 1497 sbiw r26,4
  129. 126 00d0 8989 ldd r24,Y+17
  130. 127 00d2 9A89 ldd r25,Y+18
  131. 128 .L33:
  132. 129 00d4 1996 adiw r26,8+1
  133. 130 00d6 9C93 st X,r25
  134. 131 00d8 8E93 st -X,r24
  135. 132 00da 1897 sbiw r26,8
  136. 133 00dc F801 movw r30,r16
  137. 134 00de 8681 ldd r24,Z+6
  138. 135 00e0 9781 ldd r25,Z+7
  139. 136 00e2 892B or r24,r25
  140. 137 00e4 01F0 breq .L6
  141. 138 00e6 C801 movw r24,r16
  142. 139 00e8 0696 adiw r24,6
  143. 140 00ea 0E94 0000 call NutEventPost
  144. 141 .L6:
  145. 142 00ee 80E0 ldi r24,0
  146. 143 00f0 90E0 ldi r25,0
  147. 144 /* epilogue start */
  148. 145 00f2 DF91 pop r29
  149. 146 00f4 CF91 pop r28
  150. 147 00f6 1F91 pop r17
  151. 148 00f8 0F91 pop r16
  152. 149 00fa 0895 ret
  153. 150 .size NutUdpInput, .-NutUdpInput
  154. 151 .ident "GCC: (GNU) 5.3.0"
  155. GAS LISTING /tmp/cc194toL.s page 4
  156. DEFINED SYMBOLS
  157. *ABS*:0000000000000000 udpin.c
  158. /tmp/cc194toL.s:2 *ABS*:000000000000003e __SP_H__
  159. /tmp/cc194toL.s:3 *ABS*:000000000000003d __SP_L__
  160. /tmp/cc194toL.s:4 *ABS*:000000000000003f __SREG__
  161. /tmp/cc194toL.s:5 *ABS*:000000000000003b __RAMPZ__
  162. /tmp/cc194toL.s:6 *ABS*:0000000000000000 __tmp_reg__
  163. /tmp/cc194toL.s:7 *ABS*:0000000000000001 __zero_reg__
  164. /tmp/cc194toL.s:11 .text.NutUdpInput:0000000000000000 NutUdpInput
  165. UNDEFINED SYMBOLS
  166. NutNetBufFree
  167. NutUdpFindSocket
  168. NutIcmpResponse
  169. NutEventPost