asn1.lst 91 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735
  1. GAS LISTING /tmp/ccAnO6a9.s page 1
  2. 1 .file "asn1.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.AsnLenParse,"ax",@progbits
  10. 9 .type AsnLenParse, @function
  11. 10 AsnLenParse:
  12. 11 0000 0F93 push r16
  13. 12 0002 1F93 push r17
  14. 13 /* prologue: function */
  15. 14 /* frame size = 0 */
  16. 15 /* stack size = 2 */
  17. 16 .L__stack_usage = 2
  18. 17 0004 DC01 movw r26,r24
  19. 18 0006 FB01 movw r30,r22
  20. 19 0008 0196 adiw r24,1
  21. 20 000a 4C91 ld r20,X
  22. 21 000c 47FF sbrs r20,7
  23. 22 000e 00C0 rjmp .L2
  24. 23 0010 4F77 andi r20,lo8(127)
  25. 24 0012 2FEF ldi r18,lo8(-1)
  26. 25 0014 240F add r18,r20
  27. 26 0016 2430 cpi r18,lo8(4)
  28. 27 0018 00F4 brsh .L6
  29. 28 001a 1082 st Z,__zero_reg__
  30. 29 001c 1182 std Z+1,__zero_reg__
  31. 30 001e 1282 std Z+2,__zero_reg__
  32. 31 0020 1382 std Z+3,__zero_reg__
  33. 32 0022 DC01 movw r26,r24
  34. 33 0024 542F mov r21,r20
  35. 34 .L4:
  36. 35 0026 5150 subi r21,1
  37. 36 0028 00F0 brcs .L8
  38. 37 002a 0081 ld r16,Z
  39. 38 002c 1181 ldd r17,Z+1
  40. 39 002e 2281 ldd r18,Z+2
  41. 40 0030 3381 ldd r19,Z+3
  42. 41 0032 322F mov r19,r18
  43. 42 0034 212F mov r18,r17
  44. 43 0036 102F mov r17,r16
  45. 44 0038 0027 clr r16
  46. 45 003a 0083 st Z,r16
  47. 46 003c 1183 std Z+1,r17
  48. 47 003e 2283 std Z+2,r18
  49. 48 0040 3383 std Z+3,r19
  50. 49 0042 6D91 ld r22,X+
  51. 50 0044 062B or r16,r22
  52. 51 0046 0083 st Z,r16
  53. 52 0048 1183 std Z+1,r17
  54. 53 004a 2283 std Z+2,r18
  55. 54 004c 3383 std Z+3,r19
  56. 55 004e 00C0 rjmp .L4
  57. 56 .L8:
  58. 57 0050 840F add r24,r20
  59. GAS LISTING /tmp/ccAnO6a9.s page 2
  60. 58 0052 911D adc r25,__zero_reg__
  61. 59 0054 00C0 rjmp .L3
  62. 60 .L2:
  63. 61 0056 50E0 ldi r21,0
  64. 62 0058 60E0 ldi r22,0
  65. 63 005a 70E0 ldi r23,0
  66. 64 005c 4083 st Z,r20
  67. 65 005e 5183 std Z+1,r21
  68. 66 0060 6283 std Z+2,r22
  69. 67 0062 7383 std Z+3,r23
  70. 68 0064 00C0 rjmp .L3
  71. 69 .L6:
  72. 70 0066 80E0 ldi r24,0
  73. 71 0068 90E0 ldi r25,0
  74. 72 .L3:
  75. 73 /* epilogue start */
  76. 74 006a 1F91 pop r17
  77. 75 006c 0F91 pop r16
  78. 76 006e 0895 ret
  79. 77 .size AsnLenParse, .-AsnLenParse
  80. 78 .section .text.AsnHeaderParse,"ax",@progbits
  81. 79 .global AsnHeaderParse
  82. 80 .type AsnHeaderParse, @function
  83. 81 AsnHeaderParse:
  84. 82 0000 8F92 push r8
  85. 83 0002 9F92 push r9
  86. 84 0004 AF92 push r10
  87. 85 0006 BF92 push r11
  88. 86 0008 CF92 push r12
  89. 87 000a DF92 push r13
  90. 88 000c EF92 push r14
  91. 89 000e FF92 push r15
  92. 90 0010 0F93 push r16
  93. 91 0012 1F93 push r17
  94. 92 0014 CF93 push r28
  95. 93 0016 DF93 push r29
  96. 94 0018 00D0 rcall .
  97. 95 001a 1F92 push __zero_reg__
  98. 96 001c CDB7 in r28,__SP_L__
  99. 97 001e DEB7 in r29,__SP_H__
  100. 98 /* prologue: function */
  101. 99 /* frame size = 4 */
  102. 100 /* stack size = 16 */
  103. 101 .L__stack_usage = 16
  104. 102 0020 7C01 movw r14,r24
  105. 103 0022 8B01 movw r16,r22
  106. 104 0024 FB01 movw r30,r22
  107. 105 0026 8081 ld r24,Z
  108. 106 0028 9181 ldd r25,Z+1
  109. 107 002a 892B or r24,r25
  110. 108 002c 01F4 brne .L10
  111. 109 .L12:
  112. 110 002e 80E0 ldi r24,0
  113. 111 0030 90E0 ldi r25,0
  114. 112 0032 00C0 rjmp .L11
  115. 113 .L10:
  116. 114 0034 F701 movw r30,r14
  117. GAS LISTING /tmp/ccAnO6a9.s page 3
  118. 115 0036 8081 ld r24,Z
  119. 116 0038 FA01 movw r30,r20
  120. 117 003a 8083 st Z,r24
  121. 118 003c 8F71 andi r24,lo8(31)
  122. 119 003e 8F31 cpi r24,lo8(31)
  123. 120 0040 01F0 breq .L12
  124. 121 0042 BE01 movw r22,r28
  125. 122 0044 6F5F subi r22,-1
  126. 123 0046 7F4F sbci r23,-1
  127. 124 0048 C701 movw r24,r14
  128. 125 004a 0196 adiw r24,1
  129. 126 004c 0E94 0000 call AsnLenParse
  130. 127 0050 0097 sbiw r24,0
  131. 128 0052 01F0 breq .L12
  132. 129 0054 8980 ldd r8,Y+1
  133. 130 0056 9A80 ldd r9,Y+2
  134. 131 0058 AB80 ldd r10,Y+3
  135. 132 005a BC80 ldd r11,Y+4
  136. 133 005c 9C01 movw r18,r24
  137. 134 005e 2E19 sub r18,r14
  138. 135 0060 3F09 sbc r19,r15
  139. 136 0062 7501 movw r14,r10
  140. 137 0064 6401 movw r12,r8
  141. 138 0066 C20E add r12,r18
  142. 139 0068 D31E adc r13,r19
  143. 140 006a E11C adc r14,__zero_reg__
  144. 141 006c F11C adc r15,__zero_reg__
  145. 142 006e F801 movw r30,r16
  146. 143 0070 4081 ld r20,Z
  147. 144 0072 5181 ldd r21,Z+1
  148. 145 0074 60E0 ldi r22,0
  149. 146 0076 70E0 ldi r23,0
  150. 147 0078 4C15 cp r20,r12
  151. 148 007a 5D05 cpc r21,r13
  152. 149 007c 6E05 cpc r22,r14
  153. 150 007e 7F05 cpc r23,r15
  154. 151 0080 00F0 brlo .L12
  155. 152 0082 9182 std Z+1,r9
  156. 153 0084 8082 st Z,r8
  157. 154 .L11:
  158. 155 /* epilogue start */
  159. 156 0086 0F90 pop __tmp_reg__
  160. 157 0088 0F90 pop __tmp_reg__
  161. 158 008a 0F90 pop __tmp_reg__
  162. 159 008c 0F90 pop __tmp_reg__
  163. 160 008e DF91 pop r29
  164. 161 0090 CF91 pop r28
  165. 162 0092 1F91 pop r17
  166. 163 0094 0F91 pop r16
  167. 164 0096 FF90 pop r15
  168. 165 0098 EF90 pop r14
  169. 166 009a DF90 pop r13
  170. 167 009c CF90 pop r12
  171. 168 009e BF90 pop r11
  172. 169 00a0 AF90 pop r10
  173. 170 00a2 9F90 pop r9
  174. 171 00a4 8F90 pop r8
  175. GAS LISTING /tmp/ccAnO6a9.s page 4
  176. 172 00a6 0895 ret
  177. 173 .size AsnHeaderParse, .-AsnHeaderParse
  178. 174 .section .text.AsnHeaderBuild,"ax",@progbits
  179. 175 .global AsnHeaderBuild
  180. 176 .type AsnHeaderBuild, @function
  181. 177 AsnHeaderBuild:
  182. 178 /* prologue: function */
  183. 179 /* frame size = 0 */
  184. 180 /* stack size = 0 */
  185. 181 .L__stack_usage = 0
  186. 182 0000 FC01 movw r30,r24
  187. 183 0002 DB01 movw r26,r22
  188. 184 0004 8D91 ld r24,X+
  189. 185 0006 9C91 ld r25,X
  190. 186 0008 1197 sbiw r26,1
  191. 187 000a 892B or r24,r25
  192. 188 000c 01F4 brne .L20
  193. 189 .L23:
  194. 190 000e 80E0 ldi r24,0
  195. 191 0010 90E0 ldi r25,0
  196. 192 0012 0895 ret
  197. 193 .L20:
  198. 194 0014 4083 st Z,r20
  199. 195 0016 8D91 ld r24,X+
  200. 196 0018 9C91 ld r25,X
  201. 197 001a 1197 sbiw r26,1
  202. 198 001c AC01 movw r20,r24
  203. 199 001e 4150 subi r20,1
  204. 200 0020 5109 sbc r21,__zero_reg__
  205. 201 0022 1196 adiw r26,1
  206. 202 0024 5C93 st X,r21
  207. 203 0026 4E93 st -X,r20
  208. 204 0028 2038 cpi r18,-128
  209. 205 002a 3105 cpc r19,__zero_reg__
  210. 206 002c 00F4 brsh .L22
  211. 207 002e 452B or r20,r21
  212. 208 0030 01F0 breq .L23
  213. 209 0032 0297 sbiw r24,2
  214. 210 0034 8D93 st X+,r24
  215. 211 0036 9C93 st X,r25
  216. 212 0038 2183 std Z+1,r18
  217. 213 003a CF01 movw r24,r30
  218. 214 003c 0296 adiw r24,2
  219. 215 003e 0895 ret
  220. 216 .L22:
  221. 217 0040 2F3F cpi r18,-1
  222. 218 0042 3105 cpc r19,__zero_reg__
  223. 219 0044 01F0 breq .+2
  224. 220 0046 00F4 brsh .L24
  225. 221 0048 4230 cpi r20,2
  226. 222 004a 5105 cpc r21,__zero_reg__
  227. 223 004c 00F0 brlo .L23
  228. 224 004e 0397 sbiw r24,3
  229. 225 0050 8D93 st X+,r24
  230. 226 0052 9C93 st X,r25
  231. 227 0054 81E8 ldi r24,lo8(-127)
  232. 228 0056 8183 std Z+1,r24
  233. GAS LISTING /tmp/ccAnO6a9.s page 5
  234. 229 0058 2283 std Z+2,r18
  235. 230 005a CF01 movw r24,r30
  236. 231 005c 0396 adiw r24,3
  237. 232 005e 0895 ret
  238. 233 .L24:
  239. 234 0060 4330 cpi r20,3
  240. 235 0062 5105 cpc r21,__zero_reg__
  241. 236 0064 00F0 brlo .L23
  242. 237 0066 0497 sbiw r24,4
  243. 238 0068 8D93 st X+,r24
  244. 239 006a 9C93 st X,r25
  245. 240 006c 82E8 ldi r24,lo8(-126)
  246. 241 006e 8183 std Z+1,r24
  247. 242 0070 3283 std Z+2,r19
  248. 243 0072 2383 std Z+3,r18
  249. 244 0074 CF01 movw r24,r30
  250. 245 0076 0496 adiw r24,4
  251. 246 0078 0895 ret
  252. 247 .size AsnHeaderBuild, .-AsnHeaderBuild
  253. 248 .section .text.AsnSequenceParse,"ax",@progbits
  254. 249 .global AsnSequenceParse
  255. 250 .type AsnSequenceParse, @function
  256. 251 AsnSequenceParse:
  257. 252 0000 1F93 push r17
  258. 253 0002 CF93 push r28
  259. 254 0004 DF93 push r29
  260. 255 0006 1F92 push __zero_reg__
  261. 256 0008 CDB7 in r28,__SP_L__
  262. 257 000a DEB7 in r29,__SP_H__
  263. 258 /* prologue: function */
  264. 259 /* frame size = 1 */
  265. 260 /* stack size = 4 */
  266. 261 .L__stack_usage = 4
  267. 262 000c 142F mov r17,r20
  268. 263 000e AE01 movw r20,r28
  269. 264 0010 4F5F subi r20,-1
  270. 265 0012 5F4F sbci r21,-1
  271. 266 0014 0E94 0000 call AsnHeaderParse
  272. 267 0018 0097 sbiw r24,0
  273. 268 001a 01F0 breq .L29
  274. 269 001c 2981 ldd r18,Y+1
  275. 270 001e 2117 cp r18,r17
  276. 271 0020 01F0 breq .L29
  277. 272 0022 80E0 ldi r24,0
  278. 273 0024 90E0 ldi r25,0
  279. 274 .L29:
  280. 275 /* epilogue start */
  281. 276 0026 0F90 pop __tmp_reg__
  282. 277 0028 DF91 pop r29
  283. 278 002a CF91 pop r28
  284. 279 002c 1F91 pop r17
  285. 280 002e 0895 ret
  286. 281 .size AsnSequenceParse, .-AsnSequenceParse
  287. 282 .section .text.AsnSequenceBuild,"ax",@progbits
  288. 283 .global AsnSequenceBuild
  289. 284 .type AsnSequenceBuild, @function
  290. 285 AsnSequenceBuild:
  291. GAS LISTING /tmp/ccAnO6a9.s page 6
  292. 286 /* prologue: function */
  293. 287 /* frame size = 0 */
  294. 288 /* stack size = 0 */
  295. 289 .L__stack_usage = 0
  296. 290 0000 FC01 movw r30,r24
  297. 291 0002 DB01 movw r26,r22
  298. 292 0004 8D91 ld r24,X+
  299. 293 0006 9C91 ld r25,X
  300. 294 0008 1197 sbiw r26,1
  301. 295 000a 8430 cpi r24,4
  302. 296 000c 9105 cpc r25,__zero_reg__
  303. 297 000e 00F0 brlo .L36
  304. 298 0010 0497 sbiw r24,4
  305. 299 0012 8D93 st X+,r24
  306. 300 0014 9C93 st X,r25
  307. 301 0016 4083 st Z,r20
  308. 302 0018 82E8 ldi r24,lo8(-126)
  309. 303 001a 8183 std Z+1,r24
  310. 304 001c 3283 std Z+2,r19
  311. 305 001e 2383 std Z+3,r18
  312. 306 0020 CF01 movw r24,r30
  313. 307 0022 0496 adiw r24,4
  314. 308 0024 0895 ret
  315. 309 .L36:
  316. 310 0026 80E0 ldi r24,0
  317. 311 0028 90E0 ldi r25,0
  318. 312 002a 0895 ret
  319. 313 .size AsnSequenceBuild, .-AsnSequenceBuild
  320. 314 .section .text.AsnIntegerParse,"ax",@progbits
  321. 315 .global AsnIntegerParse
  322. 316 .type AsnIntegerParse, @function
  323. 317 AsnIntegerParse:
  324. 318 0000 4F92 push r4
  325. 319 0002 5F92 push r5
  326. 320 0004 6F92 push r6
  327. 321 0006 7F92 push r7
  328. 322 0008 8F92 push r8
  329. 323 000a 9F92 push r9
  330. 324 000c AF92 push r10
  331. 325 000e BF92 push r11
  332. 326 0010 CF92 push r12
  333. 327 0012 DF92 push r13
  334. 328 0014 EF92 push r14
  335. 329 0016 FF92 push r15
  336. 330 0018 0F93 push r16
  337. 331 001a 1F93 push r17
  338. 332 001c CF93 push r28
  339. 333 001e DF93 push r29
  340. 334 0020 00D0 rcall .
  341. 335 0022 1F92 push __zero_reg__
  342. 336 0024 CDB7 in r28,__SP_L__
  343. 337 0026 DEB7 in r29,__SP_H__
  344. 338 /* prologue: function */
  345. 339 /* frame size = 4 */
  346. 340 /* stack size = 20 */
  347. 341 .L__stack_usage = 20
  348. 342 0028 6C01 movw r12,r24
  349. GAS LISTING /tmp/ccAnO6a9.s page 7
  350. 343 002a 7B01 movw r14,r22
  351. 344 002c 8901 movw r16,r18
  352. 345 002e DC01 movw r26,r24
  353. 346 0030 8C91 ld r24,X
  354. 347 0032 FA01 movw r30,r20
  355. 348 0034 8083 st Z,r24
  356. 349 0036 BE01 movw r22,r28
  357. 350 0038 6F5F subi r22,-1
  358. 351 003a 7F4F sbci r23,-1
  359. 352 003c C601 movw r24,r12
  360. 353 003e 0196 adiw r24,1
  361. 354 0040 0E94 0000 call AsnLenParse
  362. 355 0044 0097 sbiw r24,0
  363. 356 0046 01F4 brne .+2
  364. 357 0048 00C0 rjmp .L45
  365. 358 004a 4981 ldd r20,Y+1
  366. 359 004c 5A81 ldd r21,Y+2
  367. 360 004e 6B81 ldd r22,Y+3
  368. 361 0050 7C81 ldd r23,Y+4
  369. 362 0052 4530 cpi r20,5
  370. 363 0054 5105 cpc r21,__zero_reg__
  371. 364 0056 6105 cpc r22,__zero_reg__
  372. 365 0058 7105 cpc r23,__zero_reg__
  373. 366 005a 00F0 brlo .+2
  374. 367 005c 00C0 rjmp .L45
  375. 368 005e FC01 movw r30,r24
  376. 369 0060 EC19 sub r30,r12
  377. 370 0062 FD09 sbc r31,r13
  378. 371 0064 D701 movw r26,r14
  379. 372 0066 2D91 ld r18,X+
  380. 373 0068 3C91 ld r19,X
  381. 374 006a 1197 sbiw r26,1
  382. 375 006c 4F01 movw r8,r30
  383. 376 006e 0F2E mov __tmp_reg__,r31
  384. 377 0070 000C lsl r0
  385. 378 0072 AA08 sbc r10,r10
  386. 379 0074 BB08 sbc r11,r11
  387. 380 0076 840E add r8,r20
  388. 381 0078 951E adc r9,r21
  389. 382 007a A61E adc r10,r22
  390. 383 007c B71E adc r11,r23
  391. 384 007e 2901 movw r4,r18
  392. 385 0080 612C mov r6,__zero_reg__
  393. 386 0082 712C mov r7,__zero_reg__
  394. 387 0084 4814 cp r4,r8
  395. 388 0086 5904 cpc r5,r9
  396. 389 0088 6A04 cpc r6,r10
  397. 390 008a 7B04 cpc r7,r11
  398. 391 008c 00F4 brsh .+2
  399. 392 008e 00C0 rjmp .L45
  400. 393 0090 241B sub r18,r20
  401. 394 0092 350B sbc r19,r21
  402. 395 0094 2E1B sub r18,r30
  403. 396 0096 3F0B sbc r19,r31
  404. 397 0098 2D93 st X+,r18
  405. 398 009a 3C93 st X,r19
  406. 399 009c FC01 movw r30,r24
  407. GAS LISTING /tmp/ccAnO6a9.s page 8
  408. 400 009e 2081 ld r18,Z
  409. 401 00a0 27FF sbrs r18,7
  410. 402 00a2 00C0 rjmp .L39
  411. 403 00a4 4FEF ldi r20,lo8(-1)
  412. 404 00a6 5FEF ldi r21,lo8(-1)
  413. 405 00a8 BA01 movw r22,r20
  414. 406 00aa D801 movw r26,r16
  415. 407 00ac 4D93 st X+,r20
  416. 408 00ae 5D93 st X+,r21
  417. 409 00b0 6D93 st X+,r22
  418. 410 00b2 7C93 st X,r23
  419. 411 00b4 1397 sbiw r26,3
  420. 412 00b6 00C0 rjmp .L40
  421. 413 .L39:
  422. 414 00b8 F801 movw r30,r16
  423. 415 00ba 1082 st Z,__zero_reg__
  424. 416 00bc 1182 std Z+1,__zero_reg__
  425. 417 00be 1282 std Z+2,__zero_reg__
  426. 418 00c0 1382 std Z+3,__zero_reg__
  427. 419 .L40:
  428. 420 00c2 AC01 movw r20,r24
  429. 421 .L41:
  430. 422 00c4 BA01 movw r22,r20
  431. 423 00c6 8981 ldd r24,Y+1
  432. 424 00c8 9A81 ldd r25,Y+2
  433. 425 00ca AB81 ldd r26,Y+3
  434. 426 00cc BC81 ldd r27,Y+4
  435. 427 00ce 6C01 movw r12,r24
  436. 428 00d0 7D01 movw r14,r26
  437. 429 00d2 F1E0 ldi r31,1
  438. 430 00d4 CF1A sub r12,r31
  439. 431 00d6 D108 sbc r13,__zero_reg__
  440. 432 00d8 E108 sbc r14,__zero_reg__
  441. 433 00da F108 sbc r15,__zero_reg__
  442. 434 00dc C982 std Y+1,r12
  443. 435 00de DA82 std Y+2,r13
  444. 436 00e0 EB82 std Y+3,r14
  445. 437 00e2 FC82 std Y+4,r15
  446. 438 00e4 892B or r24,r25
  447. 439 00e6 8A2B or r24,r26
  448. 440 00e8 8B2B or r24,r27
  449. 441 00ea 01F0 breq .L46
  450. 442 00ec F801 movw r30,r16
  451. 443 00ee 8081 ld r24,Z
  452. 444 00f0 9181 ldd r25,Z+1
  453. 445 00f2 A281 ldd r26,Z+2
  454. 446 00f4 B381 ldd r27,Z+3
  455. 447 00f6 BA2F mov r27,r26
  456. 448 00f8 A92F mov r26,r25
  457. 449 00fa 982F mov r25,r24
  458. 450 00fc 8827 clr r24
  459. 451 00fe 8083 st Z,r24
  460. 452 0100 9183 std Z+1,r25
  461. 453 0102 A283 std Z+2,r26
  462. 454 0104 B383 std Z+3,r27
  463. 455 0106 4F5F subi r20,-1
  464. 456 0108 5F4F sbci r21,-1
  465. GAS LISTING /tmp/ccAnO6a9.s page 9
  466. 457 010a FB01 movw r30,r22
  467. 458 010c 2081 ld r18,Z
  468. 459 010e 822B or r24,r18
  469. 460 0110 F801 movw r30,r16
  470. 461 0112 8083 st Z,r24
  471. 462 0114 9183 std Z+1,r25
  472. 463 0116 A283 std Z+2,r26
  473. 464 0118 B383 std Z+3,r27
  474. 465 011a 00C0 rjmp .L41
  475. 466 .L46:
  476. 467 011c CA01 movw r24,r20
  477. 468 011e 00C0 rjmp .L38
  478. 469 .L45:
  479. 470 0120 80E0 ldi r24,0
  480. 471 0122 90E0 ldi r25,0
  481. 472 .L38:
  482. 473 /* epilogue start */
  483. 474 0124 0F90 pop __tmp_reg__
  484. 475 0126 0F90 pop __tmp_reg__
  485. 476 0128 0F90 pop __tmp_reg__
  486. 477 012a 0F90 pop __tmp_reg__
  487. 478 012c DF91 pop r29
  488. 479 012e CF91 pop r28
  489. 480 0130 1F91 pop r17
  490. 481 0132 0F91 pop r16
  491. 482 0134 FF90 pop r15
  492. 483 0136 EF90 pop r14
  493. 484 0138 DF90 pop r13
  494. 485 013a CF90 pop r12
  495. 486 013c BF90 pop r11
  496. 487 013e AF90 pop r10
  497. 488 0140 9F90 pop r9
  498. 489 0142 8F90 pop r8
  499. 490 0144 7F90 pop r7
  500. 491 0146 6F90 pop r6
  501. 492 0148 5F90 pop r5
  502. 493 014a 4F90 pop r4
  503. 494 014c 0895 ret
  504. 495 .size AsnIntegerParse, .-AsnIntegerParse
  505. 496 .section .text.AsnIntegerBuild,"ax",@progbits
  506. 497 .global AsnIntegerBuild
  507. 498 .type AsnIntegerBuild, @function
  508. 499 AsnIntegerBuild:
  509. 500 0000 8F92 push r8
  510. 501 0002 9F92 push r9
  511. 502 0004 AF92 push r10
  512. 503 0006 BF92 push r11
  513. 504 0008 CF92 push r12
  514. 505 000a DF92 push r13
  515. 506 000c EF92 push r14
  516. 507 000e FF92 push r15
  517. 508 0010 0F93 push r16
  518. 509 0012 1F93 push r17
  519. 510 0014 CF93 push r28
  520. 511 0016 DF93 push r29
  521. 512 /* prologue: function */
  522. 513 /* frame size = 0 */
  523. GAS LISTING /tmp/ccAnO6a9.s page 10
  524. 514 /* stack size = 12 */
  525. 515 .L__stack_usage = 12
  526. 516 0018 8B01 movw r16,r22
  527. 517 001a F901 movw r30,r18
  528. 518 001c C080 ld r12,Z
  529. 519 001e D180 ldd r13,Z+1
  530. 520 0020 E280 ldd r14,Z+2
  531. 521 0022 F380 ldd r15,Z+3
  532. 522 0024 C4E0 ldi r28,lo8(4)
  533. 523 0026 D0E0 ldi r29,0
  534. 524 .L48:
  535. 525 0028 4601 movw r8,r12
  536. 526 002a 5701 movw r10,r14
  537. 527 002c 8824 clr r8
  538. 528 002e 9924 clr r9
  539. 529 0030 F0E8 ldi r31,128
  540. 530 0032 AF22 and r10,r31
  541. 531 0034 8114 cp r8,__zero_reg__
  542. 532 0036 9104 cpc r9,__zero_reg__
  543. 533 0038 A104 cpc r10,__zero_reg__
  544. 534 003a B104 cpc r11,__zero_reg__
  545. 535 003c 01F0 breq .L49
  546. 536 003e 8114 cp r8,__zero_reg__
  547. 537 0040 9104 cpc r9,__zero_reg__
  548. 538 0042 20E8 ldi r18,-128
  549. 539 0044 A206 cpc r10,r18
  550. 540 0046 2FEF ldi r18,-1
  551. 541 0048 B206 cpc r11,r18
  552. 542 004a 01F4 brne .L50
  553. 543 .L49:
  554. 544 004c 2197 sbiw r28,1
  555. 545 004e 01F0 breq .L60
  556. 546 0050 FE2C mov r15,r14
  557. 547 0052 ED2C mov r14,r13
  558. 548 0054 DC2C mov r13,r12
  559. 549 0056 CC24 clr r12
  560. 550 0058 00C0 rjmp .L48
  561. 551 .L60:
  562. 552 005a C1E0 ldi r28,lo8(1)
  563. 553 005c D0E0 ldi r29,0
  564. 554 .L50:
  565. 555 005e 9E01 movw r18,r28
  566. 556 0060 B801 movw r22,r16
  567. 557 0062 0E94 0000 call AsnHeaderBuild
  568. 558 0066 0097 sbiw r24,0
  569. 559 0068 01F0 breq .L56
  570. 560 006a F801 movw r30,r16
  571. 561 006c 2081 ld r18,Z
  572. 562 006e 3181 ldd r19,Z+1
  573. 563 0070 2C17 cp r18,r28
  574. 564 0072 3D07 cpc r19,r29
  575. 565 0074 00F0 brlo .L56
  576. 566 0076 2C1B sub r18,r28
  577. 567 0078 3D0B sbc r19,r29
  578. 568 007a 3183 std Z+1,r19
  579. 569 007c 2083 st Z,r18
  580. 570 007e FC01 movw r30,r24
  581. GAS LISTING /tmp/ccAnO6a9.s page 11
  582. 571 0080 8C0F add r24,r28
  583. 572 0082 9D1F adc r25,r29
  584. 573 .L53:
  585. 574 0084 E817 cp r30,r24
  586. 575 0086 F907 cpc r31,r25
  587. 576 0088 01F0 breq .L52
  588. 577 008a F192 st Z+,r15
  589. 578 008c FE2C mov r15,r14
  590. 579 008e ED2C mov r14,r13
  591. 580 0090 DC2C mov r13,r12
  592. 581 0092 CC24 clr r12
  593. 582 0094 00C0 rjmp .L53
  594. 583 .L56:
  595. 584 0096 80E0 ldi r24,0
  596. 585 0098 90E0 ldi r25,0
  597. 586 .L52:
  598. 587 /* epilogue start */
  599. 588 009a DF91 pop r29
  600. 589 009c CF91 pop r28
  601. 590 009e 1F91 pop r17
  602. 591 00a0 0F91 pop r16
  603. 592 00a2 FF90 pop r15
  604. 593 00a4 EF90 pop r14
  605. 594 00a6 DF90 pop r13
  606. 595 00a8 CF90 pop r12
  607. 596 00aa BF90 pop r11
  608. 597 00ac AF90 pop r10
  609. 598 00ae 9F90 pop r9
  610. 599 00b0 8F90 pop r8
  611. 600 00b2 0895 ret
  612. 601 .size AsnIntegerBuild, .-AsnIntegerBuild
  613. 602 .section .text.AsnUnsignedParse,"ax",@progbits
  614. 603 .global AsnUnsignedParse
  615. 604 .type AsnUnsignedParse, @function
  616. 605 AsnUnsignedParse:
  617. 606 0000 2F92 push r2
  618. 607 0002 3F92 push r3
  619. 608 0004 4F92 push r4
  620. 609 0006 5F92 push r5
  621. 610 0008 6F92 push r6
  622. 611 000a 7F92 push r7
  623. 612 000c 8F92 push r8
  624. 613 000e 9F92 push r9
  625. 614 0010 AF92 push r10
  626. 615 0012 BF92 push r11
  627. 616 0014 CF92 push r12
  628. 617 0016 DF92 push r13
  629. 618 0018 EF92 push r14
  630. 619 001a FF92 push r15
  631. 620 001c 0F93 push r16
  632. 621 001e 1F93 push r17
  633. 622 0020 CF93 push r28
  634. 623 0022 DF93 push r29
  635. 624 0024 00D0 rcall .
  636. 625 0026 1F92 push __zero_reg__
  637. 626 0028 CDB7 in r28,__SP_L__
  638. 627 002a DEB7 in r29,__SP_H__
  639. GAS LISTING /tmp/ccAnO6a9.s page 12
  640. 628 /* prologue: function */
  641. 629 /* frame size = 4 */
  642. 630 /* stack size = 22 */
  643. 631 .L__stack_usage = 22
  644. 632 002c 4C01 movw r8,r24
  645. 633 002e 1B01 movw r2,r22
  646. 634 0030 8901 movw r16,r18
  647. 635 0032 FC01 movw r30,r24
  648. 636 0034 8081 ld r24,Z
  649. 637 0036 FA01 movw r30,r20
  650. 638 0038 8083 st Z,r24
  651. 639 003a BE01 movw r22,r28
  652. 640 003c 6F5F subi r22,-1
  653. 641 003e 7F4F sbci r23,-1
  654. 642 0040 C401 movw r24,r8
  655. 643 0042 0196 adiw r24,1
  656. 644 0044 0E94 0000 call AsnLenParse
  657. 645 0048 0097 sbiw r24,0
  658. 646 004a 01F4 brne .+2
  659. 647 004c 00C0 rjmp .L71
  660. 648 004e C980 ldd r12,Y+1
  661. 649 0050 DA80 ldd r13,Y+2
  662. 650 0052 EB80 ldd r14,Y+3
  663. 651 0054 FC80 ldd r15,Y+4
  664. 652 0056 F6E0 ldi r31,6
  665. 653 0058 CF16 cp r12,r31
  666. 654 005a D104 cpc r13,__zero_reg__
  667. 655 005c E104 cpc r14,__zero_reg__
  668. 656 005e F104 cpc r15,__zero_reg__
  669. 657 0060 00F0 brlo .+2
  670. 658 0062 00C0 rjmp .L71
  671. 659 0064 25E0 ldi r18,5
  672. 660 0066 C216 cp r12,r18
  673. 661 0068 D104 cpc r13,__zero_reg__
  674. 662 006a E104 cpc r14,__zero_reg__
  675. 663 006c F104 cpc r15,__zero_reg__
  676. 664 006e 01F4 brne .L63
  677. 665 0070 FC01 movw r30,r24
  678. 666 0072 2081 ld r18,Z
  679. 667 0074 2111 cpse r18,__zero_reg__
  680. 668 0076 00C0 rjmp .L71
  681. 669 .L63:
  682. 670 0078 AC01 movw r20,r24
  683. 671 007a 4819 sub r20,r8
  684. 672 007c 5909 sbc r21,r9
  685. 673 007e F101 movw r30,r2
  686. 674 0080 2081 ld r18,Z
  687. 675 0082 3181 ldd r19,Z+1
  688. 676 0084 2A01 movw r4,r20
  689. 677 0086 052E mov __tmp_reg__,r21
  690. 678 0088 000C lsl r0
  691. 679 008a 6608 sbc r6,r6
  692. 680 008c 7708 sbc r7,r7
  693. 681 008e 4C0C add r4,r12
  694. 682 0090 5D1C adc r5,r13
  695. 683 0092 6E1C adc r6,r14
  696. 684 0094 7F1C adc r7,r15
  697. GAS LISTING /tmp/ccAnO6a9.s page 13
  698. 685 0096 4901 movw r8,r18
  699. 686 0098 A12C mov r10,__zero_reg__
  700. 687 009a B12C mov r11,__zero_reg__
  701. 688 009c 8414 cp r8,r4
  702. 689 009e 9504 cpc r9,r5
  703. 690 00a0 A604 cpc r10,r6
  704. 691 00a2 B704 cpc r11,r7
  705. 692 00a4 00F4 brsh .+2
  706. 693 00a6 00C0 rjmp .L71
  707. 694 00a8 C40E add r12,r20
  708. 695 00aa D51E adc r13,r21
  709. 696 00ac 2C19 sub r18,r12
  710. 697 00ae 3D09 sbc r19,r13
  711. 698 00b0 3183 std Z+1,r19
  712. 699 00b2 2083 st Z,r18
  713. 700 00b4 FC01 movw r30,r24
  714. 701 00b6 2081 ld r18,Z
  715. 702 00b8 27FF sbrs r18,7
  716. 703 00ba 00C0 rjmp .L64
  717. 704 00bc 4FEF ldi r20,lo8(-1)
  718. 705 00be 5FEF ldi r21,lo8(-1)
  719. 706 00c0 BA01 movw r22,r20
  720. 707 00c2 F801 movw r30,r16
  721. 708 00c4 4083 st Z,r20
  722. 709 00c6 5183 std Z+1,r21
  723. 710 00c8 6283 std Z+2,r22
  724. 711 00ca 7383 std Z+3,r23
  725. 712 00cc 00C0 rjmp .L65
  726. 713 .L64:
  727. 714 00ce F801 movw r30,r16
  728. 715 00d0 1082 st Z,__zero_reg__
  729. 716 00d2 1182 std Z+1,__zero_reg__
  730. 717 00d4 1282 std Z+2,__zero_reg__
  731. 718 00d6 1382 std Z+3,__zero_reg__
  732. 719 .L65:
  733. 720 00d8 AC01 movw r20,r24
  734. 721 .L66:
  735. 722 00da BA01 movw r22,r20
  736. 723 00dc 8981 ldd r24,Y+1
  737. 724 00de 9A81 ldd r25,Y+2
  738. 725 00e0 AB81 ldd r26,Y+3
  739. 726 00e2 BC81 ldd r27,Y+4
  740. 727 00e4 6C01 movw r12,r24
  741. 728 00e6 7D01 movw r14,r26
  742. 729 00e8 F1E0 ldi r31,1
  743. 730 00ea CF1A sub r12,r31
  744. 731 00ec D108 sbc r13,__zero_reg__
  745. 732 00ee E108 sbc r14,__zero_reg__
  746. 733 00f0 F108 sbc r15,__zero_reg__
  747. 734 00f2 C982 std Y+1,r12
  748. 735 00f4 DA82 std Y+2,r13
  749. 736 00f6 EB82 std Y+3,r14
  750. 737 00f8 FC82 std Y+4,r15
  751. 738 00fa 892B or r24,r25
  752. 739 00fc 8A2B or r24,r26
  753. 740 00fe 8B2B or r24,r27
  754. 741 0100 01F0 breq .L72
  755. GAS LISTING /tmp/ccAnO6a9.s page 14
  756. 742 0102 F801 movw r30,r16
  757. 743 0104 8081 ld r24,Z
  758. 744 0106 9181 ldd r25,Z+1
  759. 745 0108 A281 ldd r26,Z+2
  760. 746 010a B381 ldd r27,Z+3
  761. 747 010c BA2F mov r27,r26
  762. 748 010e A92F mov r26,r25
  763. 749 0110 982F mov r25,r24
  764. 750 0112 8827 clr r24
  765. 751 0114 8083 st Z,r24
  766. 752 0116 9183 std Z+1,r25
  767. 753 0118 A283 std Z+2,r26
  768. 754 011a B383 std Z+3,r27
  769. 755 011c 4F5F subi r20,-1
  770. 756 011e 5F4F sbci r21,-1
  771. 757 0120 FB01 movw r30,r22
  772. 758 0122 2081 ld r18,Z
  773. 759 0124 822B or r24,r18
  774. 760 0126 F801 movw r30,r16
  775. 761 0128 8083 st Z,r24
  776. 762 012a 9183 std Z+1,r25
  777. 763 012c A283 std Z+2,r26
  778. 764 012e B383 std Z+3,r27
  779. 765 0130 00C0 rjmp .L66
  780. 766 .L72:
  781. 767 0132 CA01 movw r24,r20
  782. 768 0134 00C0 rjmp .L62
  783. 769 .L71:
  784. 770 0136 80E0 ldi r24,0
  785. 771 0138 90E0 ldi r25,0
  786. 772 .L62:
  787. 773 /* epilogue start */
  788. 774 013a 0F90 pop __tmp_reg__
  789. 775 013c 0F90 pop __tmp_reg__
  790. 776 013e 0F90 pop __tmp_reg__
  791. 777 0140 0F90 pop __tmp_reg__
  792. 778 0142 DF91 pop r29
  793. 779 0144 CF91 pop r28
  794. 780 0146 1F91 pop r17
  795. 781 0148 0F91 pop r16
  796. 782 014a FF90 pop r15
  797. 783 014c EF90 pop r14
  798. 784 014e DF90 pop r13
  799. 785 0150 CF90 pop r12
  800. 786 0152 BF90 pop r11
  801. 787 0154 AF90 pop r10
  802. 788 0156 9F90 pop r9
  803. 789 0158 8F90 pop r8
  804. 790 015a 7F90 pop r7
  805. 791 015c 6F90 pop r6
  806. 792 015e 5F90 pop r5
  807. 793 0160 4F90 pop r4
  808. 794 0162 3F90 pop r3
  809. 795 0164 2F90 pop r2
  810. 796 0166 0895 ret
  811. 797 .size AsnUnsignedParse, .-AsnUnsignedParse
  812. 798 .section .text.AsnUnsignedBuild,"ax",@progbits
  813. GAS LISTING /tmp/ccAnO6a9.s page 15
  814. 799 .global AsnUnsignedBuild
  815. 800 .type AsnUnsignedBuild, @function
  816. 801 AsnUnsignedBuild:
  817. 802 0000 AF92 push r10
  818. 803 0002 BF92 push r11
  819. 804 0004 CF92 push r12
  820. 805 0006 DF92 push r13
  821. 806 0008 EF92 push r14
  822. 807 000a FF92 push r15
  823. 808 000c 0F93 push r16
  824. 809 000e 1F93 push r17
  825. 810 0010 CF93 push r28
  826. 811 0012 DF93 push r29
  827. 812 /* prologue: function */
  828. 813 /* frame size = 0 */
  829. 814 /* stack size = 10 */
  830. 815 .L__stack_usage = 10
  831. 816 0014 5B01 movw r10,r22
  832. 817 0016 F901 movw r30,r18
  833. 818 0018 C080 ld r12,Z
  834. 819 001a D180 ldd r13,Z+1
  835. 820 001c E280 ldd r14,Z+2
  836. 821 001e F380 ldd r15,Z+3
  837. 822 0020 F7FC sbrc r15,7
  838. 823 0022 00C0 rjmp .L82
  839. 824 0024 C4E0 ldi r28,lo8(4)
  840. 825 0026 D0E0 ldi r29,0
  841. 826 .L75:
  842. 827 0028 9701 movw r18,r14
  843. 828 002a 8601 movw r16,r12
  844. 829 002c 0027 clr r16
  845. 830 002e 1127 clr r17
  846. 831 0030 2078 andi r18,128
  847. 832 0032 0115 cp r16,__zero_reg__
  848. 833 0034 1105 cpc r17,__zero_reg__
  849. 834 0036 2105 cpc r18,__zero_reg__
  850. 835 0038 3105 cpc r19,__zero_reg__
  851. 836 003a 01F0 breq .L76
  852. 837 003c 0115 cp r16,__zero_reg__
  853. 838 003e 1105 cpc r17,__zero_reg__
  854. 839 0040 2048 sbci r18,-128
  855. 840 0042 3F4F sbci r19,-1
  856. 841 0044 01F4 brne .L83
  857. 842 .L76:
  858. 843 0046 2197 sbiw r28,1
  859. 844 0048 01F0 breq .L92
  860. 845 004a FE2C mov r15,r14
  861. 846 004c ED2C mov r14,r13
  862. 847 004e DC2C mov r13,r12
  863. 848 0050 CC24 clr r12
  864. 849 0052 00C0 rjmp .L75
  865. 850 .L92:
  866. 851 0054 C1E0 ldi r28,lo8(1)
  867. 852 0056 D0E0 ldi r29,0
  868. 853 0058 00C0 rjmp .L83
  869. 854 .L82:
  870. 855 005a C5E0 ldi r28,lo8(5)
  871. GAS LISTING /tmp/ccAnO6a9.s page 16
  872. 856 005c D0E0 ldi r29,0
  873. 857 005e 01E0 ldi r16,lo8(1)
  874. 858 0060 10E0 ldi r17,0
  875. 859 0062 00C0 rjmp .L74
  876. 860 .L83:
  877. 861 0064 00E0 ldi r16,0
  878. 862 0066 10E0 ldi r17,0
  879. 863 .L74:
  880. 864 0068 9E01 movw r18,r28
  881. 865 006a B501 movw r22,r10
  882. 866 006c 0E94 0000 call AsnHeaderBuild
  883. 867 0070 0097 sbiw r24,0
  884. 868 0072 01F0 breq .L85
  885. 869 0074 F501 movw r30,r10
  886. 870 0076 2081 ld r18,Z
  887. 871 0078 3181 ldd r19,Z+1
  888. 872 007a 2C17 cp r18,r28
  889. 873 007c 3D07 cpc r19,r29
  890. 874 007e 00F0 brlo .L85
  891. 875 0080 2C1B sub r18,r28
  892. 876 0082 3D0B sbc r19,r29
  893. 877 0084 3183 std Z+1,r19
  894. 878 0086 2083 st Z,r18
  895. 879 0088 012B or r16,r17
  896. 880 008a 01F0 breq .L79
  897. 881 008c FC01 movw r30,r24
  898. 882 008e 1082 st Z,__zero_reg__
  899. 883 0090 2197 sbiw r28,1
  900. 884 0092 0196 adiw r24,1
  901. 885 .L79:
  902. 886 0094 FC01 movw r30,r24
  903. 887 0096 8C0F add r24,r28
  904. 888 0098 9D1F adc r25,r29
  905. 889 .L80:
  906. 890 009a 8E17 cp r24,r30
  907. 891 009c 9F07 cpc r25,r31
  908. 892 009e 01F0 breq .L78
  909. 893 00a0 F192 st Z+,r15
  910. 894 00a2 FE2C mov r15,r14
  911. 895 00a4 ED2C mov r14,r13
  912. 896 00a6 DC2C mov r13,r12
  913. 897 00a8 CC24 clr r12
  914. 898 00aa 00C0 rjmp .L80
  915. 899 .L85:
  916. 900 00ac 80E0 ldi r24,0
  917. 901 00ae 90E0 ldi r25,0
  918. 902 .L78:
  919. 903 /* epilogue start */
  920. 904 00b0 DF91 pop r29
  921. 905 00b2 CF91 pop r28
  922. 906 00b4 1F91 pop r17
  923. 907 00b6 0F91 pop r16
  924. 908 00b8 FF90 pop r15
  925. 909 00ba EF90 pop r14
  926. 910 00bc DF90 pop r13
  927. 911 00be CF90 pop r12
  928. 912 00c0 BF90 pop r11
  929. GAS LISTING /tmp/ccAnO6a9.s page 17
  930. 913 00c2 AF90 pop r10
  931. 914 00c4 0895 ret
  932. 915 .size AsnUnsignedBuild, .-AsnUnsignedBuild
  933. 916 .section .text.AsnOctetStringParse,"ax",@progbits
  934. 917 .global AsnOctetStringParse
  935. 918 .type AsnOctetStringParse, @function
  936. 919 AsnOctetStringParse:
  937. 920 0000 4F92 push r4
  938. 921 0002 5F92 push r5
  939. 922 0004 6F92 push r6
  940. 923 0006 7F92 push r7
  941. 924 0008 8F92 push r8
  942. 925 000a 9F92 push r9
  943. 926 000c AF92 push r10
  944. 927 000e BF92 push r11
  945. 928 0010 CF92 push r12
  946. 929 0012 DF92 push r13
  947. 930 0014 EF92 push r14
  948. 931 0016 FF92 push r15
  949. 932 0018 0F93 push r16
  950. 933 001a 1F93 push r17
  951. 934 001c CF93 push r28
  952. 935 001e DF93 push r29
  953. 936 0020 00D0 rcall .
  954. 937 0022 1F92 push __zero_reg__
  955. 938 0024 CDB7 in r28,__SP_L__
  956. 939 0026 DEB7 in r29,__SP_H__
  957. 940 /* prologue: function */
  958. 941 /* frame size = 4 */
  959. 942 /* stack size = 20 */
  960. 943 .L__stack_usage = 20
  961. 944 0028 5C01 movw r10,r24
  962. 945 002a 6B01 movw r12,r22
  963. 946 002c 4901 movw r8,r18
  964. 947 002e FC01 movw r30,r24
  965. 948 0030 8081 ld r24,Z
  966. 949 0032 FA01 movw r30,r20
  967. 950 0034 8083 st Z,r24
  968. 951 0036 BE01 movw r22,r28
  969. 952 0038 6F5F subi r22,-1
  970. 953 003a 7F4F sbci r23,-1
  971. 954 003c C501 movw r24,r10
  972. 955 003e 0196 adiw r24,1
  973. 956 0040 0E94 0000 call AsnLenParse
  974. 957 0044 7C01 movw r14,r24
  975. 958 0046 892B or r24,r25
  976. 959 0048 01F0 breq .L98
  977. 960 004a 4980 ldd r4,Y+1
  978. 961 004c 5A80 ldd r5,Y+2
  979. 962 004e 6B80 ldd r6,Y+3
  980. 963 0050 7C80 ldd r7,Y+4
  981. 964 0052 F801 movw r30,r16
  982. 965 0054 8081 ld r24,Z
  983. 966 0056 9181 ldd r25,Z+1
  984. 967 0058 A0E0 ldi r26,0
  985. 968 005a B0E0 ldi r27,0
  986. 969 005c 8415 cp r24,r4
  987. GAS LISTING /tmp/ccAnO6a9.s page 18
  988. 970 005e 9505 cpc r25,r5
  989. 971 0060 A605 cpc r26,r6
  990. 972 0062 B705 cpc r27,r7
  991. 973 0064 00F0 brlo .L98
  992. 974 0066 C701 movw r24,r14
  993. 975 0068 8A19 sub r24,r10
  994. 976 006a 9B09 sbc r25,r11
  995. 977 006c 5C01 movw r10,r24
  996. 978 006e AC01 movw r20,r24
  997. 979 0070 990F lsl r25
  998. 980 0072 660B sbc r22,r22
  999. 981 0074 770B sbc r23,r23
  1000. 982 0076 440D add r20,r4
  1001. 983 0078 551D adc r21,r5
  1002. 984 007a 661D adc r22,r6
  1003. 985 007c 771D adc r23,r7
  1004. 986 007e F601 movw r30,r12
  1005. 987 0080 8081 ld r24,Z
  1006. 988 0082 9181 ldd r25,Z+1
  1007. 989 0084 A0E0 ldi r26,0
  1008. 990 0086 B0E0 ldi r27,0
  1009. 991 0088 8417 cp r24,r20
  1010. 992 008a 9507 cpc r25,r21
  1011. 993 008c A607 cpc r26,r22
  1012. 994 008e B707 cpc r27,r23
  1013. 995 0090 00F0 brlo .L98
  1014. 996 0092 4114 cp r4,__zero_reg__
  1015. 997 0094 5104 cpc r5,__zero_reg__
  1016. 998 0096 6104 cpc r6,__zero_reg__
  1017. 999 0098 7104 cpc r7,__zero_reg__
  1018. 1000 009a 01F0 breq .L95
  1019. 1001 009c A201 movw r20,r4
  1020. 1002 009e B701 movw r22,r14
  1021. 1003 00a0 C401 movw r24,r8
  1022. 1004 00a2 0E94 0000 call memcpy
  1023. 1005 00a6 F801 movw r30,r16
  1024. 1006 00a8 5182 std Z+1,r5
  1025. 1007 00aa 4082 st Z,r4
  1026. 1008 .L95:
  1027. 1009 00ac F601 movw r30,r12
  1028. 1010 00ae 8081 ld r24,Z
  1029. 1011 00b0 9181 ldd r25,Z+1
  1030. 1012 00b2 8419 sub r24,r4
  1031. 1013 00b4 9509 sbc r25,r5
  1032. 1014 00b6 8A19 sub r24,r10
  1033. 1015 00b8 9B09 sbc r25,r11
  1034. 1016 00ba 9183 std Z+1,r25
  1035. 1017 00bc 8083 st Z,r24
  1036. 1018 00be C701 movw r24,r14
  1037. 1019 00c0 840D add r24,r4
  1038. 1020 00c2 951D adc r25,r5
  1039. 1021 00c4 00C0 rjmp .L94
  1040. 1022 .L98:
  1041. 1023 00c6 80E0 ldi r24,0
  1042. 1024 00c8 90E0 ldi r25,0
  1043. 1025 .L94:
  1044. 1026 /* epilogue start */
  1045. GAS LISTING /tmp/ccAnO6a9.s page 19
  1046. 1027 00ca 0F90 pop __tmp_reg__
  1047. 1028 00cc 0F90 pop __tmp_reg__
  1048. 1029 00ce 0F90 pop __tmp_reg__
  1049. 1030 00d0 0F90 pop __tmp_reg__
  1050. 1031 00d2 DF91 pop r29
  1051. 1032 00d4 CF91 pop r28
  1052. 1033 00d6 1F91 pop r17
  1053. 1034 00d8 0F91 pop r16
  1054. 1035 00da FF90 pop r15
  1055. 1036 00dc EF90 pop r14
  1056. 1037 00de DF90 pop r13
  1057. 1038 00e0 CF90 pop r12
  1058. 1039 00e2 BF90 pop r11
  1059. 1040 00e4 AF90 pop r10
  1060. 1041 00e6 9F90 pop r9
  1061. 1042 00e8 8F90 pop r8
  1062. 1043 00ea 7F90 pop r7
  1063. 1044 00ec 6F90 pop r6
  1064. 1045 00ee 5F90 pop r5
  1065. 1046 00f0 4F90 pop r4
  1066. 1047 00f2 0895 ret
  1067. 1048 .size AsnOctetStringParse, .-AsnOctetStringParse
  1068. 1049 .section .text.AsnOctetStringBuild,"ax",@progbits
  1069. 1050 .global AsnOctetStringBuild
  1070. 1051 .type AsnOctetStringBuild, @function
  1071. 1052 AsnOctetStringBuild:
  1072. 1053 0000 CF92 push r12
  1073. 1054 0002 DF92 push r13
  1074. 1055 0004 EF92 push r14
  1075. 1056 0006 FF92 push r15
  1076. 1057 0008 0F93 push r16
  1077. 1058 000a 1F93 push r17
  1078. 1059 000c CF93 push r28
  1079. 1060 000e DF93 push r29
  1080. 1061 /* prologue: function */
  1081. 1062 /* frame size = 0 */
  1082. 1063 /* stack size = 8 */
  1083. 1064 .L__stack_usage = 8
  1084. 1065 0010 6B01 movw r12,r22
  1085. 1066 0012 7901 movw r14,r18
  1086. 1067 0014 9801 movw r18,r16
  1087. 1068 0016 0E94 0000 call AsnHeaderBuild
  1088. 1069 001a EC01 movw r28,r24
  1089. 1070 001c 0097 sbiw r24,0
  1090. 1071 001e 01F0 breq .L108
  1091. 1072 0020 0115 cp r16,__zero_reg__
  1092. 1073 0022 1105 cpc r17,__zero_reg__
  1093. 1074 0024 01F0 breq .L103
  1094. 1075 0026 F601 movw r30,r12
  1095. 1076 0028 8081 ld r24,Z
  1096. 1077 002a 9181 ldd r25,Z+1
  1097. 1078 002c 8017 cp r24,r16
  1098. 1079 002e 9107 cpc r25,r17
  1099. 1080 0030 00F0 brlo .L108
  1100. 1081 0032 801B sub r24,r16
  1101. 1082 0034 910B sbc r25,r17
  1102. 1083 0036 9183 std Z+1,r25
  1103. GAS LISTING /tmp/ccAnO6a9.s page 20
  1104. 1084 0038 8083 st Z,r24
  1105. 1085 003a A801 movw r20,r16
  1106. 1086 003c E114 cp r14,__zero_reg__
  1107. 1087 003e F104 cpc r15,__zero_reg__
  1108. 1088 0040 01F0 breq .L104
  1109. 1089 0042 B701 movw r22,r14
  1110. 1090 0044 CE01 movw r24,r28
  1111. 1091 0046 0E94 0000 call memcpy
  1112. 1092 004a 00C0 rjmp .L105
  1113. 1093 .L104:
  1114. 1094 004c 60E0 ldi r22,0
  1115. 1095 004e 70E0 ldi r23,0
  1116. 1096 0050 CE01 movw r24,r28
  1117. 1097 0052 0E94 0000 call memset
  1118. 1098 .L105:
  1119. 1099 0056 CE01 movw r24,r28
  1120. 1100 0058 800F add r24,r16
  1121. 1101 005a 911F adc r25,r17
  1122. 1102 005c 00C0 rjmp .L103
  1123. 1103 .L108:
  1124. 1104 005e 80E0 ldi r24,0
  1125. 1105 0060 90E0 ldi r25,0
  1126. 1106 .L103:
  1127. 1107 /* epilogue start */
  1128. 1108 0062 DF91 pop r29
  1129. 1109 0064 CF91 pop r28
  1130. 1110 0066 1F91 pop r17
  1131. 1111 0068 0F91 pop r16
  1132. 1112 006a FF90 pop r15
  1133. 1113 006c EF90 pop r14
  1134. 1114 006e DF90 pop r13
  1135. 1115 0070 CF90 pop r12
  1136. 1116 0072 0895 ret
  1137. 1117 .size AsnOctetStringBuild, .-AsnOctetStringBuild
  1138. 1118 .section .text.AsnOidParse,"ax",@progbits
  1139. 1119 .global AsnOidParse
  1140. 1120 .type AsnOidParse, @function
  1141. 1121 AsnOidParse:
  1142. 1122 0000 2F92 push r2
  1143. 1123 0002 3F92 push r3
  1144. 1124 0004 4F92 push r4
  1145. 1125 0006 5F92 push r5
  1146. 1126 0008 6F92 push r6
  1147. 1127 000a 7F92 push r7
  1148. 1128 000c 8F92 push r8
  1149. 1129 000e 9F92 push r9
  1150. 1130 0010 AF92 push r10
  1151. 1131 0012 BF92 push r11
  1152. 1132 0014 CF92 push r12
  1153. 1133 0016 DF92 push r13
  1154. 1134 0018 EF92 push r14
  1155. 1135 001a FF92 push r15
  1156. 1136 001c 0F93 push r16
  1157. 1137 001e 1F93 push r17
  1158. 1138 0020 CF93 push r28
  1159. 1139 0022 DF93 push r29
  1160. 1140 0024 00D0 rcall .
  1161. GAS LISTING /tmp/ccAnO6a9.s page 21
  1162. 1141 0026 00D0 rcall .
  1163. 1142 0028 CDB7 in r28,__SP_L__
  1164. 1143 002a DEB7 in r29,__SP_H__
  1165. 1144 /* prologue: function */
  1166. 1145 /* frame size = 6 */
  1167. 1146 /* stack size = 24 */
  1168. 1147 .L__stack_usage = 24
  1169. 1148 002c 3C01 movw r6,r24
  1170. 1149 002e 7E83 std Y+6,r23
  1171. 1150 0030 6D83 std Y+5,r22
  1172. 1151 0032 5901 movw r10,r18
  1173. 1152 0034 7901 movw r14,r18
  1174. 1153 0036 24E0 ldi r18,4
  1175. 1154 0038 E20E add r14,r18
  1176. 1155 003a F11C adc r15,__zero_reg__
  1177. 1156 003c FC01 movw r30,r24
  1178. 1157 003e 8081 ld r24,Z
  1179. 1158 0040 FA01 movw r30,r20
  1180. 1159 0042 8083 st Z,r24
  1181. 1160 0044 BE01 movw r22,r28
  1182. 1161 0046 6F5F subi r22,-1
  1183. 1162 0048 7F4F sbci r23,-1
  1184. 1163 004a C301 movw r24,r6
  1185. 1164 004c 0196 adiw r24,1
  1186. 1165 004e 0E94 0000 call AsnLenParse
  1187. 1166 0052 6C01 movw r12,r24
  1188. 1167 0054 0097 sbiw r24,0
  1189. 1168 0056 01F4 brne .+2
  1190. 1169 0058 00C0 rjmp .L120
  1191. 1170 005a AC01 movw r20,r24
  1192. 1171 005c 4619 sub r20,r6
  1193. 1172 005e 5709 sbc r21,r7
  1194. 1173 0060 8981 ldd r24,Y+1
  1195. 1174 0062 9A81 ldd r25,Y+2
  1196. 1175 0064 AB81 ldd r26,Y+3
  1197. 1176 0066 BC81 ldd r27,Y+4
  1198. 1177 0068 ED81 ldd r30,Y+5
  1199. 1178 006a FE81 ldd r31,Y+6
  1200. 1179 006c 2081 ld r18,Z
  1201. 1180 006e 3181 ldd r19,Z+1
  1202. 1181 0070 2A01 movw r4,r20
  1203. 1182 0072 052E mov __tmp_reg__,r21
  1204. 1183 0074 000C lsl r0
  1205. 1184 0076 6608 sbc r6,r6
  1206. 1185 0078 7708 sbc r7,r7
  1207. 1186 007a 4301 movw r8,r6
  1208. 1187 007c 3201 movw r6,r4
  1209. 1188 007e 680E add r6,r24
  1210. 1189 0080 791E adc r7,r25
  1211. 1190 0082 8A1E adc r8,r26
  1212. 1191 0084 9B1E adc r9,r27
  1213. 1192 0086 1901 movw r2,r18
  1214. 1193 0088 412C mov r4,__zero_reg__
  1215. 1194 008a 512C mov r5,__zero_reg__
  1216. 1195 008c 2614 cp r2,r6
  1217. 1196 008e 3704 cpc r3,r7
  1218. 1197 0090 4804 cpc r4,r8
  1219. GAS LISTING /tmp/ccAnO6a9.s page 22
  1220. 1198 0092 5904 cpc r5,r9
  1221. 1199 0094 00F4 brsh .+2
  1222. 1200 0096 00C0 rjmp .L120
  1223. 1201 0098 480F add r20,r24
  1224. 1202 009a 591F adc r21,r25
  1225. 1203 009c 241B sub r18,r20
  1226. 1204 009e 350B sbc r19,r21
  1227. 1205 00a0 3183 std Z+1,r19
  1228. 1206 00a2 2083 st Z,r18
  1229. 1207 00a4 0097 sbiw r24,0
  1230. 1208 00a6 A105 cpc r26,__zero_reg__
  1231. 1209 00a8 B105 cpc r27,__zero_reg__
  1232. 1210 00aa 01F4 brne .L111
  1233. 1211 00ac F501 movw r30,r10
  1234. 1212 00ae 1482 std Z+4,__zero_reg__
  1235. 1213 00b0 1582 std Z+5,__zero_reg__
  1236. 1214 00b2 1682 std Z+6,__zero_reg__
  1237. 1215 00b4 1782 std Z+7,__zero_reg__
  1238. 1216 00b6 1082 st Z,__zero_reg__
  1239. 1217 00b8 1182 std Z+1,__zero_reg__
  1240. 1218 00ba 1282 std Z+2,__zero_reg__
  1241. 1219 00bc 1382 std Z+3,__zero_reg__
  1242. 1220 .L111:
  1243. 1221 00be AC01 movw r20,r24
  1244. 1222 00c0 BD01 movw r22,r26
  1245. 1223 00c2 F801 movw r30,r16
  1246. 1224 00c4 8081 ld r24,Z
  1247. 1225 00c6 9181 ldd r25,Z+1
  1248. 1226 00c8 0197 sbiw r24,1
  1249. 1227 00ca 9183 std Z+1,r25
  1250. 1228 00cc 8083 st Z,r24
  1251. 1229 .L112:
  1252. 1230 00ce 1416 cp __zero_reg__,r20
  1253. 1231 00d0 1506 cpc __zero_reg__,r21
  1254. 1232 00d2 1606 cpc __zero_reg__,r22
  1255. 1233 00d4 1706 cpc __zero_reg__,r23
  1256. 1234 00d6 04F0 brlt .L114
  1257. 1235 .L117:
  1258. 1236 00d8 F501 movw r30,r10
  1259. 1237 00da 4480 ldd r4,Z+4
  1260. 1238 00dc 5580 ldd r5,Z+5
  1261. 1239 00de 6680 ldd r6,Z+6
  1262. 1240 00e0 7780 ldd r7,Z+7
  1263. 1241 00e2 FBE2 ldi r31,43
  1264. 1242 00e4 4F16 cp r4,r31
  1265. 1243 00e6 5104 cpc r5,__zero_reg__
  1266. 1244 00e8 6104 cpc r6,__zero_reg__
  1267. 1245 00ea 7104 cpc r7,__zero_reg__
  1268. 1246 00ec 01F4 brne .L125
  1269. 1247 00ee 81E0 ldi r24,lo8(1)
  1270. 1248 00f0 90E0 ldi r25,0
  1271. 1249 00f2 A0E0 ldi r26,0
  1272. 1250 00f4 B0E0 ldi r27,0
  1273. 1251 00f6 F501 movw r30,r10
  1274. 1252 00f8 8083 st Z,r24
  1275. 1253 00fa 9183 std Z+1,r25
  1276. 1254 00fc A283 std Z+2,r26
  1277. GAS LISTING /tmp/ccAnO6a9.s page 23
  1278. 1255 00fe B383 std Z+3,r27
  1279. 1256 0100 83E0 ldi r24,lo8(3)
  1280. 1257 0102 90E0 ldi r25,0
  1281. 1258 0104 A0E0 ldi r26,0
  1282. 1259 0106 B0E0 ldi r27,0
  1283. 1260 0108 8483 std Z+4,r24
  1284. 1261 010a 9583 std Z+5,r25
  1285. 1262 010c A683 std Z+6,r26
  1286. 1263 010e B783 std Z+7,r27
  1287. 1264 0110 00C0 rjmp .L118
  1288. 1265 .L114:
  1289. 1266 0112 F801 movw r30,r16
  1290. 1267 0114 8081 ld r24,Z
  1291. 1268 0116 9181 ldd r25,Z+1
  1292. 1269 0118 9C01 movw r18,r24
  1293. 1270 011a 2150 subi r18,1
  1294. 1271 011c 3109 sbc r19,__zero_reg__
  1295. 1272 011e 3183 std Z+1,r19
  1296. 1273 0120 2083 st Z,r18
  1297. 1274 0122 892B or r24,r25
  1298. 1275 0124 01F0 breq .L117
  1299. 1276 0126 F601 movw r30,r12
  1300. 1277 0128 80E0 ldi r24,0
  1301. 1278 012a 90E0 ldi r25,0
  1302. 1279 012c DC01 movw r26,r24
  1303. 1280 .L113:
  1304. 1281 012e 27E0 ldi r18,7
  1305. 1282 1:
  1306. 1283 0130 880F lsl r24
  1307. 1284 0132 991F rol r25
  1308. 1285 0134 AA1F rol r26
  1309. 1286 0136 BB1F rol r27
  1310. 1287 0138 2A95 dec r18
  1311. 1288 013a 01F4 brne 1b
  1312. 1289 013c 2191 ld r18,Z+
  1313. 1290 013e 322F mov r19,r18
  1314. 1291 0140 3F77 andi r19,lo8(127)
  1315. 1292 0142 830F add r24,r19
  1316. 1293 0144 911D adc r25,__zero_reg__
  1317. 1294 0146 A11D adc r26,__zero_reg__
  1318. 1295 0148 B11D adc r27,__zero_reg__
  1319. 1296 014a 4150 subi r20,1
  1320. 1297 014c 5109 sbc r21,__zero_reg__
  1321. 1298 014e 6109 sbc r22,__zero_reg__
  1322. 1299 0150 7109 sbc r23,__zero_reg__
  1323. 1300 0152 6F01 movw r12,r30
  1324. 1301 0154 27FD sbrc r18,7
  1325. 1302 0156 00C0 rjmp .L113
  1326. 1303 0158 F701 movw r30,r14
  1327. 1304 015a 8193 st Z+,r24
  1328. 1305 015c 9193 st Z+,r25
  1329. 1306 015e A193 st Z+,r26
  1330. 1307 0160 B193 st Z+,r27
  1331. 1308 0162 7F01 movw r14,r30
  1332. 1309 0164 00C0 rjmp .L112
  1333. 1310 .L125:
  1334. 1311 0166 C301 movw r24,r6
  1335. GAS LISTING /tmp/ccAnO6a9.s page 24
  1336. 1312 0168 B201 movw r22,r4
  1337. 1313 016a 28E2 ldi r18,lo8(40)
  1338. 1314 016c 30E0 ldi r19,0
  1339. 1315 016e 40E0 ldi r20,0
  1340. 1316 0170 50E0 ldi r21,0
  1341. 1317 0172 0E94 0000 call __udivmodsi4
  1342. 1318 0176 F501 movw r30,r10
  1343. 1319 0178 6483 std Z+4,r22
  1344. 1320 017a 7583 std Z+5,r23
  1345. 1321 017c 8683 std Z+6,r24
  1346. 1322 017e 9783 std Z+7,r25
  1347. 1323 0180 A301 movw r20,r6
  1348. 1324 0182 9201 movw r18,r4
  1349. 1325 0184 261B sub r18,r22
  1350. 1326 0186 370B sbc r19,r23
  1351. 1327 0188 480B sbc r20,r24
  1352. 1328 018a 590B sbc r21,r25
  1353. 1329 018c CA01 movw r24,r20
  1354. 1330 018e B901 movw r22,r18
  1355. 1331 0190 28E2 ldi r18,lo8(40)
  1356. 1332 0192 30E0 ldi r19,0
  1357. 1333 0194 40E0 ldi r20,0
  1358. 1334 0196 50E0 ldi r21,0
  1359. 1335 0198 0E94 0000 call __udivmodsi4
  1360. 1336 019c DA01 movw r26,r20
  1361. 1337 019e C901 movw r24,r18
  1362. 1338 01a0 9927 clr r25
  1363. 1339 01a2 AA27 clr r26
  1364. 1340 01a4 BB27 clr r27
  1365. 1341 01a6 F501 movw r30,r10
  1366. 1342 01a8 8083 st Z,r24
  1367. 1343 01aa 9183 std Z+1,r25
  1368. 1344 01ac A283 std Z+2,r26
  1369. 1345 01ae B383 std Z+3,r27
  1370. 1346 .L118:
  1371. 1347 01b0 EA18 sub r14,r10
  1372. 1348 01b2 FB08 sbc r15,r11
  1373. 1349 01b4 F594 asr r15
  1374. 1350 01b6 E794 ror r14
  1375. 1351 01b8 F594 asr r15
  1376. 1352 01ba E794 ror r14
  1377. 1353 01bc F801 movw r30,r16
  1378. 1354 01be F182 std Z+1,r15
  1379. 1355 01c0 E082 st Z,r14
  1380. 1356 01c2 C601 movw r24,r12
  1381. 1357 01c4 00C0 rjmp .L110
  1382. 1358 .L120:
  1383. 1359 01c6 80E0 ldi r24,0
  1384. 1360 01c8 90E0 ldi r25,0
  1385. 1361 .L110:
  1386. 1362 /* epilogue start */
  1387. 1363 01ca 2696 adiw r28,6
  1388. 1364 01cc 0FB6 in __tmp_reg__,__SREG__
  1389. 1365 01ce F894 cli
  1390. 1366 01d0 DEBF out __SP_H__,r29
  1391. 1367 01d2 0FBE out __SREG__,__tmp_reg__
  1392. 1368 01d4 CDBF out __SP_L__,r28
  1393. GAS LISTING /tmp/ccAnO6a9.s page 25
  1394. 1369 01d6 DF91 pop r29
  1395. 1370 01d8 CF91 pop r28
  1396. 1371 01da 1F91 pop r17
  1397. 1372 01dc 0F91 pop r16
  1398. 1373 01de FF90 pop r15
  1399. 1374 01e0 EF90 pop r14
  1400. 1375 01e2 DF90 pop r13
  1401. 1376 01e4 CF90 pop r12
  1402. 1377 01e6 BF90 pop r11
  1403. 1378 01e8 AF90 pop r10
  1404. 1379 01ea 9F90 pop r9
  1405. 1380 01ec 8F90 pop r8
  1406. 1381 01ee 7F90 pop r7
  1407. 1382 01f0 6F90 pop r6
  1408. 1383 01f2 5F90 pop r5
  1409. 1384 01f4 4F90 pop r4
  1410. 1385 01f6 3F90 pop r3
  1411. 1386 01f8 2F90 pop r2
  1412. 1387 01fa 0895 ret
  1413. 1388 .size AsnOidParse, .-AsnOidParse
  1414. 1389 .section .text.AsnOidBuild,"ax",@progbits
  1415. 1390 .global AsnOidBuild
  1416. 1391 .type AsnOidBuild, @function
  1417. 1392 AsnOidBuild:
  1418. 1393 0000 2F92 push r2
  1419. 1394 0002 3F92 push r3
  1420. 1395 0004 4F92 push r4
  1421. 1396 0006 5F92 push r5
  1422. 1397 0008 6F92 push r6
  1423. 1398 000a 7F92 push r7
  1424. 1399 000c 8F92 push r8
  1425. 1400 000e 9F92 push r9
  1426. 1401 0010 AF92 push r10
  1427. 1402 0012 BF92 push r11
  1428. 1403 0014 CF92 push r12
  1429. 1404 0016 DF92 push r13
  1430. 1405 0018 EF92 push r14
  1431. 1406 001a FF92 push r15
  1432. 1407 001c 0F93 push r16
  1433. 1408 001e 1F93 push r17
  1434. 1409 0020 CF93 push r28
  1435. 1410 0022 DF93 push r29
  1436. 1411 0024 CDB7 in r28,__SP_L__
  1437. 1412 0026 DEB7 in r29,__SP_H__
  1438. 1413 0028 2A97 sbiw r28,10
  1439. 1414 002a 0FB6 in __tmp_reg__,__SREG__
  1440. 1415 002c F894 cli
  1441. 1416 002e DEBF out __SP_H__,r29
  1442. 1417 0030 0FBE out __SREG__,__tmp_reg__
  1443. 1418 0032 CDBF out __SP_L__,r28
  1444. 1419 /* prologue: function */
  1445. 1420 /* frame size = 10 */
  1446. 1421 /* stack size = 28 */
  1447. 1422 .L__stack_usage = 28
  1448. 1423 0034 9A83 std Y+2,r25
  1449. 1424 0036 8983 std Y+1,r24
  1450. 1425 0038 1B01 movw r2,r22
  1451. GAS LISTING /tmp/ccAnO6a9.s page 26
  1452. 1426 003a 4F83 std Y+7,r20
  1453. 1427 003c 4901 movw r8,r18
  1454. 1428 003e 0115 cp r16,__zero_reg__
  1455. 1429 0040 1105 cpc r17,__zero_reg__
  1456. 1430 0042 01F0 breq .L152
  1457. 1431 0044 D901 movw r26,r18
  1458. 1432 0046 2D91 ld r18,X+
  1459. 1433 0048 3D91 ld r19,X+
  1460. 1434 004a 4D91 ld r20,X+
  1461. 1435 004c 5C91 ld r21,X
  1462. 1436 004e 2330 cpi r18,3
  1463. 1437 0050 3105 cpc r19,__zero_reg__
  1464. 1438 0052 4105 cpc r20,__zero_reg__
  1465. 1439 0054 5105 cpc r21,__zero_reg__
  1466. 1440 0056 00F0 brlo .+2
  1467. 1441 0058 00C0 rjmp .L163
  1468. 1442 005a 0130 cpi r16,1
  1469. 1443 005c 1105 cpc r17,__zero_reg__
  1470. 1444 005e 01F4 brne .L130
  1471. 1445 0060 A8E2 ldi r26,lo8(40)
  1472. 1446 0062 B0E0 ldi r27,0
  1473. 1447 0064 0E94 0000 call __muluhisi3
  1474. 1448 0068 2B01 movw r4,r22
  1475. 1449 006a 3C01 movw r6,r24
  1476. 1450 006c 00C0 rjmp .L127
  1477. 1451 .L130:
  1478. 1452 006e F401 movw r30,r8
  1479. 1453 0070 C480 ldd r12,Z+4
  1480. 1454 0072 D580 ldd r13,Z+5
  1481. 1455 0074 E680 ldd r14,Z+6
  1482. 1456 0076 F780 ldd r15,Z+7
  1483. 1457 0078 F9E2 ldi r31,41
  1484. 1458 007a CF16 cp r12,r31
  1485. 1459 007c D104 cpc r13,__zero_reg__
  1486. 1460 007e E104 cpc r14,__zero_reg__
  1487. 1461 0080 F104 cpc r15,__zero_reg__
  1488. 1462 0082 00F0 brlo .L131
  1489. 1463 0084 2230 cpi r18,2
  1490. 1464 0086 3105 cpc r19,__zero_reg__
  1491. 1465 0088 4105 cpc r20,__zero_reg__
  1492. 1466 008a 5105 cpc r21,__zero_reg__
  1493. 1467 008c 01F0 breq .+2
  1494. 1468 008e 00C0 rjmp .L163
  1495. 1469 .L131:
  1496. 1470 0090 0132 cpi r16,33
  1497. 1471 0092 1105 cpc r17,__zero_reg__
  1498. 1472 0094 00F0 brlo .+2
  1499. 1473 0096 00C0 rjmp .L163
  1500. 1474 0098 A8E2 ldi r26,lo8(40)
  1501. 1475 009a B0E0 ldi r27,0
  1502. 1476 009c 0E94 0000 call __muluhisi3
  1503. 1477 00a0 2B01 movw r4,r22
  1504. 1478 00a2 3C01 movw r6,r24
  1505. 1479 00a4 4C0C add r4,r12
  1506. 1480 00a6 5D1C adc r5,r13
  1507. 1481 00a8 6E1C adc r6,r14
  1508. 1482 00aa 7F1C adc r7,r15
  1509. GAS LISTING /tmp/ccAnO6a9.s page 27
  1510. 1483 00ac 0150 subi r16,1
  1511. 1484 00ae 1109 sbc r17,__zero_reg__
  1512. 1485 00b0 00C0 rjmp .L127
  1513. 1486 .L152:
  1514. 1487 00b2 412C mov r4,__zero_reg__
  1515. 1488 00b4 512C mov r5,__zero_reg__
  1516. 1489 00b6 3201 movw r6,r4
  1517. 1490 00b8 01E0 ldi r16,lo8(1)
  1518. 1491 00ba 10E0 ldi r17,0
  1519. 1492 .L127:
  1520. 1493 00bc 80E8 ldi r24,lo8(-128)
  1521. 1494 00be 90E0 ldi r25,0
  1522. 1495 00c0 0E94 0000 call malloc
  1523. 1496 00c4 5C01 movw r10,r24
  1524. 1497 00c6 0097 sbiw r24,0
  1525. 1498 00c8 01F4 brne .+2
  1526. 1499 00ca 00C0 rjmp .L163
  1527. 1500 00cc 9E83 std Y+6,r25
  1528. 1501 00ce 8D83 std Y+5,r24
  1529. 1502 00d0 FC01 movw r30,r24
  1530. 1503 00d2 6401 movw r12,r8
  1531. 1504 00d4 80E0 ldi r24,0
  1532. 1505 00d6 90E0 ldi r25,0
  1533. 1506 00d8 E12C mov r14,__zero_reg__
  1534. 1507 00da F12C mov r15,__zero_reg__
  1535. 1508 00dc 9401 movw r18,r8
  1536. 1509 00de 285F subi r18,-8
  1537. 1510 00e0 3F4F sbci r19,-1
  1538. 1511 .L140:
  1539. 1512 00e2 0097 sbiw r24,0
  1540. 1513 00e4 01F0 breq .L133
  1541. 1514 00e6 D601 movw r26,r12
  1542. 1515 00e8 4D91 ld r20,X+
  1543. 1516 00ea 5D91 ld r21,X+
  1544. 1517 00ec 6D91 ld r22,X+
  1545. 1518 00ee 7C91 ld r23,X
  1546. 1519 00f0 1397 sbiw r26,3
  1547. 1520 00f2 1496 adiw r26,4
  1548. 1521 00f4 6D01 movw r12,r26
  1549. 1522 00f6 00C0 rjmp .L134
  1550. 1523 .L133:
  1551. 1524 00f8 6901 movw r12,r18
  1552. 1525 00fa B301 movw r22,r6
  1553. 1526 00fc A201 movw r20,r4
  1554. 1527 .L134:
  1555. 1528 00fe 4038 cpi r20,-128
  1556. 1529 0100 5105 cpc r21,__zero_reg__
  1557. 1530 0102 6105 cpc r22,__zero_reg__
  1558. 1531 0104 7105 cpc r23,__zero_reg__
  1559. 1532 0106 00F4 brsh .L135
  1560. 1533 0108 B1E0 ldi r27,lo8(1)
  1561. 1534 010a B083 st Z,r27
  1562. 1535 010c 4FEF ldi r20,-1
  1563. 1536 010e E41A sub r14,r20
  1564. 1537 0110 F40A sbc r15,r20
  1565. 1538 0112 00C0 rjmp .L136
  1566. 1539 .L135:
  1567. GAS LISTING /tmp/ccAnO6a9.s page 28
  1568. 1540 0114 4115 cp r20,__zero_reg__
  1569. 1541 0116 A0E4 ldi r26,64
  1570. 1542 0118 5A07 cpc r21,r26
  1571. 1543 011a 6105 cpc r22,__zero_reg__
  1572. 1544 011c 7105 cpc r23,__zero_reg__
  1573. 1545 011e 00F4 brsh .L137
  1574. 1546 0120 B2E0 ldi r27,lo8(2)
  1575. 1547 0122 B083 st Z,r27
  1576. 1548 0124 42E0 ldi r20,2
  1577. 1549 0126 E40E add r14,r20
  1578. 1550 0128 F11C adc r15,__zero_reg__
  1579. 1551 012a 00C0 rjmp .L136
  1580. 1552 .L137:
  1581. 1553 012c 4115 cp r20,__zero_reg__
  1582. 1554 012e 5105 cpc r21,__zero_reg__
  1583. 1555 0130 A0E2 ldi r26,32
  1584. 1556 0132 6A07 cpc r22,r26
  1585. 1557 0134 7105 cpc r23,__zero_reg__
  1586. 1558 0136 00F4 brsh .L138
  1587. 1559 0138 B3E0 ldi r27,lo8(3)
  1588. 1560 013a B083 st Z,r27
  1589. 1561 013c 43E0 ldi r20,3
  1590. 1562 013e E40E add r14,r20
  1591. 1563 0140 F11C adc r15,__zero_reg__
  1592. 1564 0142 00C0 rjmp .L136
  1593. 1565 .L138:
  1594. 1566 0144 4115 cp r20,__zero_reg__
  1595. 1567 0146 5105 cpc r21,__zero_reg__
  1596. 1568 0148 6105 cpc r22,__zero_reg__
  1597. 1569 014a 7041 sbci r23,16
  1598. 1570 014c 00F4 brsh .L139
  1599. 1571 014e B4E0 ldi r27,lo8(4)
  1600. 1572 0150 B083 st Z,r27
  1601. 1573 0152 44E0 ldi r20,4
  1602. 1574 0154 E40E add r14,r20
  1603. 1575 0156 F11C adc r15,__zero_reg__
  1604. 1576 0158 00C0 rjmp .L136
  1605. 1577 .L139:
  1606. 1578 015a A5E0 ldi r26,lo8(5)
  1607. 1579 015c A083 st Z,r26
  1608. 1580 015e B5E0 ldi r27,5
  1609. 1581 0160 EB0E add r14,r27
  1610. 1582 0162 F11C adc r15,__zero_reg__
  1611. 1583 .L136:
  1612. 1584 0164 0196 adiw r24,1
  1613. 1585 0166 3196 adiw r30,1
  1614. 1586 0168 0817 cp r16,r24
  1615. 1587 016a 1907 cpc r17,r25
  1616. 1588 016c 01F0 breq .+2
  1617. 1589 016e 00C0 rjmp .L140
  1618. 1590 0170 9701 movw r18,r14
  1619. 1591 0172 4F81 ldd r20,Y+7
  1620. 1592 0174 B101 movw r22,r2
  1621. 1593 0176 8981 ldd r24,Y+1
  1622. 1594 0178 9A81 ldd r25,Y+2
  1623. 1595 017a 0E94 0000 call AsnHeaderBuild
  1624. 1596 017e 9887 std Y+8,r25
  1625. GAS LISTING /tmp/ccAnO6a9.s page 29
  1626. 1597 0180 8F83 std Y+7,r24
  1627. 1598 0182 892B or r24,r25
  1628. 1599 0184 01F0 breq .L141
  1629. 1600 0186 F101 movw r30,r2
  1630. 1601 0188 8081 ld r24,Z
  1631. 1602 018a 9181 ldd r25,Z+1
  1632. 1603 018c 8E15 cp r24,r14
  1633. 1604 018e 9F05 cpc r25,r15
  1634. 1605 0190 00F4 brsh .L153
  1635. 1606 .L141:
  1636. 1607 0192 C501 movw r24,r10
  1637. 1608 0194 0E94 0000 call free
  1638. 1609 .L163:
  1639. 1610 0198 80E0 ldi r24,0
  1640. 1611 019a 90E0 ldi r25,0
  1641. 1612 019c 00C0 rjmp .L129
  1642. 1613 .L153:
  1643. 1614 019e 1A86 std Y+10,__zero_reg__
  1644. 1615 01a0 1986 std Y+9,__zero_reg__
  1645. 1616 01a2 F8E0 ldi r31,8
  1646. 1617 01a4 8F0E add r8,r31
  1647. 1618 01a6 911C adc r9,__zero_reg__
  1648. 1619 .L142:
  1649. 1620 01a8 2985 ldd r18,Y+9
  1650. 1621 01aa 3A85 ldd r19,Y+10
  1651. 1622 01ac 232B or r18,r19
  1652. 1623 01ae 01F0 breq .L143
  1653. 1624 01b0 D601 movw r26,r12
  1654. 1625 01b2 4D91 ld r20,X+
  1655. 1626 01b4 5D91 ld r21,X+
  1656. 1627 01b6 6D91 ld r22,X+
  1657. 1628 01b8 7C91 ld r23,X
  1658. 1629 01ba F601 movw r30,r12
  1659. 1630 01bc 3496 adiw r30,4
  1660. 1631 01be 6F01 movw r12,r30
  1661. 1632 01c0 00C0 rjmp .L144
  1662. 1633 .L143:
  1663. 1634 01c2 6401 movw r12,r8
  1664. 1635 01c4 B301 movw r22,r6
  1665. 1636 01c6 A201 movw r20,r4
  1666. 1637 .L144:
  1667. 1638 01c8 AD81 ldd r26,Y+5
  1668. 1639 01ca BE81 ldd r27,Y+6
  1669. 1640 01cc 2D91 ld r18,X+
  1670. 1641 01ce BE83 std Y+6,r27
  1671. 1642 01d0 AD83 std Y+5,r26
  1672. 1643 01d2 2330 cpi r18,lo8(3)
  1673. 1644 01d4 01F4 brne .+2
  1674. 1645 01d6 00C0 rjmp .L146
  1675. 1646 01d8 00F4 brsh .L147
  1676. 1647 01da 2130 cpi r18,lo8(1)
  1677. 1648 01dc 01F4 brne .+2
  1678. 1649 01de 00C0 rjmp .L148
  1679. 1650 01e0 2230 cpi r18,lo8(2)
  1680. 1651 01e2 01F0 breq .+2
  1681. 1652 01e4 00C0 rjmp .L145
  1682. 1653 01e6 DB01 movw r26,r22
  1683. GAS LISTING /tmp/ccAnO6a9.s page 30
  1684. 1654 01e8 CA01 movw r24,r20
  1685. 1655 01ea 27E0 ldi r18,7
  1686. 1656 1:
  1687. 1657 01ec B695 lsr r27
  1688. 1658 01ee A795 ror r26
  1689. 1659 01f0 9795 ror r25
  1690. 1660 01f2 8795 ror r24
  1691. 1661 01f4 2A95 dec r18
  1692. 1662 01f6 01F4 brne 1b
  1693. 1663 01f8 8983 std Y+1,r24
  1694. 1664 01fa 9A83 std Y+2,r25
  1695. 1665 01fc AB83 std Y+3,r26
  1696. 1666 01fe BC83 std Y+4,r27
  1697. 1667 0200 282F mov r18,r24
  1698. 1668 0202 2068 ori r18,lo8(-128)
  1699. 1669 0204 AF81 ldd r26,Y+7
  1700. 1670 0206 B885 ldd r27,Y+8
  1701. 1671 0208 2C93 st X,r18
  1702. 1672 020a 4F77 andi r20,lo8(127)
  1703. 1673 020c 1196 adiw r26,1
  1704. 1674 020e 4C93 st X,r20
  1705. 1675 0210 1197 sbiw r26,1
  1706. 1676 0212 1296 adiw r26,2
  1707. 1677 0214 00C0 rjmp .L162
  1708. 1678 .L147:
  1709. 1679 0216 2430 cpi r18,lo8(4)
  1710. 1680 0218 01F4 brne .+2
  1711. 1681 021a 00C0 rjmp .L150
  1712. 1682 021c 2530 cpi r18,lo8(5)
  1713. 1683 021e 01F0 breq .+2
  1714. 1684 0220 00C0 rjmp .L145
  1715. 1685 0222 DB01 movw r26,r22
  1716. 1686 0224 CA01 movw r24,r20
  1717. 1687 0226 2CE1 ldi r18,28
  1718. 1688 1:
  1719. 1689 0228 B695 lsr r27
  1720. 1690 022a A795 ror r26
  1721. 1691 022c 9795 ror r25
  1722. 1692 022e 8795 ror r24
  1723. 1693 0230 2A95 dec r18
  1724. 1694 0232 01F4 brne 1b
  1725. 1695 0234 8983 std Y+1,r24
  1726. 1696 0236 9A83 std Y+2,r25
  1727. 1697 0238 AB83 std Y+3,r26
  1728. 1698 023a BC83 std Y+4,r27
  1729. 1699 023c 282F mov r18,r24
  1730. 1700 023e 2068 ori r18,lo8(-128)
  1731. 1701 0240 AF81 ldd r26,Y+7
  1732. 1702 0242 B885 ldd r27,Y+8
  1733. 1703 0244 2C93 st X,r18
  1734. 1704 0246 DB01 movw r26,r22
  1735. 1705 0248 CA01 movw r24,r20
  1736. 1706 024a 35E1 ldi r19,21
  1737. 1707 1:
  1738. 1708 024c B695 lsr r27
  1739. 1709 024e A795 ror r26
  1740. 1710 0250 9795 ror r25
  1741. GAS LISTING /tmp/ccAnO6a9.s page 31
  1742. 1711 0252 8795 ror r24
  1743. 1712 0254 3A95 dec r19
  1744. 1713 0256 01F4 brne 1b
  1745. 1714 0258 8983 std Y+1,r24
  1746. 1715 025a 9A83 std Y+2,r25
  1747. 1716 025c AB83 std Y+3,r26
  1748. 1717 025e BC83 std Y+4,r27
  1749. 1718 0260 282F mov r18,r24
  1750. 1719 0262 2068 ori r18,lo8(-128)
  1751. 1720 0264 AF81 ldd r26,Y+7
  1752. 1721 0266 B885 ldd r27,Y+8
  1753. 1722 0268 1196 adiw r26,1
  1754. 1723 026a 2C93 st X,r18
  1755. 1724 026c DB01 movw r26,r22
  1756. 1725 026e CA01 movw r24,r20
  1757. 1726 0270 EEE0 ldi r30,14
  1758. 1727 1:
  1759. 1728 0272 B695 lsr r27
  1760. 1729 0274 A795 ror r26
  1761. 1730 0276 9795 ror r25
  1762. 1731 0278 8795 ror r24
  1763. 1732 027a EA95 dec r30
  1764. 1733 027c 01F4 brne 1b
  1765. 1734 027e 8983 std Y+1,r24
  1766. 1735 0280 9A83 std Y+2,r25
  1767. 1736 0282 AB83 std Y+3,r26
  1768. 1737 0284 BC83 std Y+4,r27
  1769. 1738 0286 282F mov r18,r24
  1770. 1739 0288 2068 ori r18,lo8(-128)
  1771. 1740 028a AF81 ldd r26,Y+7
  1772. 1741 028c B885 ldd r27,Y+8
  1773. 1742 028e 1296 adiw r26,2
  1774. 1743 0290 2C93 st X,r18
  1775. 1744 0292 DB01 movw r26,r22
  1776. 1745 0294 CA01 movw r24,r20
  1777. 1746 0296 F7E0 ldi r31,7
  1778. 1747 1:
  1779. 1748 0298 B695 lsr r27
  1780. 1749 029a A795 ror r26
  1781. 1750 029c 9795 ror r25
  1782. 1751 029e 8795 ror r24
  1783. 1752 02a0 FA95 dec r31
  1784. 1753 02a2 01F4 brne 1b
  1785. 1754 02a4 8983 std Y+1,r24
  1786. 1755 02a6 9A83 std Y+2,r25
  1787. 1756 02a8 AB83 std Y+3,r26
  1788. 1757 02aa BC83 std Y+4,r27
  1789. 1758 02ac 282F mov r18,r24
  1790. 1759 02ae 2068 ori r18,lo8(-128)
  1791. 1760 02b0 AF81 ldd r26,Y+7
  1792. 1761 02b2 B885 ldd r27,Y+8
  1793. 1762 02b4 1396 adiw r26,3
  1794. 1763 02b6 2C93 st X,r18
  1795. 1764 02b8 1397 sbiw r26,3
  1796. 1765 02ba 4F77 andi r20,lo8(127)
  1797. 1766 02bc 1496 adiw r26,4
  1798. 1767 02be 4C93 st X,r20
  1799. GAS LISTING /tmp/ccAnO6a9.s page 32
  1800. 1768 02c0 1497 sbiw r26,4
  1801. 1769 02c2 1596 adiw r26,5
  1802. 1770 02c4 00C0 rjmp .L162
  1803. 1771 .L148:
  1804. 1772 02c6 EF81 ldd r30,Y+7
  1805. 1773 02c8 F885 ldd r31,Y+8
  1806. 1774 02ca 4083 st Z,r20
  1807. 1775 02cc 3196 adiw r30,1
  1808. 1776 02ce F887 std Y+8,r31
  1809. 1777 02d0 EF83 std Y+7,r30
  1810. 1778 02d2 00C0 rjmp .L145
  1811. 1779 .L146:
  1812. 1780 02d4 DB01 movw r26,r22
  1813. 1781 02d6 CA01 movw r24,r20
  1814. 1782 02d8 EEE0 ldi r30,14
  1815. 1783 1:
  1816. 1784 02da B695 lsr r27
  1817. 1785 02dc A795 ror r26
  1818. 1786 02de 9795 ror r25
  1819. 1787 02e0 8795 ror r24
  1820. 1788 02e2 EA95 dec r30
  1821. 1789 02e4 01F4 brne 1b
  1822. 1790 02e6 8983 std Y+1,r24
  1823. 1791 02e8 9A83 std Y+2,r25
  1824. 1792 02ea AB83 std Y+3,r26
  1825. 1793 02ec BC83 std Y+4,r27
  1826. 1794 02ee 282F mov r18,r24
  1827. 1795 02f0 2068 ori r18,lo8(-128)
  1828. 1796 02f2 AF81 ldd r26,Y+7
  1829. 1797 02f4 B885 ldd r27,Y+8
  1830. 1798 02f6 2C93 st X,r18
  1831. 1799 02f8 DB01 movw r26,r22
  1832. 1800 02fa CA01 movw r24,r20
  1833. 1801 02fc F7E0 ldi r31,7
  1834. 1802 1:
  1835. 1803 02fe B695 lsr r27
  1836. 1804 0300 A795 ror r26
  1837. 1805 0302 9795 ror r25
  1838. 1806 0304 8795 ror r24
  1839. 1807 0306 FA95 dec r31
  1840. 1808 0308 01F4 brne 1b
  1841. 1809 030a 8983 std Y+1,r24
  1842. 1810 030c 9A83 std Y+2,r25
  1843. 1811 030e AB83 std Y+3,r26
  1844. 1812 0310 BC83 std Y+4,r27
  1845. 1813 0312 282F mov r18,r24
  1846. 1814 0314 2068 ori r18,lo8(-128)
  1847. 1815 0316 AF81 ldd r26,Y+7
  1848. 1816 0318 B885 ldd r27,Y+8
  1849. 1817 031a 1196 adiw r26,1
  1850. 1818 031c 2C93 st X,r18
  1851. 1819 031e 1197 sbiw r26,1
  1852. 1820 0320 4F77 andi r20,lo8(127)
  1853. 1821 0322 1296 adiw r26,2
  1854. 1822 0324 4C93 st X,r20
  1855. 1823 0326 1297 sbiw r26,2
  1856. 1824 0328 1396 adiw r26,3
  1857. GAS LISTING /tmp/ccAnO6a9.s page 33
  1858. 1825 032a 00C0 rjmp .L162
  1859. 1826 .L150:
  1860. 1827 032c DB01 movw r26,r22
  1861. 1828 032e CA01 movw r24,r20
  1862. 1829 0330 25E1 ldi r18,21
  1863. 1830 1:
  1864. 1831 0332 B695 lsr r27
  1865. 1832 0334 A795 ror r26
  1866. 1833 0336 9795 ror r25
  1867. 1834 0338 8795 ror r24
  1868. 1835 033a 2A95 dec r18
  1869. 1836 033c 01F4 brne 1b
  1870. 1837 033e 8983 std Y+1,r24
  1871. 1838 0340 9A83 std Y+2,r25
  1872. 1839 0342 AB83 std Y+3,r26
  1873. 1840 0344 BC83 std Y+4,r27
  1874. 1841 0346 282F mov r18,r24
  1875. 1842 0348 2068 ori r18,lo8(-128)
  1876. 1843 034a AF81 ldd r26,Y+7
  1877. 1844 034c B885 ldd r27,Y+8
  1878. 1845 034e 2C93 st X,r18
  1879. 1846 0350 DB01 movw r26,r22
  1880. 1847 0352 CA01 movw r24,r20
  1881. 1848 0354 3EE0 ldi r19,14
  1882. 1849 1:
  1883. 1850 0356 B695 lsr r27
  1884. 1851 0358 A795 ror r26
  1885. 1852 035a 9795 ror r25
  1886. 1853 035c 8795 ror r24
  1887. 1854 035e 3A95 dec r19
  1888. 1855 0360 01F4 brne 1b
  1889. 1856 0362 8983 std Y+1,r24
  1890. 1857 0364 9A83 std Y+2,r25
  1891. 1858 0366 AB83 std Y+3,r26
  1892. 1859 0368 BC83 std Y+4,r27
  1893. 1860 036a 282F mov r18,r24
  1894. 1861 036c 2068 ori r18,lo8(-128)
  1895. 1862 036e AF81 ldd r26,Y+7
  1896. 1863 0370 B885 ldd r27,Y+8
  1897. 1864 0372 1196 adiw r26,1
  1898. 1865 0374 2C93 st X,r18
  1899. 1866 0376 DB01 movw r26,r22
  1900. 1867 0378 CA01 movw r24,r20
  1901. 1868 037a 57E0 ldi r21,7
  1902. 1869 1:
  1903. 1870 037c B695 lsr r27
  1904. 1871 037e A795 ror r26
  1905. 1872 0380 9795 ror r25
  1906. 1873 0382 8795 ror r24
  1907. 1874 0384 5A95 dec r21
  1908. 1875 0386 01F4 brne 1b
  1909. 1876 0388 8983 std Y+1,r24
  1910. 1877 038a 9A83 std Y+2,r25
  1911. 1878 038c AB83 std Y+3,r26
  1912. 1879 038e BC83 std Y+4,r27
  1913. 1880 0390 282F mov r18,r24
  1914. 1881 0392 2068 ori r18,lo8(-128)
  1915. GAS LISTING /tmp/ccAnO6a9.s page 34
  1916. 1882 0394 AF81 ldd r26,Y+7
  1917. 1883 0396 B885 ldd r27,Y+8
  1918. 1884 0398 1296 adiw r26,2
  1919. 1885 039a 2C93 st X,r18
  1920. 1886 039c 1297 sbiw r26,2
  1921. 1887 039e 4F77 andi r20,lo8(127)
  1922. 1888 03a0 1396 adiw r26,3
  1923. 1889 03a2 4C93 st X,r20
  1924. 1890 03a4 1397 sbiw r26,3
  1925. 1891 03a6 1496 adiw r26,4
  1926. 1892 .L162:
  1927. 1893 03a8 B887 std Y+8,r27
  1928. 1894 03aa AF83 std Y+7,r26
  1929. 1895 .L145:
  1930. 1896 03ac E985 ldd r30,Y+9
  1931. 1897 03ae FA85 ldd r31,Y+10
  1932. 1898 03b0 3196 adiw r30,1
  1933. 1899 03b2 FA87 std Y+10,r31
  1934. 1900 03b4 E987 std Y+9,r30
  1935. 1901 03b6 0E17 cp r16,r30
  1936. 1902 03b8 1F07 cpc r17,r31
  1937. 1903 03ba 01F0 breq .+2
  1938. 1904 03bc 00C0 rjmp .L142
  1939. 1905 03be D101 movw r26,r2
  1940. 1906 03c0 8D91 ld r24,X+
  1941. 1907 03c2 9C91 ld r25,X
  1942. 1908 03c4 1197 sbiw r26,1
  1943. 1909 03c6 8E19 sub r24,r14
  1944. 1910 03c8 9F09 sbc r25,r15
  1945. 1911 03ca 8D93 st X+,r24
  1946. 1912 03cc 9C93 st X,r25
  1947. 1913 03ce C501 movw r24,r10
  1948. 1914 03d0 0E94 0000 call free
  1949. 1915 03d4 8F81 ldd r24,Y+7
  1950. 1916 03d6 9885 ldd r25,Y+8
  1951. 1917 .L129:
  1952. 1918 /* epilogue start */
  1953. 1919 03d8 2A96 adiw r28,10
  1954. 1920 03da 0FB6 in __tmp_reg__,__SREG__
  1955. 1921 03dc F894 cli
  1956. 1922 03de DEBF out __SP_H__,r29
  1957. 1923 03e0 0FBE out __SREG__,__tmp_reg__
  1958. 1924 03e2 CDBF out __SP_L__,r28
  1959. 1925 03e4 DF91 pop r29
  1960. 1926 03e6 CF91 pop r28
  1961. 1927 03e8 1F91 pop r17
  1962. 1928 03ea 0F91 pop r16
  1963. 1929 03ec FF90 pop r15
  1964. 1930 03ee EF90 pop r14
  1965. 1931 03f0 DF90 pop r13
  1966. 1932 03f2 CF90 pop r12
  1967. 1933 03f4 BF90 pop r11
  1968. 1934 03f6 AF90 pop r10
  1969. 1935 03f8 9F90 pop r9
  1970. 1936 03fa 8F90 pop r8
  1971. 1937 03fc 7F90 pop r7
  1972. 1938 03fe 6F90 pop r6
  1973. GAS LISTING /tmp/ccAnO6a9.s page 35
  1974. 1939 0400 5F90 pop r5
  1975. 1940 0402 4F90 pop r4
  1976. 1941 0404 3F90 pop r3
  1977. 1942 0406 2F90 pop r2
  1978. 1943 0408 0895 ret
  1979. 1944 .size AsnOidBuild, .-AsnOidBuild
  1980. 1945 .section .text.AsnNullParse,"ax",@progbits
  1981. 1946 .global AsnNullParse
  1982. 1947 .type AsnNullParse, @function
  1983. 1948 AsnNullParse:
  1984. 1949 0000 EF92 push r14
  1985. 1950 0002 FF92 push r15
  1986. 1951 0004 0F93 push r16
  1987. 1952 0006 1F93 push r17
  1988. 1953 0008 CF93 push r28
  1989. 1954 000a DF93 push r29
  1990. 1955 000c 00D0 rcall .
  1991. 1956 000e 1F92 push __zero_reg__
  1992. 1957 0010 CDB7 in r28,__SP_L__
  1993. 1958 0012 DEB7 in r29,__SP_H__
  1994. 1959 /* prologue: function */
  1995. 1960 /* frame size = 4 */
  1996. 1961 /* stack size = 10 */
  1997. 1962 .L__stack_usage = 10
  1998. 1963 0014 8C01 movw r16,r24
  1999. 1964 0016 7B01 movw r14,r22
  2000. 1965 0018 FC01 movw r30,r24
  2001. 1966 001a 8081 ld r24,Z
  2002. 1967 001c FA01 movw r30,r20
  2003. 1968 001e 8083 st Z,r24
  2004. 1969 0020 BE01 movw r22,r28
  2005. 1970 0022 6F5F subi r22,-1
  2006. 1971 0024 7F4F sbci r23,-1
  2007. 1972 0026 C801 movw r24,r16
  2008. 1973 0028 0196 adiw r24,1
  2009. 1974 002a 0E94 0000 call AsnLenParse
  2010. 1975 002e 0097 sbiw r24,0
  2011. 1976 0030 01F0 breq .L167
  2012. 1977 0032 4981 ldd r20,Y+1
  2013. 1978 0034 5A81 ldd r21,Y+2
  2014. 1979 0036 6B81 ldd r22,Y+3
  2015. 1980 0038 7C81 ldd r23,Y+4
  2016. 1981 003a 452B or r20,r21
  2017. 1982 003c 462B or r20,r22
  2018. 1983 003e 472B or r20,r23
  2019. 1984 0040 01F4 brne .L167
  2020. 1985 0042 AC01 movw r20,r24
  2021. 1986 0044 401B sub r20,r16
  2022. 1987 0046 510B sbc r21,r17
  2023. 1988 0048 F701 movw r30,r14
  2024. 1989 004a 2081 ld r18,Z
  2025. 1990 004c 3181 ldd r19,Z+1
  2026. 1991 004e 241B sub r18,r20
  2027. 1992 0050 350B sbc r19,r21
  2028. 1993 0052 3183 std Z+1,r19
  2029. 1994 0054 2083 st Z,r18
  2030. 1995 0056 00C0 rjmp .L165
  2031. GAS LISTING /tmp/ccAnO6a9.s page 36
  2032. 1996 .L167:
  2033. 1997 0058 80E0 ldi r24,0
  2034. 1998 005a 90E0 ldi r25,0
  2035. 1999 .L165:
  2036. 2000 /* epilogue start */
  2037. 2001 005c 0F90 pop __tmp_reg__
  2038. 2002 005e 0F90 pop __tmp_reg__
  2039. 2003 0060 0F90 pop __tmp_reg__
  2040. 2004 0062 0F90 pop __tmp_reg__
  2041. 2005 0064 DF91 pop r29
  2042. 2006 0066 CF91 pop r28
  2043. 2007 0068 1F91 pop r17
  2044. 2008 006a 0F91 pop r16
  2045. 2009 006c FF90 pop r15
  2046. 2010 006e EF90 pop r14
  2047. 2011 0070 0895 ret
  2048. 2012 .size AsnNullParse, .-AsnNullParse
  2049. 2013 .section .text.AsnNullBuild,"ax",@progbits
  2050. 2014 .global AsnNullBuild
  2051. 2015 .type AsnNullBuild, @function
  2052. 2016 AsnNullBuild:
  2053. 2017 /* prologue: function */
  2054. 2018 /* frame size = 0 */
  2055. 2019 /* stack size = 0 */
  2056. 2020 .L__stack_usage = 0
  2057. 2021 0000 20E0 ldi r18,0
  2058. 2022 0002 30E0 ldi r19,0
  2059. 2023 0004 0C94 0000 jmp AsnHeaderBuild
  2060. 2024 .size AsnNullBuild, .-AsnNullBuild
  2061. 2025 .section .text.AsnBitStringParse,"ax",@progbits
  2062. 2026 .global AsnBitStringParse
  2063. 2027 .type AsnBitStringParse, @function
  2064. 2028 AsnBitStringParse:
  2065. 2029 0000 4F92 push r4
  2066. 2030 0002 5F92 push r5
  2067. 2031 0004 6F92 push r6
  2068. 2032 0006 7F92 push r7
  2069. 2033 0008 8F92 push r8
  2070. 2034 000a 9F92 push r9
  2071. 2035 000c AF92 push r10
  2072. 2036 000e BF92 push r11
  2073. 2037 0010 CF92 push r12
  2074. 2038 0012 DF92 push r13
  2075. 2039 0014 EF92 push r14
  2076. 2040 0016 FF92 push r15
  2077. 2041 0018 0F93 push r16
  2078. 2042 001a 1F93 push r17
  2079. 2043 001c CF93 push r28
  2080. 2044 001e DF93 push r29
  2081. 2045 0020 00D0 rcall .
  2082. 2046 0022 1F92 push __zero_reg__
  2083. 2047 0024 CDB7 in r28,__SP_L__
  2084. 2048 0026 DEB7 in r29,__SP_H__
  2085. 2049 /* prologue: function */
  2086. 2050 /* frame size = 4 */
  2087. 2051 /* stack size = 20 */
  2088. 2052 .L__stack_usage = 20
  2089. GAS LISTING /tmp/ccAnO6a9.s page 37
  2090. 2053 0028 5C01 movw r10,r24
  2091. 2054 002a 6B01 movw r12,r22
  2092. 2055 002c 4901 movw r8,r18
  2093. 2056 002e FC01 movw r30,r24
  2094. 2057 0030 8081 ld r24,Z
  2095. 2058 0032 FA01 movw r30,r20
  2096. 2059 0034 8083 st Z,r24
  2097. 2060 0036 BE01 movw r22,r28
  2098. 2061 0038 6F5F subi r22,-1
  2099. 2062 003a 7F4F sbci r23,-1
  2100. 2063 003c C501 movw r24,r10
  2101. 2064 003e 0196 adiw r24,1
  2102. 2065 0040 0E94 0000 call AsnLenParse
  2103. 2066 0044 7C01 movw r14,r24
  2104. 2067 0046 0097 sbiw r24,0
  2105. 2068 0048 01F0 breq .L175
  2106. 2069 004a 8A19 sub r24,r10
  2107. 2070 004c 9B09 sbc r25,r11
  2108. 2071 004e 5C01 movw r10,r24
  2109. 2072 0050 4980 ldd r4,Y+1
  2110. 2073 0052 5A80 ldd r5,Y+2
  2111. 2074 0054 6B80 ldd r6,Y+3
  2112. 2075 0056 7C80 ldd r7,Y+4
  2113. 2076 0058 AC01 movw r20,r24
  2114. 2077 005a 990F lsl r25
  2115. 2078 005c 660B sbc r22,r22
  2116. 2079 005e 770B sbc r23,r23
  2117. 2080 0060 440D add r20,r4
  2118. 2081 0062 551D adc r21,r5
  2119. 2082 0064 661D adc r22,r6
  2120. 2083 0066 771D adc r23,r7
  2121. 2084 0068 F601 movw r30,r12
  2122. 2085 006a 8081 ld r24,Z
  2123. 2086 006c 9181 ldd r25,Z+1
  2124. 2087 006e A0E0 ldi r26,0
  2125. 2088 0070 B0E0 ldi r27,0
  2126. 2089 0072 8417 cp r24,r20
  2127. 2090 0074 9507 cpc r25,r21
  2128. 2091 0076 A607 cpc r26,r22
  2129. 2092 0078 B707 cpc r27,r23
  2130. 2093 007a 00F0 brlo .L175
  2131. 2094 007c 4114 cp r4,__zero_reg__
  2132. 2095 007e 5104 cpc r5,__zero_reg__
  2133. 2096 0080 6104 cpc r6,__zero_reg__
  2134. 2097 0082 7104 cpc r7,__zero_reg__
  2135. 2098 0084 01F0 breq .L175
  2136. 2099 0086 F801 movw r30,r16
  2137. 2100 0088 8081 ld r24,Z
  2138. 2101 008a 9181 ldd r25,Z+1
  2139. 2102 008c 8415 cp r24,r4
  2140. 2103 008e 9505 cpc r25,r5
  2141. 2104 0090 00F0 brlo .L175
  2142. 2105 0092 F701 movw r30,r14
  2143. 2106 0094 8081 ld r24,Z
  2144. 2107 0096 8830 cpi r24,lo8(8)
  2145. 2108 0098 00F4 brsh .L175
  2146. 2109 009a A201 movw r20,r4
  2147. GAS LISTING /tmp/ccAnO6a9.s page 38
  2148. 2110 009c B701 movw r22,r14
  2149. 2111 009e C401 movw r24,r8
  2150. 2112 00a0 0E94 0000 call memcpy
  2151. 2113 00a4 F801 movw r30,r16
  2152. 2114 00a6 5182 std Z+1,r5
  2153. 2115 00a8 4082 st Z,r4
  2154. 2116 00aa F601 movw r30,r12
  2155. 2117 00ac 8081 ld r24,Z
  2156. 2118 00ae 9181 ldd r25,Z+1
  2157. 2119 00b0 8419 sub r24,r4
  2158. 2120 00b2 9509 sbc r25,r5
  2159. 2121 00b4 8A19 sub r24,r10
  2160. 2122 00b6 9B09 sbc r25,r11
  2161. 2123 00b8 9183 std Z+1,r25
  2162. 2124 00ba 8083 st Z,r24
  2163. 2125 00bc C701 movw r24,r14
  2164. 2126 00be 840D add r24,r4
  2165. 2127 00c0 951D adc r25,r5
  2166. 2128 00c2 00C0 rjmp .L170
  2167. 2129 .L175:
  2168. 2130 00c4 80E0 ldi r24,0
  2169. 2131 00c6 90E0 ldi r25,0
  2170. 2132 .L170:
  2171. 2133 /* epilogue start */
  2172. 2134 00c8 0F90 pop __tmp_reg__
  2173. 2135 00ca 0F90 pop __tmp_reg__
  2174. 2136 00cc 0F90 pop __tmp_reg__
  2175. 2137 00ce 0F90 pop __tmp_reg__
  2176. 2138 00d0 DF91 pop r29
  2177. 2139 00d2 CF91 pop r28
  2178. 2140 00d4 1F91 pop r17
  2179. 2141 00d6 0F91 pop r16
  2180. 2142 00d8 FF90 pop r15
  2181. 2143 00da EF90 pop r14
  2182. 2144 00dc DF90 pop r13
  2183. 2145 00de CF90 pop r12
  2184. 2146 00e0 BF90 pop r11
  2185. 2147 00e2 AF90 pop r10
  2186. 2148 00e4 9F90 pop r9
  2187. 2149 00e6 8F90 pop r8
  2188. 2150 00e8 7F90 pop r7
  2189. 2151 00ea 6F90 pop r6
  2190. 2152 00ec 5F90 pop r5
  2191. 2153 00ee 4F90 pop r4
  2192. 2154 00f0 0895 ret
  2193. 2155 .size AsnBitStringParse, .-AsnBitStringParse
  2194. 2156 .section .text.AsnBitStringBuild,"ax",@progbits
  2195. 2157 .global AsnBitStringBuild
  2196. 2158 .type AsnBitStringBuild, @function
  2197. 2159 AsnBitStringBuild:
  2198. 2160 0000 CF92 push r12
  2199. 2161 0002 DF92 push r13
  2200. 2162 0004 EF92 push r14
  2201. 2163 0006 FF92 push r15
  2202. 2164 0008 0F93 push r16
  2203. 2165 000a 1F93 push r17
  2204. 2166 000c CF93 push r28
  2205. GAS LISTING /tmp/ccAnO6a9.s page 39
  2206. 2167 000e DF93 push r29
  2207. 2168 /* prologue: function */
  2208. 2169 /* frame size = 0 */
  2209. 2170 /* stack size = 8 */
  2210. 2171 .L__stack_usage = 8
  2211. 2172 0010 7B01 movw r14,r22
  2212. 2173 0012 6901 movw r12,r18
  2213. 2174 0014 9801 movw r18,r16
  2214. 2175 0016 0E94 0000 call AsnHeaderBuild
  2215. 2176 001a EC01 movw r28,r24
  2216. 2177 001c 0097 sbiw r24,0
  2217. 2178 001e 01F0 breq .L180
  2218. 2179 0020 0115 cp r16,__zero_reg__
  2219. 2180 0022 1105 cpc r17,__zero_reg__
  2220. 2181 0024 01F0 breq .L177
  2221. 2182 0026 F701 movw r30,r14
  2222. 2183 0028 8081 ld r24,Z
  2223. 2184 002a 9181 ldd r25,Z+1
  2224. 2185 002c 8017 cp r24,r16
  2225. 2186 002e 9107 cpc r25,r17
  2226. 2187 0030 00F0 brlo .L180
  2227. 2188 0032 A801 movw r20,r16
  2228. 2189 0034 B601 movw r22,r12
  2229. 2190 0036 CE01 movw r24,r28
  2230. 2191 0038 0E94 0000 call memcpy
  2231. 2192 003c F701 movw r30,r14
  2232. 2193 003e 8081 ld r24,Z
  2233. 2194 0040 9181 ldd r25,Z+1
  2234. 2195 0042 801B sub r24,r16
  2235. 2196 0044 910B sbc r25,r17
  2236. 2197 0046 9183 std Z+1,r25
  2237. 2198 0048 8083 st Z,r24
  2238. 2199 004a CE01 movw r24,r28
  2239. 2200 004c 800F add r24,r16
  2240. 2201 004e 911F adc r25,r17
  2241. 2202 0050 00C0 rjmp .L177
  2242. 2203 .L180:
  2243. 2204 0052 80E0 ldi r24,0
  2244. 2205 0054 90E0 ldi r25,0
  2245. 2206 .L177:
  2246. 2207 /* epilogue start */
  2247. 2208 0056 DF91 pop r29
  2248. 2209 0058 CF91 pop r28
  2249. 2210 005a 1F91 pop r17
  2250. 2211 005c 0F91 pop r16
  2251. 2212 005e FF90 pop r15
  2252. 2213 0060 EF90 pop r14
  2253. 2214 0062 DF90 pop r13
  2254. 2215 0064 CF90 pop r12
  2255. 2216 0066 0895 ret
  2256. 2217 .size AsnBitStringBuild, .-AsnBitStringBuild
  2257. 2218 .section .text.AsnUnsigned64Parse,"ax",@progbits
  2258. 2219 .global AsnUnsigned64Parse
  2259. 2220 .type AsnUnsigned64Parse, @function
  2260. 2221 AsnUnsigned64Parse:
  2261. 2222 0000 4F92 push r4
  2262. 2223 0002 5F92 push r5
  2263. GAS LISTING /tmp/ccAnO6a9.s page 40
  2264. 2224 0004 6F92 push r6
  2265. 2225 0006 7F92 push r7
  2266. 2226 0008 8F92 push r8
  2267. 2227 000a 9F92 push r9
  2268. 2228 000c AF92 push r10
  2269. 2229 000e BF92 push r11
  2270. 2230 0010 CF92 push r12
  2271. 2231 0012 DF92 push r13
  2272. 2232 0014 EF92 push r14
  2273. 2233 0016 FF92 push r15
  2274. 2234 0018 0F93 push r16
  2275. 2235 001a 1F93 push r17
  2276. 2236 001c CF93 push r28
  2277. 2237 001e DF93 push r29
  2278. 2238 0020 00D0 rcall .
  2279. 2239 0022 1F92 push __zero_reg__
  2280. 2240 0024 CDB7 in r28,__SP_L__
  2281. 2241 0026 DEB7 in r29,__SP_H__
  2282. 2242 /* prologue: function */
  2283. 2243 /* frame size = 4 */
  2284. 2244 /* stack size = 20 */
  2285. 2245 .L__stack_usage = 20
  2286. 2246 0028 6C01 movw r12,r24
  2287. 2247 002a 7B01 movw r14,r22
  2288. 2248 002c 8901 movw r16,r18
  2289. 2249 002e DC01 movw r26,r24
  2290. 2250 0030 8C91 ld r24,X
  2291. 2251 0032 FA01 movw r30,r20
  2292. 2252 0034 8083 st Z,r24
  2293. 2253 0036 BE01 movw r22,r28
  2294. 2254 0038 6F5F subi r22,-1
  2295. 2255 003a 7F4F sbci r23,-1
  2296. 2256 003c C601 movw r24,r12
  2297. 2257 003e 0196 adiw r24,1
  2298. 2258 0040 0E94 0000 call AsnLenParse
  2299. 2259 0044 0097 sbiw r24,0
  2300. 2260 0046 01F4 brne .+2
  2301. 2261 0048 00C0 rjmp .L189
  2302. 2262 004a FC01 movw r30,r24
  2303. 2263 004c EC19 sub r30,r12
  2304. 2264 004e FD09 sbc r31,r13
  2305. 2265 0050 4981 ldd r20,Y+1
  2306. 2266 0052 5A81 ldd r21,Y+2
  2307. 2267 0054 6B81 ldd r22,Y+3
  2308. 2268 0056 7C81 ldd r23,Y+4
  2309. 2269 0058 D701 movw r26,r14
  2310. 2270 005a 2D91 ld r18,X+
  2311. 2271 005c 3C91 ld r19,X
  2312. 2272 005e 4F01 movw r8,r30
  2313. 2273 0060 0F2E mov __tmp_reg__,r31
  2314. 2274 0062 000C lsl r0
  2315. 2275 0064 AA08 sbc r10,r10
  2316. 2276 0066 BB08 sbc r11,r11
  2317. 2277 0068 840E add r8,r20
  2318. 2278 006a 951E adc r9,r21
  2319. 2279 006c A61E adc r10,r22
  2320. 2280 006e B71E adc r11,r23
  2321. GAS LISTING /tmp/ccAnO6a9.s page 41
  2322. 2281 0070 2901 movw r4,r18
  2323. 2282 0072 612C mov r6,__zero_reg__
  2324. 2283 0074 712C mov r7,__zero_reg__
  2325. 2284 0076 4814 cp r4,r8
  2326. 2285 0078 5904 cpc r5,r9
  2327. 2286 007a 6A04 cpc r6,r10
  2328. 2287 007c 7B04 cpc r7,r11
  2329. 2288 007e 00F4 brsh .+2
  2330. 2289 0080 00C0 rjmp .L189
  2331. 2290 0082 4A30 cpi r20,10
  2332. 2291 0084 5105 cpc r21,__zero_reg__
  2333. 2292 0086 6105 cpc r22,__zero_reg__
  2334. 2293 0088 7105 cpc r23,__zero_reg__
  2335. 2294 008a 00F0 brlo .+2
  2336. 2295 008c 00C0 rjmp .L189
  2337. 2296 008e 4930 cpi r20,9
  2338. 2297 0090 5105 cpc r21,__zero_reg__
  2339. 2298 0092 6105 cpc r22,__zero_reg__
  2340. 2299 0094 7105 cpc r23,__zero_reg__
  2341. 2300 0096 01F4 brne .L183
  2342. 2301 0098 DC01 movw r26,r24
  2343. 2302 009a DC90 ld r13,X
  2344. 2303 009c D110 cpse r13,__zero_reg__
  2345. 2304 009e 00C0 rjmp .L189
  2346. 2305 .L183:
  2347. 2306 00a0 4E0F add r20,r30
  2348. 2307 00a2 5F1F adc r21,r31
  2349. 2308 00a4 241B sub r18,r20
  2350. 2309 00a6 350B sbc r19,r21
  2351. 2310 00a8 F701 movw r30,r14
  2352. 2311 00aa 3183 std Z+1,r19
  2353. 2312 00ac 2083 st Z,r18
  2354. 2313 00ae DC01 movw r26,r24
  2355. 2314 00b0 4C91 ld r20,X
  2356. 2315 00b2 042E mov __tmp_reg__,r20
  2357. 2316 00b4 000C lsl r0
  2358. 2317 00b6 550B sbc r21,r21
  2359. 2318 00b8 660B sbc r22,r22
  2360. 2319 00ba 770B sbc r23,r23
  2361. 2320 00bc 770F lsl r23
  2362. 2321 00be 440B sbc r20,r20
  2363. 2322 00c0 542F mov r21,r20
  2364. 2323 00c2 BA01 movw r22,r20
  2365. 2324 00c4 6A01 movw r12,r20
  2366. 2325 00c6 7B01 movw r14,r22
  2367. 2326 .L184:
  2368. 2327 00c8 FC01 movw r30,r24
  2369. 2328 00ca 8980 ldd r8,Y+1
  2370. 2329 00cc 9A80 ldd r9,Y+2
  2371. 2330 00ce AB80 ldd r10,Y+3
  2372. 2331 00d0 BC80 ldd r11,Y+4
  2373. 2332 00d2 2401 movw r4,r8
  2374. 2333 00d4 3501 movw r6,r10
  2375. 2334 00d6 B1E0 ldi r27,1
  2376. 2335 00d8 4B1A sub r4,r27
  2377. 2336 00da 5108 sbc r5,__zero_reg__
  2378. 2337 00dc 6108 sbc r6,__zero_reg__
  2379. GAS LISTING /tmp/ccAnO6a9.s page 42
  2380. 2338 00de 7108 sbc r7,__zero_reg__
  2381. 2339 00e0 4982 std Y+1,r4
  2382. 2340 00e2 5A82 std Y+2,r5
  2383. 2341 00e4 6B82 std Y+3,r6
  2384. 2342 00e6 7C82 std Y+4,r7
  2385. 2343 00e8 8928 or r8,r9
  2386. 2344 00ea 8A28 or r8,r10
  2387. 2345 00ec 8B28 or r8,r11
  2388. 2346 00ee 01F0 breq .L190
  2389. 2347 00f0 762F mov r23,r22
  2390. 2348 00f2 652F mov r22,r21
  2391. 2349 00f4 542F mov r21,r20
  2392. 2350 00f6 4427 clr r20
  2393. 2351 00f8 8F2C mov r8,r15
  2394. 2352 00fa 9924 clr r9
  2395. 2353 00fc AA24 clr r10
  2396. 2354 00fe BB24 clr r11
  2397. 2355 0100 4829 or r20,r8
  2398. 2356 0102 5929 or r21,r9
  2399. 2357 0104 6A29 or r22,r10
  2400. 2358 0106 7B29 or r23,r11
  2401. 2359 0108 FE2C mov r15,r14
  2402. 2360 010a ED2C mov r14,r13
  2403. 2361 010c DC2C mov r13,r12
  2404. 2362 010e CC24 clr r12
  2405. 2363 0110 0196 adiw r24,1
  2406. 2364 0112 2081 ld r18,Z
  2407. 2365 0114 C22A or r12,r18
  2408. 2366 0116 00C0 rjmp .L184
  2409. 2367 .L190:
  2410. 2368 0118 F801 movw r30,r16
  2411. 2369 011a C482 std Z+4,r12
  2412. 2370 011c D582 std Z+5,r13
  2413. 2371 011e E682 std Z+6,r14
  2414. 2372 0120 F782 std Z+7,r15
  2415. 2373 0122 4083 st Z,r20
  2416. 2374 0124 5183 std Z+1,r21
  2417. 2375 0126 6283 std Z+2,r22
  2418. 2376 0128 7383 std Z+3,r23
  2419. 2377 012a 00C0 rjmp .L182
  2420. 2378 .L189:
  2421. 2379 012c 80E0 ldi r24,0
  2422. 2380 012e 90E0 ldi r25,0
  2423. 2381 .L182:
  2424. 2382 /* epilogue start */
  2425. 2383 0130 0F90 pop __tmp_reg__
  2426. 2384 0132 0F90 pop __tmp_reg__
  2427. 2385 0134 0F90 pop __tmp_reg__
  2428. 2386 0136 0F90 pop __tmp_reg__
  2429. 2387 0138 DF91 pop r29
  2430. 2388 013a CF91 pop r28
  2431. 2389 013c 1F91 pop r17
  2432. 2390 013e 0F91 pop r16
  2433. 2391 0140 FF90 pop r15
  2434. 2392 0142 EF90 pop r14
  2435. 2393 0144 DF90 pop r13
  2436. 2394 0146 CF90 pop r12
  2437. GAS LISTING /tmp/ccAnO6a9.s page 43
  2438. 2395 0148 BF90 pop r11
  2439. 2396 014a AF90 pop r10
  2440. 2397 014c 9F90 pop r9
  2441. 2398 014e 8F90 pop r8
  2442. 2399 0150 7F90 pop r7
  2443. 2400 0152 6F90 pop r6
  2444. 2401 0154 5F90 pop r5
  2445. 2402 0156 4F90 pop r4
  2446. 2403 0158 0895 ret
  2447. 2404 .size AsnUnsigned64Parse, .-AsnUnsigned64Parse
  2448. 2405 .section .text.AsnUnsigned64Build,"ax",@progbits
  2449. 2406 .global AsnUnsigned64Build
  2450. 2407 .type AsnUnsigned64Build, @function
  2451. 2408 AsnUnsigned64Build:
  2452. 2409 0000 4F92 push r4
  2453. 2410 0002 5F92 push r5
  2454. 2411 0004 6F92 push r6
  2455. 2412 0006 7F92 push r7
  2456. 2413 0008 AF92 push r10
  2457. 2414 000a BF92 push r11
  2458. 2415 000c CF92 push r12
  2459. 2416 000e DF92 push r13
  2460. 2417 0010 EF92 push r14
  2461. 2418 0012 FF92 push r15
  2462. 2419 0014 0F93 push r16
  2463. 2420 0016 1F93 push r17
  2464. 2421 0018 CF93 push r28
  2465. 2422 001a DF93 push r29
  2466. 2423 /* prologue: function */
  2467. 2424 /* frame size = 0 */
  2468. 2425 /* stack size = 14 */
  2469. 2426 .L__stack_usage = 14
  2470. 2427 001c 8B01 movw r16,r22
  2471. 2428 001e 642F mov r22,r20
  2472. 2429 0020 F901 movw r30,r18
  2473. 2430 0022 4480 ldd r4,Z+4
  2474. 2431 0024 5580 ldd r5,Z+5
  2475. 2432 0026 6680 ldd r6,Z+6
  2476. 2433 0028 7780 ldd r7,Z+7
  2477. 2434 002a C080 ld r12,Z
  2478. 2435 002c D180 ldd r13,Z+1
  2479. 2436 002e E280 ldd r14,Z+2
  2480. 2437 0030 F380 ldd r15,Z+3
  2481. 2438 0032 F7FE sbrs r15,7
  2482. 2439 0034 00C0 rjmp .L201
  2483. 2440 0036 C9E0 ldi r28,lo8(9)
  2484. 2441 0038 D0E0 ldi r29,0
  2485. 2442 003a AA24 clr r10
  2486. 2443 003c A394 inc r10
  2487. 2444 003e B12C mov r11,__zero_reg__
  2488. 2445 0040 00C0 rjmp .L193
  2489. 2446 .L201:
  2490. 2447 0042 C8E0 ldi r28,lo8(8)
  2491. 2448 0044 D0E0 ldi r29,0
  2492. 2449 0046 A12C mov r10,__zero_reg__
  2493. 2450 0048 B12C mov r11,__zero_reg__
  2494. 2451 004a 00C0 rjmp .L193
  2495. GAS LISTING /tmp/ccAnO6a9.s page 44
  2496. 2452 .L207:
  2497. 2453 004c 2115 cp r18,__zero_reg__
  2498. 2454 004e 3105 cpc r19,__zero_reg__
  2499. 2455 0050 4048 sbci r20,-128
  2500. 2456 0052 5F4F sbci r21,-1
  2501. 2457 0054 01F4 brne .L195
  2502. 2458 .L194:
  2503. 2459 0056 C130 cpi r28,1
  2504. 2460 0058 D105 cpc r29,__zero_reg__
  2505. 2461 005a 01F0 breq .L195
  2506. 2462 005c 2197 sbiw r28,1
  2507. 2463 005e FE2C mov r15,r14
  2508. 2464 0060 ED2C mov r14,r13
  2509. 2465 0062 DC2C mov r13,r12
  2510. 2466 0064 CC24 clr r12
  2511. 2467 0066 272D mov r18,r7
  2512. 2468 0068 3327 clr r19
  2513. 2469 006a 4427 clr r20
  2514. 2470 006c 5527 clr r21
  2515. 2471 006e C22A or r12,r18
  2516. 2472 0070 D32A or r13,r19
  2517. 2473 0072 E42A or r14,r20
  2518. 2474 0074 F52A or r15,r21
  2519. 2475 0076 762C mov r7,r6
  2520. 2476 0078 652C mov r6,r5
  2521. 2477 007a 542C mov r5,r4
  2522. 2478 007c 4424 clr r4
  2523. 2479 .L193:
  2524. 2480 007e A701 movw r20,r14
  2525. 2481 0080 9601 movw r18,r12
  2526. 2482 0082 2227 clr r18
  2527. 2483 0084 3327 clr r19
  2528. 2484 0086 4078 andi r20,128
  2529. 2485 0088 2115 cp r18,__zero_reg__
  2530. 2486 008a 3105 cpc r19,__zero_reg__
  2531. 2487 008c 4105 cpc r20,__zero_reg__
  2532. 2488 008e 5105 cpc r21,__zero_reg__
  2533. 2489 0090 01F0 breq .L194
  2534. 2490 0092 00C0 rjmp .L207
  2535. 2491 .L195:
  2536. 2492 0094 9E01 movw r18,r28
  2537. 2493 0096 462F mov r20,r22
  2538. 2494 0098 B801 movw r22,r16
  2539. 2495 009a 0E94 0000 call AsnHeaderBuild
  2540. 2496 009e 0097 sbiw r24,0
  2541. 2497 00a0 01F0 breq .L203
  2542. 2498 00a2 F801 movw r30,r16
  2543. 2499 00a4 2081 ld r18,Z
  2544. 2500 00a6 3181 ldd r19,Z+1
  2545. 2501 00a8 2C17 cp r18,r28
  2546. 2502 00aa 3D07 cpc r19,r29
  2547. 2503 00ac 00F0 brlo .L203
  2548. 2504 00ae 2C1B sub r18,r28
  2549. 2505 00b0 3D0B sbc r19,r29
  2550. 2506 00b2 3183 std Z+1,r19
  2551. 2507 00b4 2083 st Z,r18
  2552. 2508 00b6 AA94 dec r10
  2553. GAS LISTING /tmp/ccAnO6a9.s page 45
  2554. 2509 00b8 AB28 or r10,r11
  2555. 2510 00ba 01F4 brne .L198
  2556. 2511 00bc FC01 movw r30,r24
  2557. 2512 00be 1082 st Z,__zero_reg__
  2558. 2513 00c0 2197 sbiw r28,1
  2559. 2514 00c2 0196 adiw r24,1
  2560. 2515 .L198:
  2561. 2516 00c4 FC01 movw r30,r24
  2562. 2517 00c6 8C0F add r24,r28
  2563. 2518 00c8 9D1F adc r25,r29
  2564. 2519 .L199:
  2565. 2520 00ca 8E17 cp r24,r30
  2566. 2521 00cc 9F07 cpc r25,r31
  2567. 2522 00ce 01F0 breq .L197
  2568. 2523 00d0 F192 st Z+,r15
  2569. 2524 00d2 FE2C mov r15,r14
  2570. 2525 00d4 ED2C mov r14,r13
  2571. 2526 00d6 DC2C mov r13,r12
  2572. 2527 00d8 CC24 clr r12
  2573. 2528 00da 472D mov r20,r7
  2574. 2529 00dc 5527 clr r21
  2575. 2530 00de 6627 clr r22
  2576. 2531 00e0 7727 clr r23
  2577. 2532 00e2 C42A or r12,r20
  2578. 2533 00e4 D52A or r13,r21
  2579. 2534 00e6 E62A or r14,r22
  2580. 2535 00e8 F72A or r15,r23
  2581. 2536 00ea 762C mov r7,r6
  2582. 2537 00ec 652C mov r6,r5
  2583. 2538 00ee 542C mov r5,r4
  2584. 2539 00f0 4424 clr r4
  2585. 2540 00f2 00C0 rjmp .L199
  2586. 2541 .L203:
  2587. 2542 00f4 80E0 ldi r24,0
  2588. 2543 00f6 90E0 ldi r25,0
  2589. 2544 .L197:
  2590. 2545 /* epilogue start */
  2591. 2546 00f8 DF91 pop r29
  2592. 2547 00fa CF91 pop r28
  2593. 2548 00fc 1F91 pop r17
  2594. 2549 00fe 0F91 pop r16
  2595. 2550 0100 FF90 pop r15
  2596. 2551 0102 EF90 pop r14
  2597. 2552 0104 DF90 pop r13
  2598. 2553 0106 CF90 pop r12
  2599. 2554 0108 BF90 pop r11
  2600. 2555 010a AF90 pop r10
  2601. 2556 010c 7F90 pop r7
  2602. 2557 010e 6F90 pop r6
  2603. 2558 0110 5F90 pop r5
  2604. 2559 0112 4F90 pop r4
  2605. 2560 0114 0895 ret
  2606. 2561 .size AsnUnsigned64Build, .-AsnUnsigned64Build
  2607. 2562 .ident "GCC: (GNU) 5.3.0"
  2608. GAS LISTING /tmp/ccAnO6a9.s page 46
  2609. DEFINED SYMBOLS
  2610. *ABS*:0000000000000000 asn1.c
  2611. /tmp/ccAnO6a9.s:2 *ABS*:000000000000003e __SP_H__
  2612. /tmp/ccAnO6a9.s:3 *ABS*:000000000000003d __SP_L__
  2613. /tmp/ccAnO6a9.s:4 *ABS*:000000000000003f __SREG__
  2614. /tmp/ccAnO6a9.s:5 *ABS*:000000000000003b __RAMPZ__
  2615. /tmp/ccAnO6a9.s:6 *ABS*:0000000000000000 __tmp_reg__
  2616. /tmp/ccAnO6a9.s:7 *ABS*:0000000000000001 __zero_reg__
  2617. /tmp/ccAnO6a9.s:10 .text.AsnLenParse:0000000000000000 AsnLenParse
  2618. /tmp/ccAnO6a9.s:81 .text.AsnHeaderParse:0000000000000000 AsnHeaderParse
  2619. /tmp/ccAnO6a9.s:177 .text.AsnHeaderBuild:0000000000000000 AsnHeaderBuild
  2620. /tmp/ccAnO6a9.s:251 .text.AsnSequenceParse:0000000000000000 AsnSequenceParse
  2621. /tmp/ccAnO6a9.s:285 .text.AsnSequenceBuild:0000000000000000 AsnSequenceBuild
  2622. /tmp/ccAnO6a9.s:317 .text.AsnIntegerParse:0000000000000000 AsnIntegerParse
  2623. /tmp/ccAnO6a9.s:499 .text.AsnIntegerBuild:0000000000000000 AsnIntegerBuild
  2624. /tmp/ccAnO6a9.s:605 .text.AsnUnsignedParse:0000000000000000 AsnUnsignedParse
  2625. /tmp/ccAnO6a9.s:801 .text.AsnUnsignedBuild:0000000000000000 AsnUnsignedBuild
  2626. /tmp/ccAnO6a9.s:919 .text.AsnOctetStringParse:0000000000000000 AsnOctetStringParse
  2627. /tmp/ccAnO6a9.s:1052 .text.AsnOctetStringBuild:0000000000000000 AsnOctetStringBuild
  2628. /tmp/ccAnO6a9.s:1121 .text.AsnOidParse:0000000000000000 AsnOidParse
  2629. /tmp/ccAnO6a9.s:1392 .text.AsnOidBuild:0000000000000000 AsnOidBuild
  2630. /tmp/ccAnO6a9.s:1948 .text.AsnNullParse:0000000000000000 AsnNullParse
  2631. /tmp/ccAnO6a9.s:2016 .text.AsnNullBuild:0000000000000000 AsnNullBuild
  2632. /tmp/ccAnO6a9.s:2028 .text.AsnBitStringParse:0000000000000000 AsnBitStringParse
  2633. /tmp/ccAnO6a9.s:2159 .text.AsnBitStringBuild:0000000000000000 AsnBitStringBuild
  2634. /tmp/ccAnO6a9.s:2221 .text.AsnUnsigned64Parse:0000000000000000 AsnUnsigned64Parse
  2635. /tmp/ccAnO6a9.s:2408 .text.AsnUnsigned64Build:0000000000000000 AsnUnsigned64Build
  2636. UNDEFINED SYMBOLS
  2637. memcpy
  2638. memset
  2639. __udivmodsi4
  2640. __muluhisi3
  2641. malloc
  2642. free