papout.lst 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287
  1. GAS LISTING /tmp/ccbZu0uz.s page 1
  2. 1 .file "papout.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.NutPapOutput,"ax",@progbits
  10. 9 .global NutPapOutput
  11. 10 .type NutPapOutput, @function
  12. 11 NutPapOutput:
  13. 12 0000 EF92 push r14
  14. 13 0002 FF92 push r15
  15. 14 0004 0F93 push r16
  16. 15 0006 1F93 push r17
  17. 16 0008 CF93 push r28
  18. 17 000a DF93 push r29
  19. 18 /* prologue: function */
  20. 19 /* frame size = 0 */
  21. 20 /* stack size = 6 */
  22. 21 .L__stack_usage = 6
  23. 22 000c 8C01 movw r16,r24
  24. 23 000e E62E mov r14,r22
  25. 24 0010 F42E mov r15,r20
  26. 25 0012 C901 movw r24,r18
  27. 26 0014 44E0 ldi r20,lo8(4)
  28. 27 0016 50E0 ldi r21,0
  29. 28 0018 60E2 ldi r22,lo8(32)
  30. 29 001a 0E94 0000 call NutNetBufAlloc
  31. 30 001e EC01 movw r28,r24
  32. 31 0020 892B or r24,r25
  33. 32 0022 01F0 breq .L3
  34. 33 0024 EF81 ldd r30,Y+7
  35. 34 0026 F885 ldd r31,Y+8
  36. 35 0028 E082 st Z,r14
  37. 36 002a F182 std Z+1,r15
  38. 37 002c 2985 ldd r18,Y+9
  39. 38 002e 3A85 ldd r19,Y+10
  40. 39 0030 8D85 ldd r24,Y+13
  41. 40 0032 9E85 ldd r25,Y+14
  42. 41 0034 820F add r24,r18
  43. 42 0036 931F adc r25,r19
  44. 43 0038 2989 ldd r18,Y+17
  45. 44 003a 3A89 ldd r19,Y+18
  46. 45 003c 820F add r24,r18
  47. 46 003e 931F adc r25,r19
  48. 47 /* #APP */
  49. 48 ; 309 "../../nut/include/sys/types.h" 1
  50. 49 0040 082E mov __tmp_reg__, r24
  51. 50 0042 892F mov r24, r25
  52. 51 0044 902D mov r25, __tmp_reg__
  53. 52
  54. 53 ; 0 "" 2
  55. 54 /* #NOAPP */
  56. 55 0046 9383 std Z+3,r25
  57. 56 0048 8283 std Z+2,r24
  58. 57 004a 9E01 movw r18,r28
  59. GAS LISTING /tmp/ccbZu0uz.s page 2
  60. 58 004c 40E0 ldi r20,0
  61. 59 004e 50E0 ldi r21,0
  62. 60 0050 63E2 ldi r22,lo8(35)
  63. 61 0052 70EC ldi r23,lo8(-64)
  64. 62 0054 C801 movw r24,r16
  65. 63 0056 0E94 0000 call NutPppOutput
  66. 64 005a 8C01 movw r16,r24
  67. 65 005c 892B or r24,r25
  68. 66 005e 01F4 brne .L4
  69. 67 0060 CE01 movw r24,r28
  70. 68 0062 0E94 0000 call NutNetBufFree
  71. 69 0066 00C0 rjmp .L2
  72. 70 .L3:
  73. 71 0068 0FEF ldi r16,lo8(-1)
  74. 72 006a 1FEF ldi r17,lo8(-1)
  75. 73 006c 00C0 rjmp .L2
  76. 74 .L4:
  77. 75 006e 00E0 ldi r16,0
  78. 76 0070 10E0 ldi r17,0
  79. 77 .L2:
  80. 78 0072 C801 movw r24,r16
  81. 79 /* epilogue start */
  82. 80 0074 DF91 pop r29
  83. 81 0076 CF91 pop r28
  84. 82 0078 1F91 pop r17
  85. 83 007a 0F91 pop r16
  86. 84 007c FF90 pop r15
  87. 85 007e EF90 pop r14
  88. 86 0080 0895 ret
  89. 87 .size NutPapOutput, .-NutPapOutput
  90. 88 .section .text.PapTxAuthReq,"ax",@progbits
  91. 89 .global PapTxAuthReq
  92. 90 .type PapTxAuthReq, @function
  93. 91 PapTxAuthReq:
  94. 92 0000 AF92 push r10
  95. 93 0002 BF92 push r11
  96. 94 0004 CF92 push r12
  97. 95 0006 DF92 push r13
  98. 96 0008 EF92 push r14
  99. 97 000a FF92 push r15
  100. 98 000c 0F93 push r16
  101. 99 000e 1F93 push r17
  102. 100 0010 CF93 push r28
  103. 101 0012 DF93 push r29
  104. 102 /* prologue: function */
  105. 103 /* frame size = 0 */
  106. 104 /* stack size = 10 */
  107. 105 .L__stack_usage = 10
  108. 106 0014 7C01 movw r14,r24
  109. 107 0016 DC01 movw r26,r24
  110. 108 0018 5196 adiw r26,17
  111. 109 001a CD91 ld r28,X+
  112. 110 001c DC91 ld r29,X
  113. 111 001e 5297 sbiw r26,17+1
  114. 112 0020 ED8D ldd r30,Y+29
  115. 113 0022 FE8D ldd r31,Y+30
  116. 114 0024 3097 sbiw r30,0
  117. GAS LISTING /tmp/ccbZu0uz.s page 3
  118. 115 0026 01F0 breq .L14
  119. 116 0028 DF01 movw r26,r30
  120. 117 0:
  121. 118 002a 0D90 ld __tmp_reg__,X+
  122. 119 002c 0020 tst __tmp_reg__
  123. 120 002e 01F4 brne 0b
  124. 121 0030 AD01 movw r20,r26
  125. 122 0032 4E1B sub r20,r30
  126. 123 0034 5F0B sbc r21,r31
  127. 124 0036 4F5F subi r20,-1
  128. 125 0038 5F4F sbci r21,-1
  129. 126 003a 00C0 rjmp .L7
  130. 127 .L14:
  131. 128 003c 42E0 ldi r20,lo8(2)
  132. 129 003e 50E0 ldi r21,0
  133. 130 .L7:
  134. 131 0040 AF8D ldd r26,Y+31
  135. 132 0042 B8A1 ldd r27,Y+32
  136. 133 0044 1097 sbiw r26,0
  137. 134 0046 01F0 breq .L8
  138. 135 0048 FD01 movw r30,r26
  139. 136 0:
  140. 137 004a 0190 ld __tmp_reg__,Z+
  141. 138 004c 0020 tst __tmp_reg__
  142. 139 004e 01F4 brne 0b
  143. 140 0050 3197 sbiw r30,1
  144. 141 0052 EA1B sub r30,r26
  145. 142 0054 FB0B sbc r31,r27
  146. 143 0056 4E0F add r20,r30
  147. 144 0058 5F1F adc r21,r31
  148. 145 .L8:
  149. 146 005a 60E8 ldi r22,lo8(-128)
  150. 147 005c 80E0 ldi r24,0
  151. 148 005e 90E0 ldi r25,0
  152. 149 0060 0E94 0000 call NutNetBufAlloc
  153. 150 0064 8C01 movw r16,r24
  154. 151 0066 0097 sbiw r24,0
  155. 152 0068 01F4 brne .+2
  156. 153 006a 00C0 rjmp .L6
  157. 154 006c FC01 movw r30,r24
  158. 155 006e A784 ldd r10,Z+15
  159. 156 0070 B088 ldd r11,Z+16
  160. 157 0072 AD8D ldd r26,Y+29
  161. 158 0074 BE8D ldd r27,Y+30
  162. 159 0076 1097 sbiw r26,0
  163. 160 0078 01F0 breq .L15
  164. 161 007a FD01 movw r30,r26
  165. 162 0:
  166. 163 007c 0190 ld __tmp_reg__,Z+
  167. 164 007e 0020 tst __tmp_reg__
  168. 165 0080 01F4 brne 0b
  169. 166 0082 3197 sbiw r30,1
  170. 167 0084 EA1B sub r30,r26
  171. 168 0086 00C0 rjmp .L10
  172. 169 .L15:
  173. 170 0088 E0E0 ldi r30,0
  174. 171 .L10:
  175. GAS LISTING /tmp/ccbZu0uz.s page 4
  176. 172 008a D501 movw r26,r10
  177. 173 008c EC93 st X,r30
  178. 174 008e CE2E mov r12,r30
  179. 175 0090 0E2E mov __tmp_reg__,r30
  180. 176 0092 000C lsl r0
  181. 177 0094 DD08 sbc r13,r13
  182. 178 0096 EE23 tst r30
  183. 179 0098 01F0 breq .L11
  184. 180 009a 6D8D ldd r22,Y+29
  185. 181 009c 7E8D ldd r23,Y+30
  186. 182 009e A601 movw r20,r12
  187. 183 00a0 C501 movw r24,r10
  188. 184 00a2 0196 adiw r24,1
  189. 185 00a4 0E94 0000 call memcpy
  190. 186 .L11:
  191. 187 00a8 C601 movw r24,r12
  192. 188 00aa 0196 adiw r24,1
  193. 189 00ac 8A0D add r24,r10
  194. 190 00ae 9B1D adc r25,r11
  195. 191 00b0 AF8D ldd r26,Y+31
  196. 192 00b2 B8A1 ldd r27,Y+32
  197. 193 00b4 1097 sbiw r26,0
  198. 194 00b6 01F0 breq .L16
  199. 195 00b8 FD01 movw r30,r26
  200. 196 0:
  201. 197 00ba 0190 ld __tmp_reg__,Z+
  202. 198 00bc 0020 tst __tmp_reg__
  203. 199 00be 01F4 brne 0b
  204. 200 00c0 3197 sbiw r30,1
  205. 201 00c2 4E2F mov r20,r30
  206. 202 00c4 4A1B sub r20,r26
  207. 203 00c6 00C0 rjmp .L12
  208. 204 .L16:
  209. 205 00c8 40E0 ldi r20,0
  210. 206 .L12:
  211. 207 00ca FC01 movw r30,r24
  212. 208 00cc 4083 st Z,r20
  213. 209 00ce 4423 tst r20
  214. 210 00d0 01F0 breq .L13
  215. 211 00d2 042E mov __tmp_reg__,r20
  216. 212 00d4 000C lsl r0
  217. 213 00d6 550B sbc r21,r21
  218. 214 00d8 6F8D ldd r22,Y+31
  219. 215 00da 78A1 ldd r23,Y+32
  220. 216 00dc 0196 adiw r24,1
  221. 217 00de 0E94 0000 call memcpy
  222. 218 .L13:
  223. 219 00e2 83E0 ldi r24,lo8(3)
  224. 220 00e4 8EAF std Y+62,r24
  225. 221 00e6 4B81 ldd r20,Y+3
  226. 222 00e8 4F5F subi r20,lo8(-(1))
  227. 223 00ea 4B83 std Y+3,r20
  228. 224 00ec 9801 movw r18,r16
  229. 225 00ee 61E0 ldi r22,lo8(1)
  230. 226 00f0 C701 movw r24,r14
  231. 227 /* epilogue start */
  232. 228 00f2 DF91 pop r29
  233. GAS LISTING /tmp/ccbZu0uz.s page 5
  234. 229 00f4 CF91 pop r28
  235. 230 00f6 1F91 pop r17
  236. 231 00f8 0F91 pop r16
  237. 232 00fa FF90 pop r15
  238. 233 00fc EF90 pop r14
  239. 234 00fe DF90 pop r13
  240. 235 0100 CF90 pop r12
  241. 236 0102 BF90 pop r11
  242. 237 0104 AF90 pop r10
  243. 238 0106 0C94 0000 jmp NutPapOutput
  244. 239 .L6:
  245. 240 /* epilogue start */
  246. 241 010a DF91 pop r29
  247. 242 010c CF91 pop r28
  248. 243 010e 1F91 pop r17
  249. 244 0110 0F91 pop r16
  250. 245 0112 FF90 pop r15
  251. 246 0114 EF90 pop r14
  252. 247 0116 DF90 pop r13
  253. 248 0118 CF90 pop r12
  254. 249 011a BF90 pop r11
  255. 250 011c AF90 pop r10
  256. 251 011e 0895 ret
  257. 252 .size PapTxAuthReq, .-PapTxAuthReq
  258. 253 .ident "GCC: (GNU) 5.3.0"
  259. GAS LISTING /tmp/ccbZu0uz.s page 6
  260. DEFINED SYMBOLS
  261. *ABS*:0000000000000000 papout.c
  262. /tmp/ccbZu0uz.s:2 *ABS*:000000000000003e __SP_H__
  263. /tmp/ccbZu0uz.s:3 *ABS*:000000000000003d __SP_L__
  264. /tmp/ccbZu0uz.s:4 *ABS*:000000000000003f __SREG__
  265. /tmp/ccbZu0uz.s:5 *ABS*:000000000000003b __RAMPZ__
  266. /tmp/ccbZu0uz.s:6 *ABS*:0000000000000000 __tmp_reg__
  267. /tmp/ccbZu0uz.s:7 *ABS*:0000000000000001 __zero_reg__
  268. /tmp/ccbZu0uz.s:11 .text.NutPapOutput:0000000000000000 NutPapOutput
  269. /tmp/ccbZu0uz.s:91 .text.PapTxAuthReq:0000000000000000 PapTxAuthReq
  270. UNDEFINED SYMBOLS
  271. NutNetBufAlloc
  272. NutPppOutput
  273. NutNetBufFree
  274. memcpy