snmp_pdu.lst 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345
  1. GAS LISTING /tmp/ccC9o6d6.s page 1
  2. 1 .file "snmp_pdu.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.SnmpPduCreate,"ax",@progbits
  10. 9 .global SnmpPduCreate
  11. 10 .type SnmpPduCreate, @function
  12. 11 SnmpPduCreate:
  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 6B01 movw r12,r22
  27. 26 0014 8A01 movw r16,r20
  28. 27 0016 60E2 ldi r22,lo8(32)
  29. 28 0018 70E0 ldi r23,0
  30. 29 001a 81E0 ldi r24,lo8(1)
  31. 30 001c 90E0 ldi r25,0
  32. 31 001e 0E94 0000 call calloc
  33. 32 0022 EC01 movw r28,r24
  34. 33 0024 892B or r24,r25
  35. 34 0026 01F0 breq .L2
  36. 35 0028 F982 std Y+1,r15
  37. 36 002a E882 st Y,r14
  38. 37 002c 7801 movw r14,r16
  39. 38 002e EE0C lsl r14
  40. 39 0030 FF1C rol r15
  41. 40 0032 EE0C lsl r14
  42. 41 0034 FF1C rol r15
  43. 42 0036 C701 movw r24,r14
  44. 43 0038 0E94 0000 call malloc
  45. 44 003c 9F87 std Y+15,r25
  46. 45 003e 8E87 std Y+14,r24
  47. 46 0040 0097 sbiw r24,0
  48. 47 0042 01F0 breq .L3
  49. 48 0044 A701 movw r20,r14
  50. 49 0046 B601 movw r22,r12
  51. 50 0048 0E94 0000 call memcpy
  52. 51 004c 198B std Y+17,r17
  53. 52 004e 088B std Y+16,r16
  54. 53 0050 00C0 rjmp .L2
  55. 54 .L3:
  56. 55 0052 CE01 movw r24,r28
  57. 56 0054 0E94 0000 call free
  58. 57 0058 C0E0 ldi r28,0
  59. GAS LISTING /tmp/ccC9o6d6.s page 2
  60. 58 005a D0E0 ldi r29,0
  61. 59 .L2:
  62. 60 005c CE01 movw r24,r28
  63. 61 /* epilogue start */
  64. 62 005e DF91 pop r29
  65. 63 0060 CF91 pop r28
  66. 64 0062 1F91 pop r17
  67. 65 0064 0F91 pop r16
  68. 66 0066 FF90 pop r15
  69. 67 0068 EF90 pop r14
  70. 68 006a DF90 pop r13
  71. 69 006c CF90 pop r12
  72. 70 006e 0895 ret
  73. 71 .size SnmpPduCreate, .-SnmpPduCreate
  74. 72 .section .text.SnmpPduAddVariable,"ax",@progbits
  75. 73 .global SnmpPduAddVariable
  76. 74 .type SnmpPduAddVariable, @function
  77. 75 SnmpPduAddVariable:
  78. 76 0000 4F92 push r4
  79. 77 0002 5F92 push r5
  80. 78 0004 6F92 push r6
  81. 79 0006 7F92 push r7
  82. 80 0008 8F92 push r8
  83. 81 000a 9F92 push r9
  84. 82 000c AF92 push r10
  85. 83 000e BF92 push r11
  86. 84 0010 CF92 push r12
  87. 85 0012 DF92 push r13
  88. 86 0014 EF92 push r14
  89. 87 0016 FF92 push r15
  90. 88 0018 0F93 push r16
  91. 89 001a 1F93 push r17
  92. 90 001c CF93 push r28
  93. 91 001e DF93 push r29
  94. 92 0020 1F92 push __zero_reg__
  95. 93 0022 CDB7 in r28,__SP_L__
  96. 94 0024 DEB7 in r29,__SP_H__
  97. 95 /* prologue: function */
  98. 96 /* frame size = 1 */
  99. 97 /* stack size = 17 */
  100. 98 .L__stack_usage = 17
  101. 99 0026 6C01 movw r12,r24
  102. 100 0028 4B01 movw r8,r22
  103. 101 002a 5A01 movw r10,r20
  104. 102 002c 6FE0 ldi r22,lo8(15)
  105. 103 002e 70E0 ldi r23,0
  106. 104 0030 81E0 ldi r24,lo8(1)
  107. 105 0032 90E0 ldi r25,0
  108. 106 0034 2983 std Y+1,r18
  109. 107 0036 0E94 0000 call calloc
  110. 108 003a 2C01 movw r4,r24
  111. 109 003c 892B or r24,r25
  112. 110 003e 01F4 brne .+2
  113. 111 0040 00C0 rjmp .L20
  114. 112 0042 3501 movw r6,r10
  115. 113 0044 660C lsl r6
  116. 114 0046 771C rol r7
  117. GAS LISTING /tmp/ccC9o6d6.s page 3
  118. 115 0048 660C lsl r6
  119. 116 004a 771C rol r7
  120. 117 004c C301 movw r24,r6
  121. 118 004e 0E94 0000 call malloc
  122. 119 0052 D201 movw r26,r4
  123. 120 0054 1396 adiw r26,2+1
  124. 121 0056 9C93 st X,r25
  125. 122 0058 8E93 st -X,r24
  126. 123 005a 1297 sbiw r26,2
  127. 124 005c 2981 ldd r18,Y+1
  128. 125 005e 0097 sbiw r24,0
  129. 126 0060 01F4 brne .L10
  130. 127 0062 C201 movw r24,r4
  131. 128 0064 0E94 0000 call free
  132. 129 0068 00C0 rjmp .L20
  133. 130 .L10:
  134. 131 006a A301 movw r20,r6
  135. 132 006c B401 movw r22,r8
  136. 133 006e 2983 std Y+1,r18
  137. 134 0070 0E94 0000 call memcpy
  138. 135 0074 F201 movw r30,r4
  139. 136 0076 B582 std Z+5,r11
  140. 137 0078 A482 std Z+4,r10
  141. 138 007a 2981 ldd r18,Y+1
  142. 139 007c 2683 std Z+6,r18
  143. 140 007e 2434 cpi r18,lo8(68)
  144. 141 0080 00F4 brsh .L12
  145. 142 0082 2134 cpi r18,lo8(65)
  146. 143 0084 00F4 brsh .L13
  147. 144 0086 2230 cpi r18,lo8(2)
  148. 145 0088 01F4 brne .L11
  149. 146 008a 00C0 rjmp .L13
  150. 147 .L12:
  151. 148 008c 2734 cpi r18,lo8(71)
  152. 149 008e 01F4 brne .L11
  153. 150 .L13:
  154. 151 0090 E114 cp r14,__zero_reg__
  155. 152 0092 F104 cpc r15,__zero_reg__
  156. 153 0094 01F4 brne .L14
  157. 154 0096 84E0 ldi r24,lo8(4)
  158. 155 0098 E82E mov r14,r24
  159. 156 009a F12C mov r15,__zero_reg__
  160. 157 .L14:
  161. 158 009c C201 movw r24,r4
  162. 159 009e 0796 adiw r24,7
  163. 160 00a0 D201 movw r26,r4
  164. 161 00a2 1C96 adiw r26,11+1
  165. 162 00a4 9C93 st X,r25
  166. 163 00a6 8E93 st -X,r24
  167. 164 00a8 1B97 sbiw r26,11
  168. 165 00aa A701 movw r20,r14
  169. 166 00ac B801 movw r22,r16
  170. 167 00ae 0E94 0000 call memcpy
  171. 168 00b2 84E0 ldi r24,lo8(4)
  172. 169 00b4 90E0 ldi r25,0
  173. 170 00b6 F201 movw r30,r4
  174. 171 00b8 9687 std Z+14,r25
  175. GAS LISTING /tmp/ccC9o6d6.s page 4
  176. 172 00ba 8587 std Z+13,r24
  177. 173 00bc 00C0 rjmp .L15
  178. 174 .L11:
  179. 175 00be E114 cp r14,__zero_reg__
  180. 176 00c0 F104 cpc r15,__zero_reg__
  181. 177 00c2 01F0 breq .L15
  182. 178 00c4 C701 movw r24,r14
  183. 179 00c6 0E94 0000 call malloc
  184. 180 00ca D201 movw r26,r4
  185. 181 00cc 1C96 adiw r26,11+1
  186. 182 00ce 9C93 st X,r25
  187. 183 00d0 8E93 st -X,r24
  188. 184 00d2 1B97 sbiw r26,11
  189. 185 00d4 0097 sbiw r24,0
  190. 186 00d6 01F0 breq .L15
  191. 187 00d8 A701 movw r20,r14
  192. 188 00da B801 movw r22,r16
  193. 189 00dc 0E94 0000 call memcpy
  194. 190 00e0 F201 movw r30,r4
  195. 191 00e2 F686 std Z+14,r15
  196. 192 00e4 E586 std Z+13,r14
  197. 193 .L15:
  198. 194 00e6 D601 movw r26,r12
  199. 195 00e8 5E96 adiw r26,30
  200. 196 00ea ED91 ld r30,X+
  201. 197 00ec FC91 ld r31,X
  202. 198 00ee 5F97 sbiw r26,30+1
  203. 199 00f0 3097 sbiw r30,0
  204. 200 00f2 01F0 breq .L32
  205. 201 .L19:
  206. 202 00f4 8081 ld r24,Z
  207. 203 00f6 9181 ldd r25,Z+1
  208. 204 00f8 0097 sbiw r24,0
  209. 205 00fa 01F0 breq .L33
  210. 206 00fc FC01 movw r30,r24
  211. 207 00fe 00C0 rjmp .L19
  212. 208 .L33:
  213. 209 0100 5182 std Z+1,r5
  214. 210 0102 4082 st Z,r4
  215. 211 0104 00C0 rjmp .L31
  216. 212 .L32:
  217. 213 0106 F601 movw r30,r12
  218. 214 0108 578E std Z+31,r5
  219. 215 010a 468E std Z+30,r4
  220. 216 .L31:
  221. 217 010c 80E0 ldi r24,0
  222. 218 010e 90E0 ldi r25,0
  223. 219 0110 00C0 rjmp .L9
  224. 220 .L20:
  225. 221 0112 8FEF ldi r24,lo8(-1)
  226. 222 0114 9FEF ldi r25,lo8(-1)
  227. 223 .L9:
  228. 224 /* epilogue start */
  229. 225 0116 0F90 pop __tmp_reg__
  230. 226 0118 DF91 pop r29
  231. 227 011a CF91 pop r28
  232. 228 011c 1F91 pop r17
  233. GAS LISTING /tmp/ccC9o6d6.s page 5
  234. 229 011e 0F91 pop r16
  235. 230 0120 FF90 pop r15
  236. 231 0122 EF90 pop r14
  237. 232 0124 DF90 pop r13
  238. 233 0126 CF90 pop r12
  239. 234 0128 BF90 pop r11
  240. 235 012a AF90 pop r10
  241. 236 012c 9F90 pop r9
  242. 237 012e 8F90 pop r8
  243. 238 0130 7F90 pop r7
  244. 239 0132 6F90 pop r6
  245. 240 0134 5F90 pop r5
  246. 241 0136 4F90 pop r4
  247. 242 0138 0895 ret
  248. 243 .size SnmpPduAddVariable, .-SnmpPduAddVariable
  249. 244 .section .text.SnmpPduDestroy,"ax",@progbits
  250. 245 .global SnmpPduDestroy
  251. 246 .type SnmpPduDestroy, @function
  252. 247 SnmpPduDestroy:
  253. 248 0000 EF92 push r14
  254. 249 0002 FF92 push r15
  255. 250 0004 0F93 push r16
  256. 251 0006 1F93 push r17
  257. 252 0008 CF93 push r28
  258. 253 000a DF93 push r29
  259. 254 /* prologue: function */
  260. 255 /* frame size = 0 */
  261. 256 /* stack size = 6 */
  262. 257 .L__stack_usage = 6
  263. 258 000c 8C01 movw r16,r24
  264. 259 000e FC01 movw r30,r24
  265. 260 0010 C68D ldd r28,Z+30
  266. 261 0012 D78D ldd r29,Z+31
  267. 262 .L35:
  268. 263 0014 2097 sbiw r28,0
  269. 264 0016 01F0 breq .L49
  270. 265 0018 8A81 ldd r24,Y+2
  271. 266 001a 9B81 ldd r25,Y+3
  272. 267 001c 0097 sbiw r24,0
  273. 268 001e 01F0 breq .L36
  274. 269 0020 0E94 0000 call free
  275. 270 .L36:
  276. 271 0024 8B85 ldd r24,Y+11
  277. 272 0026 9C85 ldd r25,Y+12
  278. 273 0028 0097 sbiw r24,0
  279. 274 002a 01F0 breq .L37
  280. 275 002c 9E01 movw r18,r28
  281. 276 002e 295F subi r18,-7
  282. 277 0030 3F4F sbci r19,-1
  283. 278 0032 8217 cp r24,r18
  284. 279 0034 9307 cpc r25,r19
  285. 280 0036 01F0 breq .L37
  286. 281 0038 0E94 0000 call free
  287. 282 .L37:
  288. 283 003c E880 ld r14,Y
  289. 284 003e F980 ldd r15,Y+1
  290. 285 0040 CE01 movw r24,r28
  291. GAS LISTING /tmp/ccC9o6d6.s page 6
  292. 286 0042 0E94 0000 call free
  293. 287 0046 E701 movw r28,r14
  294. 288 0048 00C0 rjmp .L35
  295. 289 .L49:
  296. 290 004a F801 movw r30,r16
  297. 291 004c 8685 ldd r24,Z+14
  298. 292 004e 9785 ldd r25,Z+15
  299. 293 0050 0097 sbiw r24,0
  300. 294 0052 01F0 breq .L39
  301. 295 0054 0E94 0000 call free
  302. 296 .L39:
  303. 297 0058 C801 movw r24,r16
  304. 298 /* epilogue start */
  305. 299 005a DF91 pop r29
  306. 300 005c CF91 pop r28
  307. 301 005e 1F91 pop r17
  308. 302 0060 0F91 pop r16
  309. 303 0062 FF90 pop r15
  310. 304 0064 EF90 pop r14
  311. 305 0066 0C94 0000 jmp free
  312. 306 .size SnmpPduDestroy, .-SnmpPduDestroy
  313. 307 .ident "GCC: (GNU) 5.3.0"
  314. GAS LISTING /tmp/ccC9o6d6.s page 7
  315. DEFINED SYMBOLS
  316. *ABS*:0000000000000000 snmp_pdu.c
  317. /tmp/ccC9o6d6.s:2 *ABS*:000000000000003e __SP_H__
  318. /tmp/ccC9o6d6.s:3 *ABS*:000000000000003d __SP_L__
  319. /tmp/ccC9o6d6.s:4 *ABS*:000000000000003f __SREG__
  320. /tmp/ccC9o6d6.s:5 *ABS*:000000000000003b __RAMPZ__
  321. /tmp/ccC9o6d6.s:6 *ABS*:0000000000000000 __tmp_reg__
  322. /tmp/ccC9o6d6.s:7 *ABS*:0000000000000001 __zero_reg__
  323. /tmp/ccC9o6d6.s:11 .text.SnmpPduCreate:0000000000000000 SnmpPduCreate
  324. /tmp/ccC9o6d6.s:75 .text.SnmpPduAddVariable:0000000000000000 SnmpPduAddVariable
  325. /tmp/ccC9o6d6.s:247 .text.SnmpPduDestroy:0000000000000000 SnmpPduDestroy
  326. UNDEFINED SYMBOLS
  327. calloc
  328. malloc
  329. memcpy
  330. free