arpin.lst 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. GAS LISTING /tmp/ccY8hFpF.s page 1
  2. 1 .file "arpin.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.NutArpInput,"ax",@progbits
  10. 9 .global NutArpInput
  11. 10 .type NutArpInput, @function
  12. 11 NutArpInput:
  13. 12 0000 CF92 push r12
  14. 13 0002 DF92 push r13
  15. 14 0004 EF92 push r14
  16. 15 0006 FF92 push r15
  17. 16 0008 0F93 push r16
  18. 17 000a 1F93 push r17
  19. 18 000c CF93 push r28
  20. 19 000e DF93 push r29
  21. 20 /* prologue: function */
  22. 21 /* frame size = 0 */
  23. 22 /* stack size = 8 */
  24. 23 .L__stack_usage = 8
  25. 24 0010 7C01 movw r14,r24
  26. 25 0012 8B01 movw r16,r22
  27. 26 0014 DB01 movw r26,r22
  28. 27 0016 1996 adiw r26,9
  29. 28 0018 8D91 ld r24,X+
  30. 29 001a 9C91 ld r25,X
  31. 30 001c 1A97 sbiw r26,9+1
  32. 31 001e 4C97 sbiw r24,28
  33. 32 0020 00F4 brsh .L2
  34. 33 .L4:
  35. 34 0022 C801 movw r24,r16
  36. 35 /* epilogue start */
  37. 36 0024 DF91 pop r29
  38. 37 0026 CF91 pop r28
  39. 38 0028 1F91 pop r17
  40. 39 002a 0F91 pop r16
  41. 40 002c FF90 pop r15
  42. 41 002e EF90 pop r14
  43. 42 0030 DF90 pop r13
  44. 43 0032 CF90 pop r12
  45. 44 0034 0C94 0000 jmp NutNetBufFree
  46. 45 .L2:
  47. 46 0038 FB01 movw r30,r22
  48. 47 003a C781 ldd r28,Z+7
  49. 48 003c D085 ldd r29,Z+8
  50. 49 003e 8881 ld r24,Y
  51. 50 0040 9981 ldd r25,Y+1
  52. 51 /* #APP */
  53. 52 ; 309 "../../nut/include/sys/types.h" 1
  54. 53 0042 082E mov __tmp_reg__, r24
  55. 54 0044 892F mov r24, r25
  56. 55 0046 902D mov r25, __tmp_reg__
  57. 56
  58. 57 ; 0 "" 2
  59. GAS LISTING /tmp/ccY8hFpF.s page 2
  60. 58 /* #NOAPP */
  61. 59 0048 0197 sbiw r24,1
  62. 60 004a 01F4 brne .L4
  63. 61 004c 8A81 ldd r24,Y+2
  64. 62 004e 9B81 ldd r25,Y+3
  65. 63 /* #APP */
  66. 64 ; 309 "../../nut/include/sys/types.h" 1
  67. 65 0050 082E mov __tmp_reg__, r24
  68. 66 0052 892F mov r24, r25
  69. 67 0054 902D mov r25, __tmp_reg__
  70. 68
  71. 69 ; 0 "" 2
  72. 70 /* #NOAPP */
  73. 71 0056 8115 cp r24,__zero_reg__
  74. 72 0058 9840 sbci r25,8
  75. 73 005a 01F4 brne .L4
  76. 74 005c 8C81 ldd r24,Y+4
  77. 75 005e 8630 cpi r24,lo8(6)
  78. 76 0060 01F4 brne .L4
  79. 77 0062 8D81 ldd r24,Y+5
  80. 78 0064 8430 cpi r24,lo8(4)
  81. 79 0066 01F4 brne .L4
  82. 80 0068 D701 movw r26,r14
  83. 81 006a 1F96 adiw r26,15
  84. 82 006c ED91 ld r30,X+
  85. 83 006e FC91 ld r31,X
  86. 84 0070 5097 sbiw r26,15+1
  87. 85 0072 488D ldd r20,Y+24
  88. 86 0074 598D ldd r21,Y+25
  89. 87 0076 6A8D ldd r22,Y+26
  90. 88 0078 7B8D ldd r23,Y+27
  91. 89 007a 8385 ldd r24,Z+11
  92. 90 007c 9485 ldd r25,Z+12
  93. 91 007e A585 ldd r26,Z+13
  94. 92 0080 B685 ldd r27,Z+14
  95. 93 0082 4817 cp r20,r24
  96. 94 0084 5907 cpc r21,r25
  97. 95 0086 6A07 cpc r22,r26
  98. 96 0088 7B07 cpc r23,r27
  99. 97 008a 01F4 brne .L4
  100. 98 008c 6E01 movw r12,r28
  101. 99 008e B8E0 ldi r27,8
  102. 100 0090 CB0E add r12,r27
  103. 101 0092 D11C adc r13,__zero_reg__
  104. 102 0094 4E85 ldd r20,Y+14
  105. 103 0096 5F85 ldd r21,Y+15
  106. 104 0098 6889 ldd r22,Y+16
  107. 105 009a 7989 ldd r23,Y+17
  108. 106 009c 9601 movw r18,r12
  109. 107 009e C701 movw r24,r14
  110. 108 00a0 0E94 0000 call NutArpCacheUpdate
  111. 109 00a4 8E81 ldd r24,Y+6
  112. 110 00a6 9F81 ldd r25,Y+7
  113. 111 /* #APP */
  114. 112 ; 309 "../../nut/include/sys/types.h" 1
  115. 113 00a8 082E mov __tmp_reg__, r24
  116. 114 00aa 892F mov r24, r25
  117. GAS LISTING /tmp/ccY8hFpF.s page 3
  118. 115 00ac 902D mov r25, __tmp_reg__
  119. 116
  120. 117 ; 0 "" 2
  121. 118 /* #NOAPP */
  122. 119 00ae 0197 sbiw r24,1
  123. 120 00b0 01F0 breq .+2
  124. 121 00b2 00C0 rjmp .L4
  125. 122 00b4 4E85 ldd r20,Y+14
  126. 123 00b6 5F85 ldd r21,Y+15
  127. 124 00b8 6889 ldd r22,Y+16
  128. 125 00ba 7989 ldd r23,Y+17
  129. 126 00bc 9601 movw r18,r12
  130. 127 00be 82E0 ldi r24,lo8(2)
  131. 128 00c0 90E0 ldi r25,0
  132. 129 00c2 0E94 0000 call NutArpAllocNetBuf
  133. 130 00c6 EC01 movw r28,r24
  134. 131 00c8 0097 sbiw r24,0
  135. 132 00ca 01F4 brne .+2
  136. 133 00cc 00C0 rjmp .L4
  137. 134 00ce BC01 movw r22,r24
  138. 135 00d0 C701 movw r24,r14
  139. 136 00d2 0E94 0000 call NutArpOutput
  140. 137 00d6 892B or r24,r25
  141. 138 00d8 01F0 breq .+2
  142. 139 00da 00C0 rjmp .L4
  143. 140 00dc CE01 movw r24,r28
  144. 141 00de 0E94 0000 call NutNetBufFree
  145. 142 00e2 00C0 rjmp .L4
  146. 143 .size NutArpInput, .-NutArpInput
  147. 144 .ident "GCC: (GNU) 5.3.0"
  148. GAS LISTING /tmp/ccY8hFpF.s page 4
  149. DEFINED SYMBOLS
  150. *ABS*:0000000000000000 arpin.c
  151. /tmp/ccY8hFpF.s:2 *ABS*:000000000000003e __SP_H__
  152. /tmp/ccY8hFpF.s:3 *ABS*:000000000000003d __SP_L__
  153. /tmp/ccY8hFpF.s:4 *ABS*:000000000000003f __SREG__
  154. /tmp/ccY8hFpF.s:5 *ABS*:000000000000003b __RAMPZ__
  155. /tmp/ccY8hFpF.s:6 *ABS*:0000000000000000 __tmp_reg__
  156. /tmp/ccY8hFpF.s:7 *ABS*:0000000000000001 __zero_reg__
  157. /tmp/ccY8hFpF.s:11 .text.NutArpInput:0000000000000000 NutArpInput
  158. UNDEFINED SYMBOLS
  159. NutNetBufFree
  160. NutArpCacheUpdate
  161. NutArpAllocNetBuf
  162. NutArpOutput