ipdemux.lst 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. GAS LISTING /tmp/cczqG3P4.s page 1
  2. 1 .file "ipdemux.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.NutIpDemux,"ax",@progbits
  10. 9 .type NutIpDemux, @function
  11. 10 NutIpDemux:
  12. 11 0000 CF92 push r12
  13. 12 0002 DF92 push r13
  14. 13 0004 FF92 push r15
  15. 14 0006 0F93 push r16
  16. 15 0008 1F93 push r17
  17. 16 000a CF93 push r28
  18. 17 000c DF93 push r29
  19. 18 /* prologue: function */
  20. 19 /* frame size = 0 */
  21. 20 /* stack size = 7 */
  22. 21 .L__stack_usage = 7
  23. 22 000e 6C01 movw r12,r24
  24. 23 0010 8B01 movw r16,r22
  25. 24 0012 DB01 movw r26,r22
  26. 25 0014 1796 adiw r26,7
  27. 26 0016 ED91 ld r30,X+
  28. 27 0018 FC91 ld r31,X
  29. 28 001a 1897 sbiw r26,7+1
  30. 29 001c F184 ldd r15,Z+9
  31. 30 001e C091 0000 lds r28,in_prots
  32. 31 0022 D091 0000 lds r29,in_prots+1
  33. 32 .L2:
  34. 33 0026 2097 sbiw r28,0
  35. 34 0028 01F0 breq .L14
  36. 35 002a 8A81 ldd r24,Y+2
  37. 36 002c F816 cp r15,r24
  38. 37 002e 01F0 breq .L3
  39. 38 .L4:
  40. 39 0030 0990 ld __tmp_reg__,Y+
  41. 40 0032 D881 ld r29,Y
  42. 41 0034 C02D mov r28,__tmp_reg__
  43. 42 0036 00C0 rjmp .L2
  44. 43 .L3:
  45. 44 0038 EB81 ldd r30,Y+3
  46. 45 003a FC81 ldd r31,Y+4
  47. 46 003c 3097 sbiw r30,0
  48. 47 003e 01F0 breq .L4
  49. 48 0040 B801 movw r22,r16
  50. 49 0042 C601 movw r24,r12
  51. 50 0044 1995 eicall
  52. 51 0046 0097 sbiw r24,0
  53. 52 0048 01F4 brne .L4
  54. 53 004a 00C0 rjmp .L5
  55. 54 .L14:
  56. 55 004c 8FEF ldi r24,lo8(-1)
  57. 56 004e 9FEF ldi r25,lo8(-1)
  58. 57 .L5:
  59. GAS LISTING /tmp/cczqG3P4.s page 2
  60. 58 /* epilogue start */
  61. 59 0050 DF91 pop r29
  62. 60 0052 CF91 pop r28
  63. 61 0054 1F91 pop r17
  64. 62 0056 0F91 pop r16
  65. 63 0058 FF90 pop r15
  66. 64 005a DF90 pop r13
  67. 65 005c CF90 pop r12
  68. 66 005e 0895 ret
  69. 67 .size NutIpDemux, .-NutIpDemux
  70. 68 .section .text.NutRegisterIpHandler,"ax",@progbits
  71. 69 .global NutRegisterIpHandler
  72. 70 .type NutRegisterIpHandler, @function
  73. 71 NutRegisterIpHandler:
  74. 72 0000 EF92 push r14
  75. 73 0002 FF92 push r15
  76. 74 0004 1F93 push r17
  77. 75 0006 CF93 push r28
  78. 76 0008 DF93 push r29
  79. 77 /* prologue: function */
  80. 78 /* frame size = 0 */
  81. 79 /* stack size = 5 */
  82. 80 .L__stack_usage = 5
  83. 81 000a 182F mov r17,r24
  84. 82 000c 7B01 movw r14,r22
  85. 83 000e C091 0000 lds r28,in_prots
  86. 84 0012 D091 0000 lds r29,in_prots+1
  87. 85 0016 FE01 movw r30,r28
  88. 86 .L16:
  89. 87 0018 3097 sbiw r30,0
  90. 88 001a 01F0 breq .L27
  91. 89 001c 8281 ldd r24,Z+2
  92. 90 001e 8117 cp r24,r17
  93. 91 0020 01F0 breq .L17
  94. 92 0022 0190 ld __tmp_reg__,Z+
  95. 93 0024 F081 ld r31,Z
  96. 94 0026 E02D mov r30,__tmp_reg__
  97. 95 0028 00C0 rjmp .L16
  98. 96 .L27:
  99. 97 002a 65E0 ldi r22,lo8(5)
  100. 98 002c 70E0 ldi r23,0
  101. 99 002e 81E0 ldi r24,lo8(1)
  102. 100 0030 90E0 ldi r25,0
  103. 101 0032 0E94 0000 call calloc
  104. 102 0036 FC01 movw r30,r24
  105. 103 0038 892B or r24,r25
  106. 104 003a 01F0 breq .L28
  107. 105 003c 1283 std Z+2,r17
  108. 106 003e 2097 sbiw r28,0
  109. 107 0040 01F4 brne .L20
  110. 108 0042 F093 0000 sts in_prots+1,r31
  111. 109 0046 E093 0000 sts in_prots,r30
  112. 110 004a 80E0 ldi r24,lo8(gs(NutIpDemux))
  113. 111 004c 90E0 ldi r25,hi8(gs(NutIpDemux))
  114. 112 004e 9093 0000 sts ip_demux+1,r25
  115. 113 0052 8093 0000 sts ip_demux,r24
  116. 114 .L17:
  117. GAS LISTING /tmp/cczqG3P4.s page 3
  118. 115 0056 F482 std Z+4,r15
  119. 116 0058 E382 std Z+3,r14
  120. 117 005a 80E0 ldi r24,0
  121. 118 005c 90E0 ldi r25,0
  122. 119 005e 00C0 rjmp .L25
  123. 120 .L20:
  124. 121 0060 D183 std Z+1,r29
  125. 122 0062 C083 st Z,r28
  126. 123 0064 F093 0000 sts in_prots+1,r31
  127. 124 0068 E093 0000 sts in_prots,r30
  128. 125 006c 00C0 rjmp .L17
  129. 126 .L28:
  130. 127 006e 8FEF ldi r24,lo8(-1)
  131. 128 0070 9FEF ldi r25,lo8(-1)
  132. 129 .L25:
  133. 130 /* epilogue start */
  134. 131 0072 DF91 pop r29
  135. 132 0074 CF91 pop r28
  136. 133 0076 1F91 pop r17
  137. 134 0078 FF90 pop r15
  138. 135 007a EF90 pop r14
  139. 136 007c 0895 ret
  140. 137 .size NutRegisterIpHandler, .-NutRegisterIpHandler
  141. 138 .local in_prots
  142. 139 .comm in_prots,2,1
  143. 140 .ident "GCC: (GNU) 5.3.0"
  144. 141 .global __do_clear_bss
  145. GAS LISTING /tmp/cczqG3P4.s page 4
  146. DEFINED SYMBOLS
  147. *ABS*:0000000000000000 ipdemux.c
  148. /tmp/cczqG3P4.s:2 *ABS*:000000000000003e __SP_H__
  149. /tmp/cczqG3P4.s:3 *ABS*:000000000000003d __SP_L__
  150. /tmp/cczqG3P4.s:4 *ABS*:000000000000003f __SREG__
  151. /tmp/cczqG3P4.s:5 *ABS*:000000000000003b __RAMPZ__
  152. /tmp/cczqG3P4.s:6 *ABS*:0000000000000000 __tmp_reg__
  153. /tmp/cczqG3P4.s:7 *ABS*:0000000000000001 __zero_reg__
  154. /tmp/cczqG3P4.s:10 .text.NutIpDemux:0000000000000000 NutIpDemux
  155. .bss:0000000000000000 in_prots
  156. /tmp/cczqG3P4.s:71 .text.NutRegisterIpHandler:0000000000000000 NutRegisterIpHandler
  157. UNDEFINED SYMBOLS
  158. calloc
  159. ip_demux
  160. __do_clear_bss